ip_fib.h (b75ed8b1aa9c3a99702159c3be8b0c1d54972ae5) | ip_fib.h (f1741730dd18828fe3ea5fa91c22f41cf001c625) |
---|---|
1/* 2 * INET An implementation of the TCP/IP protocol suite for the LINUX 3 * operating system. INET is implemented using the BSD Socket 4 * interface as the means of communication with the user level. 5 * 6 * Definitions for the Forwarding Information Base. 7 * 8 * Authors: A.N.Kuznetsov, <kuznet@ms2.inr.ac.ru> --- 62 unchanged lines hidden (view full) --- 71struct fnhe_hash_bucket { 72 struct fib_nh_exception __rcu *chain; 73}; 74 75#define FNHE_HASH_SHIFT 11 76#define FNHE_HASH_SIZE (1 << FNHE_HASH_SHIFT) 77#define FNHE_RECLAIM_DEPTH 5 78 | 1/* 2 * INET An implementation of the TCP/IP protocol suite for the LINUX 3 * operating system. INET is implemented using the BSD Socket 4 * interface as the means of communication with the user level. 5 * 6 * Definitions for the Forwarding Information Base. 7 * 8 * Authors: A.N.Kuznetsov, <kuznet@ms2.inr.ac.ru> --- 62 unchanged lines hidden (view full) --- 71struct fnhe_hash_bucket { 72 struct fib_nh_exception __rcu *chain; 73}; 74 75#define FNHE_HASH_SHIFT 11 76#define FNHE_HASH_SIZE (1 << FNHE_HASH_SHIFT) 77#define FNHE_RECLAIM_DEPTH 5 78 |
79struct fib_nh_common { 80 struct net_device *nhc_dev; 81 int nhc_oif; 82 unsigned int nhc_flags; 83 struct lwtunnel_state *nhc_lwtstate; 84 unsigned char nhc_scope; 85 u8 nhc_family; 86 u8 nhc_has_gw:1, 87 unused:7; 88 union { 89 __be32 ipv4; 90 struct in6_addr ipv6; 91 } nhc_gw; 92 93 int nhc_weight; 94 atomic_t nhc_upper_bound; 95}; 96 |
|
79struct fib_nh { | 97struct fib_nh { |
80 struct net_device *fib_nh_dev; | 98 struct fib_nh_common nh_common; |
81 struct hlist_node nh_hash; 82 struct fib_info *nh_parent; | 99 struct hlist_node nh_hash; 100 struct fib_info *nh_parent; |
83 unsigned int fib_nh_flags; 84 unsigned char fib_nh_scope; 85#ifdef CONFIG_IP_ROUTE_MULTIPATH 86 int fib_nh_weight; 87 atomic_t fib_nh_upper_bound; 88#endif | |
89#ifdef CONFIG_IP_ROUTE_CLASSID 90 __u32 nh_tclassid; 91#endif | 101#ifdef CONFIG_IP_ROUTE_CLASSID 102 __u32 nh_tclassid; 103#endif |
92 int fib_nh_oif; 93 __be32 fib_nh_gw4; | |
94 __be32 nh_saddr; 95 int nh_saddr_genid; 96 struct rtable __rcu * __percpu *nh_pcpu_rth_output; 97 struct rtable __rcu *nh_rth_input; 98 struct fnhe_hash_bucket __rcu *nh_exceptions; | 104 __be32 nh_saddr; 105 int nh_saddr_genid; 106 struct rtable __rcu * __percpu *nh_pcpu_rth_output; 107 struct rtable __rcu *nh_rth_input; 108 struct fnhe_hash_bucket __rcu *nh_exceptions; |
99 struct lwtunnel_state *fib_nh_lws; | 109#define fib_nh_family nh_common.nhc_family 110#define fib_nh_dev nh_common.nhc_dev 111#define fib_nh_oif nh_common.nhc_oif 112#define fib_nh_flags nh_common.nhc_flags 113#define fib_nh_lws nh_common.nhc_lwtstate 114#define fib_nh_scope nh_common.nhc_scope 115#define fib_nh_family nh_common.nhc_family 116#define fib_nh_has_gw nh_common.nhc_has_gw 117#define fib_nh_gw4 nh_common.nhc_gw.ipv4 118#define fib_nh_gw6 nh_common.nhc_gw.ipv6 119#define fib_nh_weight nh_common.nhc_weight 120#define fib_nh_upper_bound nh_common.nhc_upper_bound |
100}; 101 102/* 103 * This structure contains data shared by many of routes. 104 */ 105 106struct fib_info { 107 struct hlist_node fib_hash; --- 368 unchanged lines hidden --- | 121}; 122 123/* 124 * This structure contains data shared by many of routes. 125 */ 126 127struct fib_info { 128 struct hlist_node fib_hash; --- 368 unchanged lines hidden --- |