Signed-off-by: Pravin B Shelar <pshe...@ovn.org> --- datapath/linux/compat/gso.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-)
diff --git a/datapath/linux/compat/gso.c b/datapath/linux/compat/gso.c index 8368c6a..de9c8e1 100644 --- a/datapath/linux/compat/gso.c +++ b/datapath/linux/compat/gso.c @@ -266,17 +266,13 @@ static int output_ip(struct sk_buff *skb) int rpl_ip_local_out(struct net *net, struct sock *sk, struct sk_buff *skb) { int ret = NETDEV_TX_OK; - int id = -1; + int id; if (!OVS_GSO_CB(skb)->fix_segment) return output_ip(skb); skb->encapsulation = false; if (skb_is_gso(skb)) { - struct iphdr *iph; - - iph = ip_hdr(skb); - id = ntohs(iph->id); skb = tnl_skb_gso_segment(skb, 0, false, AF_INET); if (!skb || IS_ERR(skb)) return 0; @@ -286,17 +282,15 @@ int rpl_ip_local_out(struct net *net, struct sock *sk, struct sk_buff *skb) err = skb_checksum_help(skb); if (unlikely(err)) return 0; + return output_ip(skb); } + id = ntohs(ip_hdr(skb)->id); while (skb) { struct sk_buff *next_skb = skb->next; - struct iphdr *iph; skb->next = NULL; - - iph = ip_hdr(skb); - if (id >= 0) - iph->id = htons(id++); + ip_hdr(skb)->id = htons(id++); ret = output_ip(skb); skb = next_skb; -- 1.9.1 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev