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/raw.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/raw.c')
-rw-r--r-- | net/ipv6/raw.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c index aae6cedf1709..088b80b4ce74 100644 --- a/net/ipv6/raw.c +++ b/net/ipv6/raw.c | |||
@@ -53,6 +53,7 @@ | |||
53 | #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE) | 53 | #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE) |
54 | #include <net/mip6.h> | 54 | #include <net/mip6.h> |
55 | #endif | 55 | #endif |
56 | #include <linux/mroute6.h> | ||
56 | 57 | ||
57 | #include <net/raw.h> | 58 | #include <net/raw.h> |
58 | #include <net/rawv6.h> | 59 | #include <net/rawv6.h> |
@@ -1135,7 +1136,11 @@ static int rawv6_ioctl(struct sock *sk, int cmd, unsigned long arg) | |||
1135 | } | 1136 | } |
1136 | 1137 | ||
1137 | default: | 1138 | default: |
1139 | #ifdef CONFIG_IPV6_MROUTE | ||
1140 | return ip6mr_ioctl(sk, cmd, (void __user *)arg); | ||
1141 | #else | ||
1138 | return -ENOIOCTLCMD; | 1142 | return -ENOIOCTLCMD; |
1143 | #endif | ||
1139 | } | 1144 | } |
1140 | } | 1145 | } |
1141 | 1146 | ||
@@ -1143,7 +1148,7 @@ static void rawv6_close(struct sock *sk, long timeout) | |||
1143 | { | 1148 | { |
1144 | if (inet_sk(sk)->num == IPPROTO_RAW) | 1149 | if (inet_sk(sk)->num == IPPROTO_RAW) |
1145 | ip6_ra_control(sk, -1, NULL); | 1150 | ip6_ra_control(sk, -1, NULL); |
1146 | 1151 | ip6mr_sk_done(sk); | |
1147 | sk_common_release(sk); | 1152 | sk_common_release(sk); |
1148 | } | 1153 | } |
1149 | 1154 | ||