|
u8 * | format_gbp_endpoint_flags (u8 *s, va_list *args) |
|
int | gbp_endpoint_is_remote (const gbp_endpoint_t *ge) |
|
int | gbp_endpoint_is_local (const gbp_endpoint_t *ge) |
|
int | gbp_endpoint_is_external (const gbp_endpoint_t *ge) |
|
int | gbp_endpoint_is_learnt (const gbp_endpoint_t *ge) |
|
static void | gbp_endpoint_extract_key_mac_itf (const clib_bihash_kv_16_8_t *key, mac_address_t *mac, u32 *sw_if_index) |
|
static void | gbp_endpoint_extract_key_ip_itf (const clib_bihash_kv_24_8_t *key, ip46_address_t *ip, u32 *sw_if_index) |
|
gbp_endpoint_t * | gbp_endpoint_find_ip (const ip46_address_t *ip, u32 fib_index) |
|
static void | gbp_endpoint_add_itf (u32 sw_if_index, index_t gei) |
|
static bool | gbp_endpoint_add_mac (const mac_address_t *mac, u32 bd_index, index_t gei) |
|
static bool | gbp_endpoint_add_ip (const ip46_address_t *ip, u32 fib_index, index_t gei) |
|
static void | gbp_endpoint_del_mac (const mac_address_t *mac, u32 bd_index) |
|
static void | gbp_endpoint_del_ip (const ip46_address_t *ip, u32 fib_index) |
|
static index_t | gbp_endpoint_index (const gbp_endpoint_t *ge) |
|
static ip46_type_t | ip46_address_get_type (const ip46_address_t *a) |
|
static int | gbp_endpoint_ip_is_equal (const fib_prefix_t *fp, const ip46_address_t *ip) |
|
static void | gbp_endpoint_ips_update (gbp_endpoint_t *ge, const ip46_address_t *ips, const gbp_route_domain_t *grd) |
|
static gbp_endpoint_t * | gbp_endpoint_alloc (const ip46_address_t *ips, const gbp_route_domain_t *grd, const mac_address_t *mac, const gbp_bridge_domain_t *gbd) |
|
static int | gbp_endpoint_loc_is_equal (gbp_endpoint_loc_t *a, gbp_endpoint_loc_t *b) |
|
static int | gbp_endpoint_loc_cmp_for_sort (gbp_endpoint_loc_t *a, gbp_endpoint_loc_t *b) |
|
static gbp_endpoint_loc_t * | gbp_endpoint_loc_find (gbp_endpoint_t *ge, gbp_endpoint_src_t src) |
|
static int | gbp_endpoint_loc_unlock (gbp_endpoint_t *ge, gbp_endpoint_loc_t *gel) |
|
static void | gbp_endpoint_loc_destroy (gbp_endpoint_loc_t *gel) |
|
static gbp_endpoint_loc_t * | gbp_endpoint_loc_find_or_add (gbp_endpoint_t *ge, gbp_endpoint_src_t src) |
|
static int | gbp_endpoint_find_for_update (const ip46_address_t *ips, const gbp_route_domain_t *grd, const mac_address_t *mac, const gbp_bridge_domain_t *gbd, gbp_endpoint_t **ge) |
| Find an EP inthe DBs and check that if we find it in the L2 DB it has the same IPs as this update. More...
|
|
static gbp_endpoint_src_t | gbp_endpoint_get_best_src (const gbp_endpoint_t *ge) |
|
static void | gbp_endpoint_n_learned (int n) |
|
static void | gbp_endpoint_loc_update (const gbp_endpoint_t *ge, gbp_endpoint_loc_t *gel, const gbp_bridge_domain_t *gb, u32 sw_if_index, index_t ggi, gbp_endpoint_flags_t flags, const ip46_address_t *tun_src, const ip46_address_t *tun_dst) |
|
static void | gbb_endpoint_fwd_reset (gbp_endpoint_t *ge) |
|
static void | gbb_endpoint_fwd_recalc (gbp_endpoint_t *ge) |
|
int | gbp_endpoint_update_and_lock (gbp_endpoint_src_t src, u32 sw_if_index, const ip46_address_t *ips, const mac_address_t *mac, index_t gbdi, index_t grdi, sclass_t sclass, gbp_endpoint_flags_t flags, const ip46_address_t *tun_src, const ip46_address_t *tun_dst, u32 *handle) |
|
void | gbp_endpoint_unlock (gbp_endpoint_src_t src, index_t gei) |
|
u32 | gbp_endpoint_child_add (index_t gei, fib_node_type_t type, fib_node_index_t index) |
|
void | gbp_endpoint_child_remove (index_t gei, u32 sibling) |
|
static walk_rc_t | gbp_endpoint_flush_cb (index_t gei, void *args) |
|
void | gbp_endpoint_flush (gbp_endpoint_src_t src, u32 sw_if_index) |
| remove all learnt endpoints using the interface More...
|
|
void | gbp_endpoint_walk (gbp_endpoint_cb_t cb, void *ctx) |
|
static clib_error_t * | gbp_endpoint_cli (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
u8 * | format_gbp_endpoint_src (u8 *s, va_list *args) |
|
static u8 * | format_gbp_endpoint_fwd (u8 *s, va_list *args) |
|
static u8 * | format_gbp_endpoint_key (u8 *s, va_list *args) |
|
static u8 * | format_gbp_endpoint_loc (u8 *s, va_list *args) |
|
u8 * | format_gbp_endpoint (u8 *s, va_list *args) |
|
static walk_rc_t | gbp_endpoint_show_one (index_t gei, void *ctx) |
|
static void | gbp_endpoint_walk_ip_itf (const clib_bihash_kv_24_8_t *kvp, void *arg) |
|
static void | gbp_endpoint_walk_mac_itf (const clib_bihash_kv_16_8_t *kvp, void *arg) |
|
static clib_error_t * | gbp_endpoint_show (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static void | gbp_endpoint_check (index_t gei, f64 start_time) |
|
static void | gbp_endpoint_scan_l2 (vlib_main_t *vm) |
|
static void | gbp_endpoint_scan_l3 (vlib_main_t *vm) |
|
void | gbp_endpoint_scan (vlib_main_t *vm) |
|
static fib_node_t * | gbp_endpoint_get_node (fib_node_index_t index) |
|
static gbp_endpoint_t * | gbp_endpoint_from_fib_node (fib_node_t *node) |
|
static void | gbp_endpoint_last_lock_gone (fib_node_t *node) |
|
static fib_node_back_walk_rc_t | gbp_endpoint_back_walk_notify (fib_node_t *node, fib_node_back_walk_ctx_t *ctx) |
|
static clib_error_t * | gbp_endpoint_init (vlib_main_t *vm) |
|