diff options
author | Stefan Tomanek <stefan.tomanek@wertarbyte.de> | 2013-08-03 08:14:43 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-08-03 13:40:23 -0400 |
commit | 73f5698e77219bfc3ea1903759fe8e20ab5b285e (patch) | |
tree | f3b64e87cc6ce4d7749ddfd9e993421b0c53a02c /include | |
parent | 0c0667a8548ef2985038a5a1d0fa0f64e2774694 (diff) |
fib_rules: fix suppressor names and default values
This change brings the suppressor attribute names into line; it also changes
the data types to provide a more consistent interface.
While -1 indicates that the suppressor is not enabled, values >= 0 for
suppress_prefixlen or suppress_ifgroup reject routing decisions violating the
constraint.
This changes the previously presented behaviour of suppress_prefixlen, where a
prefix length _less_ than the attribute value was rejected. After this change,
a prefix length less than *or* equal to the value is considered a violation of
the rule constraint.
It also changes the default values for default and newly added rules (disabling
any suppression for those).
Signed-off-by: Stefan Tomanek <stefan.tomanek@wertarbyte.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/fib_rules.h | 4 | ||||
-rw-r--r-- | include/uapi/linux/fib_rules.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/include/net/fib_rules.h b/include/net/fib_rules.h index d13c461b4b59..9d0fcbaa9cbb 100644 --- a/include/net/fib_rules.h +++ b/include/net/fib_rules.h | |||
@@ -19,7 +19,7 @@ struct fib_rule { | |||
19 | u32 flags; | 19 | u32 flags; |
20 | u32 table; | 20 | u32 table; |
21 | int suppress_ifgroup; | 21 | int suppress_ifgroup; |
22 | u8 table_prefixlen_min; | 22 | int suppress_prefixlen; |
23 | u8 action; | 23 | u8 action; |
24 | u32 target; | 24 | u32 target; |
25 | struct fib_rule __rcu *ctarget; | 25 | struct fib_rule __rcu *ctarget; |
@@ -84,7 +84,7 @@ struct fib_rules_ops { | |||
84 | [FRA_FWMARK] = { .type = NLA_U32 }, \ | 84 | [FRA_FWMARK] = { .type = NLA_U32 }, \ |
85 | [FRA_FWMASK] = { .type = NLA_U32 }, \ | 85 | [FRA_FWMASK] = { .type = NLA_U32 }, \ |
86 | [FRA_TABLE] = { .type = NLA_U32 }, \ | 86 | [FRA_TABLE] = { .type = NLA_U32 }, \ |
87 | [FRA_TABLE_PREFIXLEN_MIN] = { .type = NLA_U8 }, \ | 87 | [FRA_SUPPRESS_PREFIXLEN] = { .type = NLA_U32 }, \ |
88 | [FRA_SUPPRESS_IFGROUP] = { .type = NLA_U32 }, \ | 88 | [FRA_SUPPRESS_IFGROUP] = { .type = NLA_U32 }, \ |
89 | [FRA_GOTO] = { .type = NLA_U32 } | 89 | [FRA_GOTO] = { .type = NLA_U32 } |
90 | 90 | ||
diff --git a/include/uapi/linux/fib_rules.h b/include/uapi/linux/fib_rules.h index 63e31166e85b..2b82d7e30974 100644 --- a/include/uapi/linux/fib_rules.h +++ b/include/uapi/linux/fib_rules.h | |||
@@ -45,7 +45,7 @@ enum { | |||
45 | FRA_FLOW, /* flow/class id */ | 45 | FRA_FLOW, /* flow/class id */ |
46 | FRA_UNUSED6, | 46 | FRA_UNUSED6, |
47 | FRA_SUPPRESS_IFGROUP, | 47 | FRA_SUPPRESS_IFGROUP, |
48 | FRA_TABLE_PREFIXLEN_MIN, | 48 | FRA_SUPPRESS_PREFIXLEN, |
49 | FRA_TABLE, /* Extended table id */ | 49 | FRA_TABLE, /* Extended table id */ |
50 | FRA_FWMASK, /* mask for netfilter mark */ | 50 | FRA_FWMASK, /* mask for netfilter mark */ |
51 | FRA_OIFNAME, | 51 | FRA_OIFNAME, |