]> Git Repo - linux.git/blobdiff - net/ipv6/ipv6_sockglue.c
Merge branch 'scsi-target-for-v4.10' of git://git.kernel.org/pub/scm/linux/kernel...
[linux.git] / net / ipv6 / ipv6_sockglue.c
index 636ec56f5f5028277fc69721464ba734621a91e0..3ba5303735605077fedc3515163286234b51f141 100644 (file)
@@ -52,6 +52,7 @@
 #include <net/udplite.h>
 #include <net/xfrm.h>
 #include <net/compat.h>
+#include <net/seg6.h>
 
 #include <asm/uaccess.h>
 
@@ -430,6 +431,15 @@ static int do_ipv6_setsockopt(struct sock *sk, int level, int optname,
 
                                break;
 #endif
+                       case IPV6_SRCRT_TYPE_4:
+                       {
+                               struct ipv6_sr_hdr *srh = (struct ipv6_sr_hdr *)
+                                                         opt->srcrt;
+
+                               if (!seg6_validate_srh(srh, optlen))
+                                       goto sticky_done;
+                               break;
+                       }
                        default:
                                goto sticky_done;
                        }
@@ -868,6 +878,10 @@ pref_skip_coa:
                np->autoflowlabel = valbool;
                retv = 0;
                break;
+       case IPV6_RECVFRAGSIZE:
+               np->rxopt.bits.recvfragsize = valbool;
+               retv = 0;
+               break;
        }
 
        release_sock(sk);
@@ -1310,6 +1324,10 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname,
                val = np->autoflowlabel;
                break;
 
+       case IPV6_RECVFRAGSIZE:
+               val = np->rxopt.bits.recvfragsize;
+               break;
+
        default:
                return -ENOPROTOOPT;
        }
This page took 0.03747 seconds and 4 git commands to generate.