Acknowledgement - switch only?

Comments and questions related to the "Down to the TLP" pages

Acknowledgement - switch only?

Postby Guest » Fri Feb 12, 2016 3:38 am

Even though the Data Link Layer gets a positive acknowledge, that only means that the packet made its way safely to the nearby switch. No end-to-end acknowledgment is ever made, and neither is it really necessary.

Not all PCIe links use a switch. Are you saying that only switches (and not endpoints) send acks?

Re: Acknowledgement - switch only?

Postby support » Fri Feb 12, 2016 7:57 am


All link partners must send acknowledges to the packets that arrive. The TLP is guaranteed to arrive (or this is a fundamental bus error, of the sort that crashes the computer).

What the cited sentence says, is that the link partner could be an external switch, so the acknowledgment is just for the first leg. Besides, even if the link partner is a processor, odds are that the acknowledgment is sent before the data has reached the processor's internal bus. There is always some kind of internal bridge, or maybe an internal PCIe switch, that eventually connects with the CPU's main bus (Northbridge or Southbridge, for example).

Posts: 760
Joined: Tue Apr 24, 2012 3:46 pm

Return to General PCIe