I'm resubmitting this as I think while its effect is minimal in most
cases, it does still fix a bug. The current implemenation effectly halfs
the ip id space because of the off by one error. This could lead to
problems on LFNs.



The socket ip id currently gets incremented by 1 + the number of
segments leading to an increment of 2 in the standard non-TSO case.
This patch fixes 'more' to be a count of extra segments.

Signed-off-by: Thomas Young <[EMAIL PROTECTED]>
---

diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
--- a/net/ipv4/ip_output.c
+++ b/net/ipv4/ip_output.c
@@ -352,7 +352,7 @@ packet_routed:
                ip_options_build(skb, opt, inet->daddr, rt, 0);
        }
 
-       ip_select_ident_more(iph, &rt->u.dst, sk, skb_shinfo(skb)->tso_segs);
+       ip_select_ident_more(iph, &rt->u.dst, sk, skb_shinfo(skb)->tso_segs -
1);
 
        /* Add an IP checksum. */
        ip_send_check(iph);


-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to