|
u8 | vnet_lisp_get_map_request_mode (void) |
|
static int | queue_map_request (gid_address_t *seid, gid_address_t *deid, u8 smr_invoked, u8 is_resend) |
|
ip_interface_address_t * | ip_interface_get_first_interface_address (ip_lookup_main_t *lm, u32 sw_if_index, u8 loop) |
|
void * | ip_interface_get_first_address (ip_lookup_main_t *lm, u32 sw_if_index, u8 version) |
|
int | ip_interface_get_first_ip_address (lisp_cp_main_t *lcm, u32 sw_if_index, u8 version, ip_address_t *result) |
|
void | ip_address_to_fib_prefix (const ip_address_t *addr, fib_prefix_t *prefix) |
| convert from a LISP address to a FIB prefix More...
|
|
void | ip_prefix_to_fib_prefix (const ip_prefix_t *ip_prefix, fib_prefix_t *fib_prefix) |
| convert from a LISP to a FIB prefix More...
|
|
u32 | ip_fib_get_egress_iface_for_dst (lisp_cp_main_t *lcm, ip_address_t *dst) |
| Find the sw_if_index of the interface that would be used to egress towards dst. More...
|
|
int | ip_fib_get_first_egress_ip_for_dst (lisp_cp_main_t *lcm, ip_address_t *dst, ip_address_t *result) |
| Find first IP of the interface that would be used to egress towards dst. More...
|
|
static int | dp_add_del_iface (lisp_cp_main_t *lcm, u32 vni, u8 is_l2, u8 is_add) |
|
static void | dp_del_fwd_entry (lisp_cp_main_t *lcm, u32 src_map_index, u32 dst_map_index) |
|
static u32 | get_locator_pairs (lisp_cp_main_t *lcm, mapping_t *lcl_map, mapping_t *rmt_map, locator_pair_t **locator_pairs) |
| Finds first remote locator with best (lowest) priority that has a local peer locator with an underlying route to it. More...
|
|
static void | gid_address_sd_to_flat (gid_address_t *dst, gid_address_t *src, fid_address_t *fid) |
|
static void | dp_add_fwd_entry (lisp_cp_main_t *lcm, u32 src_map_index, u32 dst_map_index) |
|
lisp_adjacency_t * | vnet_lisp_adjacencies_get_by_vni (u32 vni) |
| Returns vector of adjacencies. More...
|
|
static clib_error_t * | lisp_show_adjacencies_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
int | vnet_lisp_map_cache_add_del (vnet_lisp_add_del_mapping_args_t *a, u32 *map_index_result) |
| Add/remove mapping to/from map-cache. More...
|
|
int | vnet_lisp_add_del_local_mapping (vnet_lisp_add_del_mapping_args_t *a, u32 *map_index_result) |
| Add/update/delete mapping to/in/from map-cache. More...
|
|
static clib_error_t * | lisp_add_del_local_eid_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
int | vnet_lisp_eid_table_map (u32 vni, u32 dp_id, u8 is_l2, u8 is_add) |
|
static clib_error_t * | lisp_eid_table_map_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static u8 | compare_locators (lisp_cp_main_t *lcm, u32 *old_ls_indexes, locator_t *new_locators) |
|
static void | remove_mapping_if_needed (u32 mi, void *arg) |
| Callback invoked when a sub-prefix is found. More...
|
|
static void | remove_overlapping_sub_prefixes (lisp_cp_main_t *lcm, gid_address_t *eid, u8 is_negative) |
| This function searches map cache and looks for IP prefixes that are subset of the provided one. More...
|
|
int | vnet_lisp_add_del_mapping (gid_address_t *eid, locator_t *rlocs, u8 action, u8 authoritative, u32 ttl, u8 is_add, u8 is_static, u32 *res_map_index) |
| Adds/removes/updates mapping. More...
|
|
int | vnet_lisp_clear_all_remote_adjacencies (void) |
|
int | lisp_add_del_adjacency (lisp_cp_main_t *lcm, gid_address_t *local_eid, gid_address_t *remote_eid, u8 is_add) |
| Adds adjacency or removes forwarding entry associated to remote mapping. More...
|
|
int | vnet_lisp_add_del_adjacency (vnet_lisp_add_del_adjacency_args_t *a) |
|
static clib_error_t * | lisp_add_del_remote_mapping_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
| Handler for add/del remote mapping CLI. More...
|
|
static clib_error_t * | lisp_add_del_adjacency_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
| Handler for add/del adjacency CLI. More...
|
|
int | vnet_lisp_set_map_request_mode (u8 mode) |
|
static clib_error_t * | lisp_map_request_mode_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static u8 * | format_lisp_map_request_mode (u8 *s, va_list *args) |
|
static clib_error_t * | lisp_show_map_request_mode_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static clib_error_t * | lisp_show_map_resolvers_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
int | vnet_lisp_pitr_set_locator_set (u8 *locator_set_name, u8 is_add) |
|
static clib_error_t * | lisp_pitr_set_locator_set_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static clib_error_t * | lisp_show_pitr_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static u8 * | format_eid_entry (u8 *s, va_list *args) |
|
static clib_error_t * | lisp_show_eid_table_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static void | clean_locator_to_locator_set (lisp_cp_main_t *lcm, u32 lsi) |
|
static uword * | get_locator_set_index (vnet_lisp_add_del_locator_set_args_t *a, uword *p) |
|
static int | is_locator_in_locator_set (lisp_cp_main_t *lcm, locator_set_t *ls, locator_t *loc) |
|
static void | remove_locator_from_locator_set (locator_set_t *ls, u32 *locit, u32 ls_index, u32 loc_id) |
|
int | vnet_lisp_add_del_locator (vnet_lisp_add_del_locator_set_args_t *a, locator_set_t *ls, u32 *ls_result) |
|
int | vnet_lisp_add_del_locator_set (vnet_lisp_add_del_locator_set_args_t *a, u32 *ls_result) |
|
clib_error_t * | vnet_lisp_enable_disable (u8 is_enable) |
|
static clib_error_t * | lisp_enable_disable_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
u8 | vnet_lisp_enable_disable_status (void) |
|
static u8 * | format_lisp_status (u8 *s, va_list *args) |
|
static clib_error_t * | lisp_show_status_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static clib_error_t * | lisp_show_eid_table_map_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static clib_error_t * | lisp_add_del_locator_set_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static clib_error_t * | lisp_add_del_locator_in_set_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static clib_error_t * | lisp_cp_show_locator_sets_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static map_resolver_t * | get_map_resolver (ip_address_t *a) |
|
int | vnet_lisp_add_del_map_resolver (vnet_lisp_add_del_map_resolver_args_t *a) |
|
static clib_error_t * | lisp_add_del_map_resolver_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
int | vnet_lisp_add_del_mreq_itr_rlocs (vnet_lisp_add_del_mreq_itr_rloc_args_t *a) |
|
static clib_error_t * | lisp_add_del_mreq_itr_rlocs_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static clib_error_t * | lisp_show_mreq_itr_rlocs_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
u8 * | format_lisp_cp_lookup_trace (u8 *s, va_list *args) |
|
int | get_mr_and_local_iface_ip (lisp_cp_main_t *lcm, ip_address_t *mr_ip, ip_address_t *sloc) |
|
static gid_address_t * | build_itr_rloc_list (lisp_cp_main_t *lcm, locator_set_t *loc_set) |
|
static vlib_buffer_t * | build_encapsulated_map_request (lisp_cp_main_t *lcm, gid_address_t *seid, gid_address_t *deid, locator_set_t *loc_set, ip_address_t *mr_ip, ip_address_t *sloc, u8 is_smr_invoked, u64 *nonce_res, u32 *bi_res) |
|
static void | reset_pending_mr_counters (pending_map_request_t *r) |
|
static int | elect_map_resolver (lisp_cp_main_t *lcm) |
|
static void | get_src_and_dst_ip (void *hdr, ip_address_t *src, ip_address_t *dst) |
|
static u32 | lisp_get_vni_from_buffer_ip (lisp_cp_main_t *lcm, vlib_buffer_t *b, u8 version) |
|
static u32 | lisp_get_vni_from_buffer_eth (lisp_cp_main_t *lcm, vlib_buffer_t *b) |
|
static void | get_src_and_dst_eids_from_buffer (lisp_cp_main_t *lcm, vlib_buffer_t *b, gid_address_t *src, gid_address_t *dst) |
|
static uword | lisp_cp_lookup_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, int overlay) |
|
static uword | lisp_cp_lookup_ip4 (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
static uword | lisp_cp_lookup_ip6 (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
static uword | lisp_cp_lookup_l2 (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
u8 * | format_lisp_cp_input_trace (u8 *s, va_list *args) |
|
void * | process_map_reply (void *arg) |
|
void | process_map_request (vlib_main_t *vm, lisp_cp_main_t *lcm, vlib_buffer_t *b) |
|
static void | queue_map_reply (vlib_buffer_t *b) |
|
static uword | lisp_cp_input (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
clib_error_t * | lisp_cp_init (vlib_main_t *vm) |
|
static void * | send_map_request_thread_fn (void *arg) |
|
static void | update_pending_request (pending_map_request_t *r, f64 dt) |
| Take an action with a pending map request depending on expiration time and re-try counters. More...
|
|
static void | remove_dead_pending_map_requests (lisp_cp_main_t *lcm) |
|
static uword | send_map_resolver_service (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f) |
|