diff options
author | Patrick McHardy <kaber@trash.net> | 2011-01-14 07:36:42 -0500 |
---|---|---|
committer | Patrick McHardy <kaber@trash.net> | 2011-01-14 07:36:42 -0500 |
commit | c7066f70d9610df0b9406cc635fc09e86136e714 (patch) | |
tree | ce98855b2c1ba2da15b7b47fc7a447d1903c4d89 /net/ipv4/fib_semantics.c | |
parent | ae90bdeaeac6b964b7a1e853a90a19f358a9ac20 (diff) |
netfilter: fix Kconfig dependencies
Fix dependencies of netfilter realm match: it depends on NET_CLS_ROUTE,
which itself depends on NET_SCHED; this dependency is missing from netfilter.
Since matching on realms is also useful without having NET_SCHED enabled and
the option really only controls whether the tclassid member is included in
route and dst entries, rename the config option to IP_ROUTE_CLASSID and move
it outside of traffic scheduling context to get rid of the NET_SCHED dependeny.
Reported-by: Vladis Kletnieks <Valdis.Kletnieks@vt.edu>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'net/ipv4/fib_semantics.c')
-rw-r--r-- | net/ipv4/fib_semantics.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c index 3e0da3ef6116..a72c62d03106 100644 --- a/net/ipv4/fib_semantics.c +++ b/net/ipv4/fib_semantics.c | |||
@@ -200,7 +200,7 @@ static inline int nh_comp(const struct fib_info *fi, const struct fib_info *ofi) | |||
200 | #ifdef CONFIG_IP_ROUTE_MULTIPATH | 200 | #ifdef CONFIG_IP_ROUTE_MULTIPATH |
201 | nh->nh_weight != onh->nh_weight || | 201 | nh->nh_weight != onh->nh_weight || |
202 | #endif | 202 | #endif |
203 | #ifdef CONFIG_NET_CLS_ROUTE | 203 | #ifdef CONFIG_IP_ROUTE_CLASSID |
204 | nh->nh_tclassid != onh->nh_tclassid || | 204 | nh->nh_tclassid != onh->nh_tclassid || |
205 | #endif | 205 | #endif |
206 | ((nh->nh_flags ^ onh->nh_flags) & ~RTNH_F_DEAD)) | 206 | ((nh->nh_flags ^ onh->nh_flags) & ~RTNH_F_DEAD)) |
@@ -422,7 +422,7 @@ static int fib_get_nhs(struct fib_info *fi, struct rtnexthop *rtnh, | |||
422 | 422 | ||
423 | nla = nla_find(attrs, attrlen, RTA_GATEWAY); | 423 | nla = nla_find(attrs, attrlen, RTA_GATEWAY); |
424 | nexthop_nh->nh_gw = nla ? nla_get_be32(nla) : 0; | 424 | nexthop_nh->nh_gw = nla ? nla_get_be32(nla) : 0; |
425 | #ifdef CONFIG_NET_CLS_ROUTE | 425 | #ifdef CONFIG_IP_ROUTE_CLASSID |
426 | nla = nla_find(attrs, attrlen, RTA_FLOW); | 426 | nla = nla_find(attrs, attrlen, RTA_FLOW); |
427 | nexthop_nh->nh_tclassid = nla ? nla_get_u32(nla) : 0; | 427 | nexthop_nh->nh_tclassid = nla ? nla_get_u32(nla) : 0; |
428 | #endif | 428 | #endif |
@@ -476,7 +476,7 @@ int fib_nh_match(struct fib_config *cfg, struct fib_info *fi) | |||
476 | nla = nla_find(attrs, attrlen, RTA_GATEWAY); | 476 | nla = nla_find(attrs, attrlen, RTA_GATEWAY); |
477 | if (nla && nla_get_be32(nla) != nh->nh_gw) | 477 | if (nla && nla_get_be32(nla) != nh->nh_gw) |
478 | return 1; | 478 | return 1; |
479 | #ifdef CONFIG_NET_CLS_ROUTE | 479 | #ifdef CONFIG_IP_ROUTE_CLASSID |
480 | nla = nla_find(attrs, attrlen, RTA_FLOW); | 480 | nla = nla_find(attrs, attrlen, RTA_FLOW); |
481 | if (nla && nla_get_u32(nla) != nh->nh_tclassid) | 481 | if (nla && nla_get_u32(nla) != nh->nh_tclassid) |
482 | return 1; | 482 | return 1; |
@@ -783,7 +783,7 @@ struct fib_info *fib_create_info(struct fib_config *cfg) | |||
783 | goto err_inval; | 783 | goto err_inval; |
784 | if (cfg->fc_gw && fi->fib_nh->nh_gw != cfg->fc_gw) | 784 | if (cfg->fc_gw && fi->fib_nh->nh_gw != cfg->fc_gw) |
785 | goto err_inval; | 785 | goto err_inval; |
786 | #ifdef CONFIG_NET_CLS_ROUTE | 786 | #ifdef CONFIG_IP_ROUTE_CLASSID |
787 | if (cfg->fc_flow && fi->fib_nh->nh_tclassid != cfg->fc_flow) | 787 | if (cfg->fc_flow && fi->fib_nh->nh_tclassid != cfg->fc_flow) |
788 | goto err_inval; | 788 | goto err_inval; |
789 | #endif | 789 | #endif |
@@ -796,7 +796,7 @@ struct fib_info *fib_create_info(struct fib_config *cfg) | |||
796 | nh->nh_oif = cfg->fc_oif; | 796 | nh->nh_oif = cfg->fc_oif; |
797 | nh->nh_gw = cfg->fc_gw; | 797 | nh->nh_gw = cfg->fc_gw; |
798 | nh->nh_flags = cfg->fc_flags; | 798 | nh->nh_flags = cfg->fc_flags; |
799 | #ifdef CONFIG_NET_CLS_ROUTE | 799 | #ifdef CONFIG_IP_ROUTE_CLASSID |
800 | nh->nh_tclassid = cfg->fc_flow; | 800 | nh->nh_tclassid = cfg->fc_flow; |
801 | #endif | 801 | #endif |
802 | #ifdef CONFIG_IP_ROUTE_MULTIPATH | 802 | #ifdef CONFIG_IP_ROUTE_MULTIPATH |
@@ -1006,7 +1006,7 @@ int fib_dump_info(struct sk_buff *skb, u32 pid, u32 seq, int event, | |||
1006 | 1006 | ||
1007 | if (fi->fib_nh->nh_oif) | 1007 | if (fi->fib_nh->nh_oif) |
1008 | NLA_PUT_U32(skb, RTA_OIF, fi->fib_nh->nh_oif); | 1008 | NLA_PUT_U32(skb, RTA_OIF, fi->fib_nh->nh_oif); |
1009 | #ifdef CONFIG_NET_CLS_ROUTE | 1009 | #ifdef CONFIG_IP_ROUTE_CLASSID |
1010 | if (fi->fib_nh[0].nh_tclassid) | 1010 | if (fi->fib_nh[0].nh_tclassid) |
1011 | NLA_PUT_U32(skb, RTA_FLOW, fi->fib_nh[0].nh_tclassid); | 1011 | NLA_PUT_U32(skb, RTA_FLOW, fi->fib_nh[0].nh_tclassid); |
1012 | #endif | 1012 | #endif |
@@ -1031,7 +1031,7 @@ int fib_dump_info(struct sk_buff *skb, u32 pid, u32 seq, int event, | |||
1031 | 1031 | ||
1032 | if (nh->nh_gw) | 1032 | if (nh->nh_gw) |
1033 | NLA_PUT_BE32(skb, RTA_GATEWAY, nh->nh_gw); | 1033 | NLA_PUT_BE32(skb, RTA_GATEWAY, nh->nh_gw); |
1034 | #ifdef CONFIG_NET_CLS_ROUTE | 1034 | #ifdef CONFIG_IP_ROUTE_CLASSID |
1035 | if (nh->nh_tclassid) | 1035 | if (nh->nh_tclassid) |
1036 | NLA_PUT_U32(skb, RTA_FLOW, nh->nh_tclassid); | 1036 | NLA_PUT_U32(skb, RTA_FLOW, nh->nh_tclassid); |
1037 | #endif | 1037 | #endif |