diff options
| -rw-r--r-- | drivers/net/vxlan.c | 20 | ||||
| -rw-r--r-- | net/ipv4/geneve.c | 8 |
2 files changed, 14 insertions, 14 deletions
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index f8528a4cf54f..fceb637efd6b 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c | |||
| @@ -1713,12 +1713,6 @@ static int vxlan6_xmit_skb(struct dst_entry *dst, struct sk_buff *skb, | |||
| 1713 | } | 1713 | } |
| 1714 | } | 1714 | } |
| 1715 | 1715 | ||
| 1716 | skb = iptunnel_handle_offloads(skb, udp_sum, type); | ||
| 1717 | if (IS_ERR(skb)) { | ||
| 1718 | err = -EINVAL; | ||
| 1719 | goto err; | ||
| 1720 | } | ||
| 1721 | |||
| 1722 | skb_scrub_packet(skb, xnet); | 1716 | skb_scrub_packet(skb, xnet); |
| 1723 | 1717 | ||
| 1724 | min_headroom = LL_RESERVED_SPACE(dst->dev) + dst->header_len | 1718 | min_headroom = LL_RESERVED_SPACE(dst->dev) + dst->header_len |
| @@ -1738,6 +1732,12 @@ static int vxlan6_xmit_skb(struct dst_entry *dst, struct sk_buff *skb, | |||
| 1738 | goto err; | 1732 | goto err; |
| 1739 | } | 1733 | } |
| 1740 | 1734 | ||
| 1735 | skb = iptunnel_handle_offloads(skb, udp_sum, type); | ||
| 1736 | if (IS_ERR(skb)) { | ||
| 1737 | err = -EINVAL; | ||
| 1738 | goto err; | ||
| 1739 | } | ||
| 1740 | |||
| 1741 | vxh = (struct vxlanhdr *) __skb_push(skb, sizeof(*vxh)); | 1741 | vxh = (struct vxlanhdr *) __skb_push(skb, sizeof(*vxh)); |
| 1742 | vxh->vx_flags = htonl(VXLAN_HF_VNI); | 1742 | vxh->vx_flags = htonl(VXLAN_HF_VNI); |
| 1743 | vxh->vx_vni = md->vni; | 1743 | vxh->vx_vni = md->vni; |
| @@ -1798,10 +1798,6 @@ int vxlan_xmit_skb(struct rtable *rt, struct sk_buff *skb, | |||
| 1798 | } | 1798 | } |
| 1799 | } | 1799 | } |
| 1800 | 1800 | ||
| 1801 | skb = iptunnel_handle_offloads(skb, udp_sum, type); | ||
| 1802 | if (IS_ERR(skb)) | ||
| 1803 | return PTR_ERR(skb); | ||
| 1804 | |||
| 1805 | min_headroom = LL_RESERVED_SPACE(rt->dst.dev) + rt->dst.header_len | 1801 | min_headroom = LL_RESERVED_SPACE(rt->dst.dev) + rt->dst.header_len |
| 1806 | + VXLAN_HLEN + sizeof(struct iphdr) | 1802 | + VXLAN_HLEN + sizeof(struct iphdr) |
| 1807 | + (skb_vlan_tag_present(skb) ? VLAN_HLEN : 0); | 1803 | + (skb_vlan_tag_present(skb) ? VLAN_HLEN : 0); |
| @@ -1817,6 +1813,10 @@ int vxlan_xmit_skb(struct rtable *rt, struct sk_buff *skb, | |||
| 1817 | if (WARN_ON(!skb)) | 1813 | if (WARN_ON(!skb)) |
| 1818 | return -ENOMEM; | 1814 | return -ENOMEM; |
| 1819 | 1815 | ||
| 1816 | skb = iptunnel_handle_offloads(skb, udp_sum, type); | ||
| 1817 | if (IS_ERR(skb)) | ||
| 1818 | return PTR_ERR(skb); | ||
| 1819 | |||
| 1820 | vxh = (struct vxlanhdr *) __skb_push(skb, sizeof(*vxh)); | 1820 | vxh = (struct vxlanhdr *) __skb_push(skb, sizeof(*vxh)); |
| 1821 | vxh->vx_flags = htonl(VXLAN_HF_VNI); | 1821 | vxh->vx_flags = htonl(VXLAN_HF_VNI); |
| 1822 | vxh->vx_vni = md->vni; | 1822 | vxh->vx_vni = md->vni; |
diff --git a/net/ipv4/geneve.c b/net/ipv4/geneve.c index 5a4828ba05ad..a566a2e4715b 100644 --- a/net/ipv4/geneve.c +++ b/net/ipv4/geneve.c | |||
| @@ -113,10 +113,6 @@ int geneve_xmit_skb(struct geneve_sock *gs, struct rtable *rt, | |||
| 113 | int min_headroom; | 113 | int min_headroom; |
| 114 | int err; | 114 | int err; |
| 115 | 115 | ||
| 116 | skb = udp_tunnel_handle_offloads(skb, csum); | ||
| 117 | if (IS_ERR(skb)) | ||
| 118 | return PTR_ERR(skb); | ||
| 119 | |||
| 120 | min_headroom = LL_RESERVED_SPACE(rt->dst.dev) + rt->dst.header_len | 116 | min_headroom = LL_RESERVED_SPACE(rt->dst.dev) + rt->dst.header_len |
| 121 | + GENEVE_BASE_HLEN + opt_len + sizeof(struct iphdr) | 117 | + GENEVE_BASE_HLEN + opt_len + sizeof(struct iphdr) |
| 122 | + (skb_vlan_tag_present(skb) ? VLAN_HLEN : 0); | 118 | + (skb_vlan_tag_present(skb) ? VLAN_HLEN : 0); |
| @@ -131,6 +127,10 @@ int geneve_xmit_skb(struct geneve_sock *gs, struct rtable *rt, | |||
| 131 | if (unlikely(!skb)) | 127 | if (unlikely(!skb)) |
| 132 | return -ENOMEM; | 128 | return -ENOMEM; |
| 133 | 129 | ||
| 130 | skb = udp_tunnel_handle_offloads(skb, csum); | ||
| 131 | if (IS_ERR(skb)) | ||
| 132 | return PTR_ERR(skb); | ||
| 133 | |||
| 134 | gnvh = (struct genevehdr *)__skb_push(skb, sizeof(*gnvh) + opt_len); | 134 | gnvh = (struct genevehdr *)__skb_push(skb, sizeof(*gnvh) + opt_len); |
| 135 | geneve_build_header(gnvh, tun_flags, vni, opt_len, opt); | 135 | geneve_build_header(gnvh, tun_flags, vni, opt_len, opt); |
| 136 | 136 | ||
