Message ID | 1364098248-1766-1-git-send-email-pshelar@nicira.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
From: Pravin B Shelar <pshelar@nicira.com> Date: Sat, 23 Mar 2013 21:10:48 -0700 > For TCP protocol ip-header id needs to be incremented even if > IP_DF flag is set. This behaviour was changed in commit > 490ab08127cebc25e3a26 (IP_GRE: Fix IP-Identification). > > Following patch fixes it so that identification is always > incremented for TCP. > > Reported-by: Cong Wang <amwang@redhat.com> > Signed-off-by: Pravin B Shelar <pshelar@nicira.com> We should do this increment for all protocols when DF is set, not just TCP. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index 9e5882c..4958b9d 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c @@ -1334,7 +1334,7 @@ static struct sk_buff *inet_gso_segment(struct sk_buff *skb, iph->frag_off |= htons(IP_MF); offset += (skb->len - skb->mac_len - iph->ihl * 4); } else { - if (!(iph->frag_off & htons(IP_DF))) + if (proto == IPPROTO_TCP || !(iph->frag_off & htons(IP_DF))) iph->id = htons(id++); } iph->tot_len = htons(skb->len - skb->mac_len);
For TCP protocol ip-header id needs to be incremented even if IP_DF flag is set. This behaviour was changed in commit 490ab08127cebc25e3a26 (IP_GRE: Fix IP-Identification). Following patch fixes it so that identification is always incremented for TCP. Reported-by: Cong Wang <amwang@redhat.com> Signed-off-by: Pravin B Shelar <pshelar@nicira.com> --- net/ipv4/af_inet.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)