diff options
Diffstat (limited to 'net/ipv6/ipv6_sockglue.c')
-rw-r--r-- | net/ipv6/ipv6_sockglue.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c index 1160400e9db..92295ad3487 100644 --- a/net/ipv6/ipv6_sockglue.c +++ b/net/ipv6/ipv6_sockglue.c | |||
@@ -767,6 +767,14 @@ pref_skip_coa: | |||
767 | 767 | ||
768 | break; | 768 | break; |
769 | } | 769 | } |
770 | case IPV6_MINHOPCOUNT: | ||
771 | if (optlen < sizeof(int)) | ||
772 | goto e_inval; | ||
773 | if (val < 0 || val > 255) | ||
774 | goto e_inval; | ||
775 | np->min_hopcount = val; | ||
776 | retv = 0; | ||
777 | break; | ||
770 | } | 778 | } |
771 | 779 | ||
772 | release_sock(sk); | 780 | release_sock(sk); |
@@ -1116,6 +1124,10 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname, | |||
1116 | val |= IPV6_PREFER_SRC_HOME; | 1124 | val |= IPV6_PREFER_SRC_HOME; |
1117 | break; | 1125 | break; |
1118 | 1126 | ||
1127 | case IPV6_MINHOPCOUNT: | ||
1128 | val = np->min_hopcount; | ||
1129 | break; | ||
1130 | |||
1119 | default: | 1131 | default: |
1120 | return -ENOPROTOOPT; | 1132 | return -ENOPROTOOPT; |
1121 | } | 1133 | } |