]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - net/ipv6/ip6_tunnel.c
net-next: remove useless union keyword
[net-next-2.6.git] / net / ipv6 / ip6_tunnel.c
index 2599870747ec88e82101fde1c1d42eb393c01898..0fd027f3f47e170608d75ea735a74f535838b80a 100644 (file)
@@ -552,7 +552,7 @@ ip4ip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
        if (ip_route_output_key(dev_net(skb->dev), &rt, &fl))
                goto out;
 
-       skb2->dev = rt->u.dst.dev;
+       skb2->dev = rt->dst.dev;
 
        /* route "incoming" packet */
        if (rt->rt_flags & RTCF_LOCAL) {
@@ -562,7 +562,7 @@ ip4ip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
                fl.fl4_src = eiph->saddr;
                fl.fl4_tos = eiph->tos;
                if (ip_route_output_key(dev_net(skb->dev), &rt, &fl) ||
-                   rt->u.dst.dev->type != ARPHRD_TUNNEL) {
+                   rt->dst.dev->type != ARPHRD_TUNNEL) {
                        ip_rt_put(rt);
                        goto out;
                }
@@ -626,7 +626,7 @@ ip6ip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
                icmpv6_send(skb2, rel_type, rel_code, rel_info);
 
                if (rt)
-                       dst_release(&rt->u.dst);
+                       dst_release(&rt->dst);
 
                kfree_skb(skb2);
        }
@@ -723,14 +723,10 @@ static int ip6_tnl_rcv(struct sk_buff *skb, __u16 protocol,
                skb->protocol = htons(protocol);
                skb->pkt_type = PACKET_HOST;
                memset(skb->cb, 0, sizeof(struct inet6_skb_parm));
-               skb->dev = t->dev;
-               skb_dst_drop(skb);
-               nf_reset(skb);
 
-               dscp_ecn_decapsulate(t, ipv6h, skb);
+               skb_tunnel_rx(skb, t->dev);
 
-               t->dev->stats.rx_packets++;
-               t->dev->stats.rx_bytes += skb->len;
+               dscp_ecn_decapsulate(t, ipv6h, skb);
                netif_rx(skb);
                rcu_read_unlock();
                return 0;
@@ -1139,7 +1135,7 @@ static void ip6_tnl_link_config(struct ip6_tnl *t)
                        if (dev->mtu < IPV6_MIN_MTU)
                                dev->mtu = IPV6_MIN_MTU;
                }
-               dst_release(&rt->u.dst);
+               dst_release(&rt->dst);
        }
 }