]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/ipv4/geneve.c
fib_trie: Fix RCU bug and merge similar bits of inflate/halve
[karo-tx-linux.git] / net / ipv4 / geneve.c
index 5b52046ec7a2e134de93ad39fa0dc4c1523fc9c0..93e51199e44b5c4adc5dc04f8e9a4492211008e8 100644 (file)
@@ -119,7 +119,7 @@ int geneve_xmit_skb(struct geneve_sock *gs, struct rtable *rt,
 
        min_headroom = LL_RESERVED_SPACE(rt->dst.dev) + rt->dst.header_len
                        + GENEVE_BASE_HLEN + opt_len + sizeof(struct iphdr)
-                       + (vlan_tx_tag_present(skb) ? VLAN_HLEN : 0);
+                       + (skb_vlan_tag_present(skb) ? VLAN_HLEN : 0);
 
        err = skb_cow_head(skb, min_headroom);
        if (unlikely(err)) {
@@ -136,8 +136,9 @@ int geneve_xmit_skb(struct geneve_sock *gs, struct rtable *rt,
 
        skb_set_inner_protocol(skb, htons(ETH_P_TEB));
 
-       return udp_tunnel_xmit_skb(gs->sock, rt, skb, src, dst,
-                                  tos, ttl, df, src_port, dst_port, xnet);
+       return udp_tunnel_xmit_skb(rt, skb, src, dst,
+                                  tos, ttl, df, src_port, dst_port, xnet,
+                                  gs->sock->sk->sk_no_check_tx);
 }
 EXPORT_SYMBOL_GPL(geneve_xmit_skb);
 
@@ -147,7 +148,8 @@ static int geneve_hlen(struct genevehdr *gh)
 }
 
 static struct sk_buff **geneve_gro_receive(struct sk_buff **head,
-                                          struct sk_buff *skb)
+                                          struct sk_buff *skb,
+                                          struct udp_offload *uoff)
 {
        struct sk_buff *p, **pp = NULL;
        struct genevehdr *gh, *gh2;
@@ -211,7 +213,8 @@ out:
        return pp;
 }
 
-static int geneve_gro_complete(struct sk_buff *skb, int nhoff)
+static int geneve_gro_complete(struct sk_buff *skb, int nhoff,
+                              struct udp_offload *uoff)
 {
        struct genevehdr *gh;
        struct packet_offload *ptype;