aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/fib_semantics.c
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2011-01-14 07:36:42 -0500
committerPatrick McHardy <kaber@trash.net>2011-01-14 07:36:42 -0500
commitc7066f70d9610df0b9406cc635fc09e86136e714 (patch)
treece98855b2c1ba2da15b7b47fc7a447d1903c4d89 /net/ipv4/fib_semantics.c
parentae90bdeaeac6b964b7a1e853a90a19f358a9ac20 (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.c14
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