[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>
This commit is contained in:
@@ -53,6 +53,7 @@
|
||||
#if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE)
|
||||
#include <net/mip6.h>
|
||||
#endif
|
||||
#include <linux/mroute6.h>
|
||||
|
||||
#include <net/raw.h>
|
||||
#include <net/rawv6.h>
|
||||
@@ -1135,7 +1136,11 @@ static int rawv6_ioctl(struct sock *sk, int cmd, unsigned long arg)
|
||||
}
|
||||
|
||||
default:
|
||||
#ifdef CONFIG_IPV6_MROUTE
|
||||
return ip6mr_ioctl(sk, cmd, (void __user *)arg);
|
||||
#else
|
||||
return -ENOIOCTLCMD;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1143,7 +1148,7 @@ static void rawv6_close(struct sock *sk, long timeout)
|
||||
{
|
||||
if (inet_sk(sk)->num == IPPROTO_RAW)
|
||||
ip6_ra_control(sk, -1, NULL);
|
||||
|
||||
ip6mr_sk_done(sk);
|
||||
sk_common_release(sk);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user