diff options
author | YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | 2008-04-02 20:22:53 -0400 |
---|---|---|
committer | YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | 2008-04-05 09:33:38 -0400 |
commit | 7bc570c8b4f75ddb3fd5dbeb38127cdc4acbcc9c (patch) | |
tree | b688b728c3ea08479f75986d1e9f590fca1f8715 /net/ipv6/addrconf.c | |
parent | 80a9492a33dd7d852465625022d56ff76d62174d (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.c | 15 |
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 | ||
415 | static struct inet6_dev * ipv6_find_idev(struct net_device *dev) | 415 | struct 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 | ||
3552 | static inline size_t inet6_if_nlmsg_size(void) | 3555 | static 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 | } |