On Wed, 6 Sept 2023 at 10:27, Mark Tinka <mark@tinka.africa> wrote:
I recognize what happens in the real world, not in the lab or text books.
Fun fact about the real world, devices do not internally guarantee order. That is, even if you have identical latency links, 0 congestion, order is not guaranteed between packet1 coming from interfaceI1 and packet2 coming from interfaceI2, which packet first goes to interfaceE1 is unspecified. This is because packets inside lookup engine can be sprayed to multiple lookup engines, and order is lost even for packets coming from interface1 exclusively, however after the lookup the order is restored for _flow_, it is not restored between flows, so packets coming from interface1 with random ports won't be same order going out from interface2. So order is only restored inside a single lookup complex (interfaces are not guaranteed to be in the same complex) and only for actual flows. It is designed this way, because no one runs networks which rely on order outside these parameters, and no one even knows their kit works like this, because they don't have to. -- ++ytti