diff options
Diffstat (limited to 'net/ipv6/ipv6_sockglue.c')
| -rw-r--r-- | net/ipv6/ipv6_sockglue.c | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c index c0cac9cc3a28..381ce38940ae 100644 --- a/net/ipv6/ipv6_sockglue.c +++ b/net/ipv6/ipv6_sockglue.c @@ -674,6 +674,13 @@ done:  			retv = ipv6_sock_ac_drop(sk, mreq.ipv6mr_ifindex, &mreq.ipv6mr_acaddr);  		break;  	} +	case IPV6_MULTICAST_ALL: +		if (optlen < sizeof(int)) +			goto e_inval; +		np->mc_all = valbool; +		retv = 0; +		break; +  	case MCAST_JOIN_GROUP:  	case MCAST_LEAVE_GROUP:  	{ @@ -1266,6 +1273,10 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname,  		val = np->mcast_oif;  		break; +	case IPV6_MULTICAST_ALL: +		val = np->mc_all; +		break; +  	case IPV6_UNICAST_IF:  		val = (__force int)htonl((__u32) np->ucast_oif);  		break;  | 
