diff options
Diffstat (limited to 'net/core/sock.c')
-rw-r--r-- | net/core/sock.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/core/sock.c b/net/core/sock.c index a324a80c163e..ebce661234ac 100644 --- a/net/core/sock.c +++ b/net/core/sock.c | |||
@@ -482,6 +482,7 @@ int sock_setsockopt(struct socket *sock, int level, int optname, | |||
482 | sk->sk_reuse = valbool; | 482 | sk->sk_reuse = valbool; |
483 | break; | 483 | break; |
484 | case SO_TYPE: | 484 | case SO_TYPE: |
485 | case SO_PROTOCOL: | ||
485 | case SO_ERROR: | 486 | case SO_ERROR: |
486 | ret = -ENOPROTOOPT; | 487 | ret = -ENOPROTOOPT; |
487 | break; | 488 | break; |
@@ -764,6 +765,10 @@ int sock_getsockopt(struct socket *sock, int level, int optname, | |||
764 | v.val = sk->sk_type; | 765 | v.val = sk->sk_type; |
765 | break; | 766 | break; |
766 | 767 | ||
768 | case SO_PROTOCOL: | ||
769 | v.val = sk->sk_protocol; | ||
770 | break; | ||
771 | |||
767 | case SO_ERROR: | 772 | case SO_ERROR: |
768 | v.val = -sock_error(sk); | 773 | v.val = -sock_error(sk); |
769 | if (v.val == 0) | 774 | if (v.val == 0) |