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 ---