Changeset View
Changeset View
Standalone View
Standalone View
head/sys/net/route/route_var.h
Show First 20 Lines • Show All 44 Lines • ▼ Show 20 Lines | |||||
struct rib_head { | struct rib_head { | ||||
struct radix_head head; | struct radix_head head; | ||||
rn_matchaddr_f_t *rnh_matchaddr; /* longest match for sockaddr */ | rn_matchaddr_f_t *rnh_matchaddr; /* longest match for sockaddr */ | ||||
rn_addaddr_f_t *rnh_addaddr; /* add based on sockaddr*/ | rn_addaddr_f_t *rnh_addaddr; /* add based on sockaddr*/ | ||||
rn_deladdr_f_t *rnh_deladdr; /* remove based on sockaddr */ | rn_deladdr_f_t *rnh_deladdr; /* remove based on sockaddr */ | ||||
rn_lookup_f_t *rnh_lookup; /* exact match for sockaddr */ | rn_lookup_f_t *rnh_lookup; /* exact match for sockaddr */ | ||||
rn_walktree_t *rnh_walktree; /* traverse tree */ | rn_walktree_t *rnh_walktree; /* traverse tree */ | ||||
rn_walktree_from_t *rnh_walktree_from; /* traverse tree below a */ | rn_walktree_from_t *rnh_walktree_from; /* traverse tree below a */ | ||||
rn_close_t *rnh_close; /*do something when the last ref drops*/ | |||||
rnh_preadd_entry_f_t *rnh_preadd; /* hook to alter record prior to insertion */ | rnh_preadd_entry_f_t *rnh_preadd; /* hook to alter record prior to insertion */ | ||||
rt_gen_t rnh_gen; /* generation counter */ | rt_gen_t rnh_gen; /* generation counter */ | ||||
int rnh_multipath; /* multipath capable ? */ | int rnh_multipath; /* multipath capable ? */ | ||||
struct radix_node rnh_nodes[3]; /* empty tree for common case */ | struct radix_node rnh_nodes[3]; /* empty tree for common case */ | ||||
struct rmlock rib_lock; /* config/data path lock */ | struct rmlock rib_lock; /* config/data path lock */ | ||||
struct radix_mask_head rmhead; /* masks radix head */ | struct radix_mask_head rmhead; /* masks radix head */ | ||||
struct vnet *rib_vnet; /* vnet pointer */ | struct vnet *rib_vnet; /* vnet pointer */ | ||||
int rib_family; /* AF of the rtable */ | int rib_family; /* AF of the rtable */ | ||||
▲ Show 20 Lines • Show All 77 Lines • ▼ Show 20 Lines | union { | ||||
struct sockaddr_in rt_dst4; | struct sockaddr_in rt_dst4; | ||||
struct sockaddr_in6 rt_dst6; | struct sockaddr_in6 rt_dst6; | ||||
struct sockaddr rt_dst; | struct sockaddr rt_dst; | ||||
char rt_dstb[28]; | char rt_dstb[28]; | ||||
}; | }; | ||||
int rt_flags; /* up/down?, host/net */ | int rt_flags; /* up/down?, host/net */ | ||||
int rt_refcnt; /* # held references */ | int rt_refcnt; /* # held references */ | ||||
u_int rt_fibnum; /* which FIB */ | |||||
u_long rt_weight; /* absolute weight */ | u_long rt_weight; /* absolute weight */ | ||||
u_long rt_expire; /* lifetime for route, e.g. redirect */ | u_long rt_expire; /* lifetime for route, e.g. redirect */ | ||||
#define rt_endzero rt_mtx | #define rt_endzero rt_mtx | ||||
struct mtx rt_mtx; /* mutex for routing entry */ | struct mtx rt_mtx; /* mutex for routing entry */ | ||||
struct rtentry *rt_chain; /* pointer to next rtentry to delete */ | struct rtentry *rt_chain; /* pointer to next rtentry to delete */ | ||||
}; | }; | ||||
#define RT_LOCK_INIT(_rt) \ | #define RT_LOCK_INIT(_rt) \ | ||||
▲ Show 20 Lines • Show All 94 Lines • Show Last 20 Lines |