]> Pileus Git - ~andy/linux/blobdiff - include/net/ip_fib.h
ipv4: Allocate fib metrics dynamically.
[~andy/linux] / include / net / ip_fib.h
index 07bdb5e9e8ac0b80628400d4b79e7e5041ce8199..2c0508a6e07c9354587e6f0a857950e30cbc34af 100644 (file)
@@ -55,7 +55,7 @@ struct fib_nh {
        int                     nh_weight;
        int                     nh_power;
 #endif
-#ifdef CONFIG_NET_CLS_ROUTE
+#ifdef CONFIG_IP_ROUTE_CLASSID
        __u32                   nh_tclassid;
 #endif
        int                     nh_oif;
@@ -77,7 +77,7 @@ struct fib_info {
        int                     fib_protocol;
        __be32                  fib_prefsrc;
        u32                     fib_priority;
-       u32                     fib_metrics[RTAX_MAX];
+       u32                     *fib_metrics;
 #define fib_mtu fib_metrics[RTAX_MTU-1]
 #define fib_window fib_metrics[RTAX_WINDOW-1]
 #define fib_rtt fib_metrics[RTAX_RTT-1]
@@ -201,7 +201,7 @@ static inline int fib_lookup(struct net *net, const struct flowi *flp,
 extern int __net_init fib4_rules_init(struct net *net);
 extern void __net_exit fib4_rules_exit(struct net *net);
 
-#ifdef CONFIG_NET_CLS_ROUTE
+#ifdef CONFIG_IP_ROUTE_CLASSID
 extern u32 fib_rules_tclass(struct fib_result *res);
 #endif
 
@@ -235,7 +235,7 @@ extern struct fib_table *fib_hash_table(u32 id);
 
 static inline void fib_combine_itag(u32 *itag, struct fib_result *res)
 {
-#ifdef CONFIG_NET_CLS_ROUTE
+#ifdef CONFIG_IP_ROUTE_CLASSID
 #ifdef CONFIG_IP_MULTIPLE_TABLES
        u32 rtag;
 #endif