Re: [PATCH] tcp: make urg+gso work for real this time
From: David Miller <davem@davemloft.net>
Date: 2008-12-26 02:00:49
From: David Miller <davem@davemloft.net>
Date: 2008-12-26 02:00:49
From: Herbert Xu <herbert@gondor.apana.org.au> Date: Fri, 26 Dec 2008 12:47:39 +1100
If all these packets are delivered in order, then what'll happen is that RCV.UP starts out at 65535, and once the final segment is delivered it'll be updated to 66240. If out-of-order delivery occurs and the final segment arrives earlier, then all that'll happen is that RCV.UP will hit 66240 earlier, which is not an issue since all subsequent urgent pointers will be less and hence ignored.
So it all hinges on how the receiver updates his URG pointer. This is what legitimizes a sender advertising a changing URG pointer. So it works, but it isn't the nicest thing in the world :-)