diff options
Diffstat (limited to 'net/ipv6/ipv6_sockglue.c')
-rw-r--r-- | net/ipv6/ipv6_sockglue.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c index edb58aff4ae7..0c289982796d 100644 --- a/net/ipv6/ipv6_sockglue.c +++ b/net/ipv6/ipv6_sockglue.c | |||
@@ -235,7 +235,7 @@ static int do_ipv6_setsockopt(struct sock *sk, int level, int optname, | |||
235 | if (optlen < sizeof(int) || | 235 | if (optlen < sizeof(int) || |
236 | inet_sk(sk)->inet_num) | 236 | inet_sk(sk)->inet_num) |
237 | goto e_inval; | 237 | goto e_inval; |
238 | np->ipv6only = valbool; | 238 | sk->sk_ipv6only = valbool; |
239 | retv = 0; | 239 | retv = 0; |
240 | break; | 240 | break; |
241 | 241 | ||
@@ -834,6 +834,10 @@ pref_skip_coa: | |||
834 | np->dontfrag = valbool; | 834 | np->dontfrag = valbool; |
835 | retv = 0; | 835 | retv = 0; |
836 | break; | 836 | break; |
837 | case IPV6_AUTOFLOWLABEL: | ||
838 | np->autoflowlabel = valbool; | ||
839 | retv = 0; | ||
840 | break; | ||
837 | } | 841 | } |
838 | 842 | ||
839 | release_sock(sk); | 843 | release_sock(sk); |
@@ -1058,7 +1062,7 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname, | |||
1058 | } | 1062 | } |
1059 | 1063 | ||
1060 | case IPV6_V6ONLY: | 1064 | case IPV6_V6ONLY: |
1061 | val = np->ipv6only; | 1065 | val = sk->sk_ipv6only; |
1062 | break; | 1066 | break; |
1063 | 1067 | ||
1064 | case IPV6_RECVPKTINFO: | 1068 | case IPV6_RECVPKTINFO: |
@@ -1158,7 +1162,6 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname, | |||
1158 | return -EFAULT; | 1162 | return -EFAULT; |
1159 | 1163 | ||
1160 | return 0; | 1164 | return 0; |
1161 | break; | ||
1162 | } | 1165 | } |
1163 | 1166 | ||
1164 | case IPV6_TRANSPARENT: | 1167 | case IPV6_TRANSPARENT: |
@@ -1273,6 +1276,10 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname, | |||
1273 | val = np->dontfrag; | 1276 | val = np->dontfrag; |
1274 | break; | 1277 | break; |
1275 | 1278 | ||
1279 | case IPV6_AUTOFLOWLABEL: | ||
1280 | val = np->autoflowlabel; | ||
1281 | break; | ||
1282 | |||
1276 | default: | 1283 | default: |
1277 | return -ENOPROTOOPT; | 1284 | return -ENOPROTOOPT; |
1278 | } | 1285 | } |