ipv6: Implement different admin modes for automatic flow labels
Change the meaning of net.ipv6.auto_flowlabels to provide a mode for automatic flow labels generation. There are four modes: 0: flow labels are disabled 1: flow labels are enabled, sockets can opt-out 2: flow labels are allowed, sockets can opt-in 3: flow labels are enabled and enforced, no opt-out for sockets np->autoflowlabel is initialized according to the sysctl value. Signed-off-by: Tom Herbert <tom@herbertland.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
67800f9b1f
commit
42240901f7
@@ -17,6 +17,9 @@
|
||||
#include <net/inet_frag.h>
|
||||
|
||||
static int one = 1;
|
||||
static int auto_flowlabels_min;
|
||||
static int auto_flowlabels_max = IP6_AUTO_FLOW_LABEL_MAX;
|
||||
|
||||
|
||||
static struct ctl_table ipv6_table_template[] = {
|
||||
{
|
||||
@@ -45,7 +48,9 @@ static struct ctl_table ipv6_table_template[] = {
|
||||
.data = &init_net.ipv6.sysctl.auto_flowlabels,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec
|
||||
.proc_handler = proc_dointvec_minmax,
|
||||
.extra1 = &auto_flowlabels_min,
|
||||
.extra2 = &auto_flowlabels_max
|
||||
},
|
||||
{
|
||||
.procname = "fwmark_reflect",
|
||||
|
Reference in New Issue
Block a user