aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/addrconf.c
diff options
context:
space:
mode:
authorYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>2008-04-02 20:22:53 -0400
committerYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>2008-04-05 09:33:38 -0400
commit7bc570c8b4f75ddb3fd5dbeb38127cdc4acbcc9c (patch)
treeb688b728c3ea08479f75986d1e9f590fca1f8715 /net/ipv6/addrconf.c
parent80a9492a33dd7d852465625022d56ff76d62174d (diff)
[IPV6] MROUTE: Support multicast forwarding.
Based on ancient patch by Mickael Hoerdt <hoerdt@clarinet.u-strasbg.fr>, which is available at <http://www-r2.u-strasbg.fr/~hoerdt/dev/linux_ipv6_mforwarding/patch-linux-ipv6-mforwarding-0.1a>. Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Diffstat (limited to 'net/ipv6/addrconf.c')
-rw-r--r--net/ipv6/addrconf.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 11037615bc73..dbc51af69017 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -412,7 +412,7 @@ static struct inet6_dev * ipv6_add_dev(struct net_device *dev)
412 return ndev; 412 return ndev;
413} 413}
414 414
415static struct inet6_dev * ipv6_find_idev(struct net_device *dev) 415struct inet6_dev * ipv6_find_idev(struct net_device *dev)
416{ 416{
417 struct inet6_dev *idev; 417 struct inet6_dev *idev;
418 418
@@ -3547,6 +3547,9 @@ static inline void ipv6_store_devconf(struct ipv6_devconf *cnf,
3547#ifdef CONFIG_IPV6_OPTIMISTIC_DAD 3547#ifdef CONFIG_IPV6_OPTIMISTIC_DAD
3548 array[DEVCONF_OPTIMISTIC_DAD] = cnf->optimistic_dad; 3548 array[DEVCONF_OPTIMISTIC_DAD] = cnf->optimistic_dad;
3549#endif 3549#endif
3550#ifdef CONFIG_IPV6_MROUTE
3551 array[DEVCONF_MC_FORWARDING] = cnf->mc_forwarding;
3552#endif
3550} 3553}
3551 3554
3552static inline size_t inet6_if_nlmsg_size(void) 3555static inline size_t inet6_if_nlmsg_size(void)
@@ -4095,6 +4098,16 @@ static struct addrconf_sysctl_table
4095 4098
4096 }, 4099 },
4097#endif 4100#endif
4101#ifdef CONFIG_IPV6_MROUTE
4102 {
4103 .ctl_name = CTL_UNNUMBERED,
4104 .procname = "mc_forwarding",
4105 .data = &ipv6_devconf.mc_forwarding,
4106 .maxlen = sizeof(int),
4107 .mode = 0644,
4108 .proc_handler = &proc_dointvec,
4109 },
4110#endif
4098 { 4111 {
4099 .ctl_name = 0, /* sentinel */ 4112 .ctl_name = 0, /* sentinel */
4100 } 4113 }