]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - net/ipv6/ip6mr.c
arm: dts: tx6: add some aliases and a label for backlight@0
[karo-tx-linux.git] / net / ipv6 / ip6mr.c
index 03986d31fa417a357b72e529e28fea0de0294a9e..f365310bfcca30420a9cce321c1875d7f4319c21 100644 (file)
@@ -110,8 +110,8 @@ static struct kmem_cache *mrt_cachep __read_mostly;
 static struct mr6_table *ip6mr_new_table(struct net *net, u32 id);
 static void ip6mr_free_table(struct mr6_table *mrt);
 
-static int ip6_mr_forward(struct net *net, struct mr6_table *mrt,
-                         struct sk_buff *skb, struct mfc6_cache *cache);
+static void ip6_mr_forward(struct net *net, struct mr6_table *mrt,
+                          struct sk_buff *skb, struct mfc6_cache *cache);
 static int ip6mr_cache_report(struct mr6_table *mrt, struct sk_buff *pkt,
                              mifi_t mifi, int assert);
 static int __ip6mr_fill_mroute(struct mr6_table *mrt, struct sk_buff *skb,
@@ -672,9 +672,8 @@ static int pim6_rcv(struct sk_buff *skb)
        skb_reset_network_header(skb);
        skb->protocol = htons(ETH_P_IPV6);
        skb->ip_summed = CHECKSUM_NONE;
-       skb->pkt_type = PACKET_HOST;
 
-       skb_tunnel_rx(skb, reg_dev);
+       skb_tunnel_rx(skb, reg_dev, dev_net(reg_dev));
 
        netif_rx(skb);
 
@@ -2074,8 +2073,8 @@ static int ip6mr_find_vif(struct mr6_table *mrt, struct net_device *dev)
        return ct;
 }
 
-static int ip6_mr_forward(struct net *net, struct mr6_table *mrt,
-                         struct sk_buff *skb, struct mfc6_cache *cache)
+static void ip6_mr_forward(struct net *net, struct mr6_table *mrt,
+                          struct sk_buff *skb, struct mfc6_cache *cache)
 {
        int psend = -1;
        int vif, ct;
@@ -2156,12 +2155,11 @@ forward:
 last_forward:
        if (psend != -1) {
                ip6mr_forward2(net, mrt, skb, cache, psend);
-               return 0;
+               return;
        }
 
 dont_forward:
        kfree_skb(skb);
-       return 0;
 }