ip6mr.c (29a26a56803855a79dbd028cd61abee56237d6e5) | ip6mr.c (0c4b51f0054ce85c0ec578ab818f0631834573eb) |
---|---|
1/* 2 * Linux IPv6 multicast routing support for BSD pim6sd 3 * Based on net/ipv4/ipmr.c. 4 * 5 * (c) 2004 Mickael Hoerdt, <hoerdt@clarinet.u-strasbg.fr> 6 * LSIIT Laboratory, Strasbourg, France 7 * (c) 2004 Jean-Philippe Andriot, <jean-philippe.andriot@6WIND.com> 8 * 6WIND, Paris, France --- 1971 unchanged lines hidden (view full) --- 1980 read_unlock(&mrt_lock); 1981 return -EADDRNOTAVAIL; 1982 default: 1983 return -ENOIOCTLCMD; 1984 } 1985} 1986#endif 1987 | 1/* 2 * Linux IPv6 multicast routing support for BSD pim6sd 3 * Based on net/ipv4/ipmr.c. 4 * 5 * (c) 2004 Mickael Hoerdt, <hoerdt@clarinet.u-strasbg.fr> 6 * LSIIT Laboratory, Strasbourg, France 7 * (c) 2004 Jean-Philippe Andriot, <jean-philippe.andriot@6WIND.com> 8 * 6WIND, Paris, France --- 1971 unchanged lines hidden (view full) --- 1980 read_unlock(&mrt_lock); 1981 return -EADDRNOTAVAIL; 1982 default: 1983 return -ENOIOCTLCMD; 1984 } 1985} 1986#endif 1987 |
1988static inline int ip6mr_forward2_finish(struct sock *sk, struct sk_buff *skb) | 1988static inline int ip6mr_forward2_finish(struct net *net, struct sock *sk, struct sk_buff *skb) |
1989{ | 1989{ |
1990 struct net *net = dev_net(skb_dst(skb)->dev); | |
1991 IP6_INC_STATS_BH(net, ip6_dst_idev(skb_dst(skb)), 1992 IPSTATS_MIB_OUTFORWDATAGRAMS); 1993 IP6_ADD_STATS_BH(net, ip6_dst_idev(skb_dst(skb)), 1994 IPSTATS_MIB_OUTOCTETS, skb->len); 1995 return dst_output(sk, skb); 1996} 1997 1998/* --- 514 unchanged lines hidden --- | 1990 IP6_INC_STATS_BH(net, ip6_dst_idev(skb_dst(skb)), 1991 IPSTATS_MIB_OUTFORWDATAGRAMS); 1992 IP6_ADD_STATS_BH(net, ip6_dst_idev(skb_dst(skb)), 1993 IPSTATS_MIB_OUTOCTETS, skb->len); 1994 return dst_output(sk, skb); 1995} 1996 1997/* --- 514 unchanged lines hidden --- |