Changeset View
Changeset View
Standalone View
Standalone View
sys/net/route/route_var.h
Show First 20 Lines • Show All 62 Lines • ▼ Show 20 Lines | struct rib_head { | ||||
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 */ | ||||
u_int rib_fibnum; /* fib number */ | u_int rib_fibnum; /* fib number */ | ||||
bool rib_dying; /* rib is detaching */ | |||||
struct callout expire_callout; /* Callout for expiring dynamic routes */ | struct callout expire_callout; /* Callout for expiring dynamic routes */ | ||||
time_t next_expire; /* Next expire run ts */ | time_t next_expire; /* Next expire run ts */ | ||||
uint32_t rnh_prefixes; /* Number of prefixes */ | uint32_t rnh_prefixes; /* Number of prefixes */ | ||||
struct nh_control *nh_control; /* nexthop subsystem data */ | struct nh_control *nh_control; /* nexthop subsystem data */ | ||||
CK_STAILQ_HEAD(, rib_subscription) rnh_subscribers;/* notification subscribers */ | CK_STAILQ_HEAD(, rib_subscription) rnh_subscribers;/* notification subscribers */ | ||||
}; | }; | ||||
#define RIB_RLOCK_TRACKER struct rm_priotracker _rib_tracker | #define RIB_RLOCK_TRACKER struct rm_priotracker _rib_tracker | ||||
▲ Show 20 Lines • Show All 219 Lines • ▼ Show 20 Lines | int nhgrp_get_filtered_group(struct rib_head *rh, const struct nhgrp_object *src, | ||||
nhgrp_filter_cb_t flt_func, void *flt_data, struct route_nhop_data *rnd); | nhgrp_filter_cb_t flt_func, void *flt_data, struct route_nhop_data *rnd); | ||||
int nhgrp_get_addition_group(struct rib_head *rnh, | int nhgrp_get_addition_group(struct rib_head *rnh, | ||||
struct route_nhop_data *rnd_orig, struct route_nhop_data *rnd_add, | struct route_nhop_data *rnd_orig, struct route_nhop_data *rnd_add, | ||||
struct route_nhop_data *rnd_new); | struct route_nhop_data *rnd_new); | ||||
void nhgrp_ref_object(struct nhgrp_object *nhg); | void nhgrp_ref_object(struct nhgrp_object *nhg); | ||||
uint32_t nhgrp_get_idx(const struct nhgrp_object *nhg); | uint32_t nhgrp_get_idx(const struct nhgrp_object *nhg); | ||||
void nhgrp_free(struct nhgrp_object *nhg); | void nhgrp_free(struct nhgrp_object *nhg); | ||||
uint32_t nhgrp_get_idx(const struct nhgrp_object *nhg); | |||||
/* lookup_framework.c */ | |||||
void fib_grow_rtables(uint32_t new_num_tables); | |||||
int fib_select_algo_initial(struct rib_head *rh); | |||||
void fib_destroy_rib(struct rib_head *rh); | |||||
void vnet_fib_init(void); | |||||
/* Entropy data used for outbound hashing */ | /* Entropy data used for outbound hashing */ | ||||
#define MPATH_ENTROPY_KEY_LEN 40 | #define MPATH_ENTROPY_KEY_LEN 40 | ||||
extern uint8_t mpath_entropy_key[MPATH_ENTROPY_KEY_LEN]; | extern uint8_t mpath_entropy_key[MPATH_ENTROPY_KEY_LEN]; | ||||
#endif | #endif |