netdev
[Top] [All Lists]

packet reordering

To: netdev@xxxxxxxxxxx
Subject: packet reordering
From: bert hubert <ahu@xxxxxxx>
Date: Sat, 14 Oct 2000 18:54:19 +0200
Sender: owner-netdev@xxxxxxxxxxx
Hi everybody,

In the course of working on the Linux Advanced Routing & Shaping HOWTO
(http://ds9a.nl/2.4Routing), I discovered something, which lead me to
writing this:

++++

 Caveats

 (...)

 FIXME: the packet reordering bit needs to be verified by an expert 

 Then there is the nasty problem of packet reordering. Let's say 6 packets
 need to be sent from A to B - eth1 might get 1, 3 and 5. eth2 would then do
 2, 4 and 6. In an ideal world, router B would receive this in order, 1, 2,
 3, 4, 5, 6. But the possibility is very real that the kernel gets it like
 this: 2, 1, 4, 3, 6, 5. The problem is that this confuses TCP/IP. While not
 a problem for links carrying many different TCP/IP sessions, you won't be
 able to to a bundle multiple links and get to ftp a single file lots
 faster.

 However, for lots of applications, link loadbalancing is a great idea. 

++++

Firstly, you are the mentioned 'experts', so please comment about my
explanation. Secondly, I was wondering if it would be possible to easily
make an ingress 'policer' that creates some latency, but does order TCP
packets on sequence number within that latency.

Would such a beast be possible? If you think it would be worthwile, I'll try
to code it.

Thirdly, I tried the normal ingress policer with the script as provided by
Alexey, but it gave me an error:

# tc qdisc add dev eth0 handle ffff: ingress
RTNETLINK answers: No such file or directory

I think I included everything needed in the kernel.

Thanks for your attention.

-- 
PowerDNS                     Versatile DNS Services  
Trilab                       The Technology People   
'SYN! .. SYN|ACK! .. ACK!' - the mating call of the internet

<Prev in Thread] Current Thread [Next in Thread>