summaryrefslogtreecommitdiffstats
path: root/sys/netinet6/ip6_output.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netinet6/ip6_output.c')
-rw-r--r--sys/netinet6/ip6_output.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c
index 49e6090..09d0925 100644
--- a/sys/netinet6/ip6_output.c
+++ b/sys/netinet6/ip6_output.c
@@ -1400,6 +1400,10 @@ ip6_ctloutput(struct socket *so, struct sockopt *sopt)
case IPV6_RECVRTHDR:
case IPV6_RECVPATHMTU:
case IPV6_RECVTCLASS:
+ case IPV6_RECVFLOWID:
+#ifdef RSS
+ case IPV6_RECVRSSBUCKETID:
+#endif
case IPV6_V6ONLY:
case IPV6_AUTOFLOWLABEL:
case IPV6_BINDANY:
@@ -1548,6 +1552,16 @@ do { \
OPTSET(IN6P_MTU);
break;
+ case IPV6_RECVFLOWID:
+ OPTSET2(INP_RECVFLOWID, optval);
+ break;
+
+#ifdef RSS
+ case IPV6_RECVRSSBUCKETID:
+ OPTSET2(INP_RECVRSSBUCKETID, optval);
+ break;
+#endif
+
case IPV6_V6ONLY:
/*
* make setsockopt(IPV6_V6ONLY)
@@ -1811,8 +1825,10 @@ do { \
case IPV6_BINDANY:
case IPV6_FLOWID:
case IPV6_FLOWTYPE:
+ case IPV6_RECVFLOWID:
#ifdef RSS
case IPV6_RSSBUCKETID:
+ case IPV6_RECVRSSBUCKETID:
#endif
switch (optname) {
@@ -1883,6 +1899,10 @@ do { \
case IPV6_FLOWTYPE:
optval = in6p->inp_flowtype;
break;
+
+ case IPV6_RECVFLOWID:
+ optval = OPTBIT2(INP_RECVFLOWID);
+ break;
#ifdef RSS
case IPV6_RSSBUCKETID:
retval =
@@ -1894,6 +1914,10 @@ do { \
else
error = EINVAL;
break;
+
+ case IPV6_RECVRSSBUCKETID:
+ optval = OPTBIT2(INP_RECVRSSBUCKETID);
+ break;
#endif
case IPV6_BINDMULTI:
OpenPOWER on IntegriCloud