FD.io VPP  v16.12-rc0-308-g931be3a
Vector Packet Processing
control.h File Reference
+ Include dependency graph for control.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  pending_map_request_t
 
struct  fwd_entry_t
 
struct  lisp_adjacency_t
 
struct  map_resolver_t
 
struct  miss_packet_t
 
struct  lisp_cp_main_t
 
struct  vnet_lisp_add_del_locator_set_args_t
 
struct  vnet_lisp_add_del_mapping_args_t
 
struct  vnet_lisp_add_del_adjacency_args_t
 
struct  vnet_lisp_add_del_map_resolver_args_t
 
struct  vnet_lisp_add_del_mreq_itr_rloc_args_t
 

Macros

#define NUMBER_OF_RETRIES   1
 
#define PENDING_MREQ_EXPIRATION_TIME   3.0 /* seconds */
 
#define PENDING_MREQ_QUEUE_LEN   5
 

Enumerations

enum  miss_packet_type_t { IP4_MISS_PACKET, IP6_MISS_PACKET }
 
enum  map_request_mode_t { MR_MODE_DST_ONLY = 0, MR_MODE_SRC_DST }
 

Functions

clib_error_tlisp_cp_init ()
 
static lisp_cp_main_tvnet_lisp_cp_get_main ()
 
int vnet_lisp_add_del_locator_set (vnet_lisp_add_del_locator_set_args_t *a, u32 *ls_index)
 
int vnet_lisp_add_del_locator (vnet_lisp_add_del_locator_set_args_t *a, locator_set_t *ls, u32 *ls_index)
 
int vnet_lisp_map_cache_add_del (vnet_lisp_add_del_mapping_args_t *a, u32 *map_index)
 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...
 
int vnet_lisp_add_del_mapping (gid_address_t *deid, locator_t *dlocs, u8 action, u8 authoritative, u32 ttl, u8 is_add, u8 is_static, u32 *res_map_index)
 Adds/removes/updates mapping. More...
 
int vnet_lisp_add_del_adjacency (vnet_lisp_add_del_adjacency_args_t *a)
 
int vnet_lisp_add_del_map_resolver (vnet_lisp_add_del_map_resolver_args_t *a)
 
clib_error_tvnet_lisp_enable_disable (u8 is_enabled)
 
u8 vnet_lisp_enable_disable_status (void)
 
int vnet_lisp_pitr_set_locator_set (u8 *locator_set_name, u8 is_add)
 
int vnet_lisp_add_del_mreq_itr_rlocs (vnet_lisp_add_del_mreq_itr_rloc_args_t *a)
 
int vnet_lisp_clear_all_remote_adjacencies (void)
 
int vnet_lisp_eid_table_map (u32 vni, u32 vrf, u8 is_l2, u8 is_add)
 
int vnet_lisp_set_map_request_mode (u8 mode)
 
u8 vnet_lisp_get_map_request_mode (void)
 
lisp_adjacency_tvnet_lisp_adjacencies_get_by_vni (u32 vni)
 Returns vector of adjacencies. More...
 
static void lisp_pending_map_request_lock (lisp_cp_main_t *lcm)
 
static void lisp_pending_map_request_unlock (lisp_cp_main_t *lcm)
 

Variables

lisp_cp_main_t lisp_control_main
 
vlib_node_registration_t lisp_cp_input_node
 (constructor) VLIB_REGISTER_NODE (lisp_cp_input_node) More...
 
vlib_node_registration_t lisp_cp_lookup_ip4_node
 (constructor) VLIB_REGISTER_NODE (lisp_cp_lookup_ip4_node) More...
 
vlib_node_registration_t lisp_cp_lookup_ip6_node
 (constructor) VLIB_REGISTER_NODE (lisp_cp_lookup_ip6_node) More...
 

Macro Definition Documentation

#define NUMBER_OF_RETRIES   1

Definition at line 23 of file control.h.

#define PENDING_MREQ_EXPIRATION_TIME   3.0 /* seconds */

Definition at line 24 of file control.h.

#define PENDING_MREQ_QUEUE_LEN   5

Definition at line 25 of file control.h.

Enumeration Type Documentation

Enumerator
MR_MODE_DST_ONLY 
MR_MODE_SRC_DST 

Definition at line 73 of file control.h.

Enumerator
IP4_MISS_PACKET 
IP6_MISS_PACKET 

Definition at line 52 of file control.h.

Function Documentation

clib_error_t* lisp_cp_init ( )
static void lisp_pending_map_request_lock ( lisp_cp_main_t lcm)
inlinestatic

Definition at line 264 of file control.h.

+ Here is the caller graph for this function:

static void lisp_pending_map_request_unlock ( lisp_cp_main_t lcm)
inlinestatic

Definition at line 272 of file control.h.

+ Here is the caller graph for this function:

int vnet_lisp_add_del_adjacency ( vnet_lisp_add_del_adjacency_args_t a)

Definition at line 1195 of file control.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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.

Definition at line 645 of file control.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_lisp_add_del_locator ( vnet_lisp_add_del_locator_set_args_t a,
locator_set_t ls,
u32 ls_index 
)

Definition at line 1943 of file control.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_lisp_add_del_locator_set ( vnet_lisp_add_del_locator_set_args_t a,
u32 ls_index 
)

Definition at line 2033 of file control.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_lisp_add_del_map_resolver ( vnet_lisp_add_del_map_resolver_args_t a)

Definition at line 2568 of file control.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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.

Does not program forwarding.

Parameters
eidend-host identifier
rlocsvector of remote locators
actionaction for negative map-reply
is_addadd mapping if non-zero, delete otherwise
res_map_indexthe map-index that was created/updated/removed. It is set to ~0 if no action is taken.
is_staticused for distinguishing between statically learned remote mappings and mappings obtained from MR
Returns
return code

Definition at line 979 of file control.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_lisp_add_del_mreq_itr_rlocs ( vnet_lisp_add_del_mreq_itr_rloc_args_t a)

Definition at line 2674 of file control.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

lisp_adjacency_t* vnet_lisp_adjacencies_get_by_vni ( u32  vni)

Returns vector of adjacencies.

The caller must free the vector returned by this function.

Parameters
vnivirtual network identifier
Returns
vector of adjacencies

Definition at line 469 of file control.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_lisp_clear_all_remote_adjacencies ( void  )

Definition at line 1094 of file control.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static lisp_cp_main_t* vnet_lisp_cp_get_main ( )
inlinestatic

Definition at line 174 of file control.h.

+ Here is the caller graph for this function:

int vnet_lisp_eid_table_map ( u32  vni,
u32  vrf,
u8  is_l2,
u8  is_add 
)

Definition at line 767 of file control.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* vnet_lisp_enable_disable ( u8  is_enabled)

Definition at line 2173 of file control.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8 vnet_lisp_enable_disable_status ( void  )

Definition at line 2257 of file control.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8 vnet_lisp_get_map_request_mode ( void  )

Definition at line 35 of file control.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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.

Overwriting not allowed.

Definition at line 546 of file control.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_lisp_pitr_set_locator_set ( u8 locator_set_name,
u8  is_add 
)

Definition at line 1563 of file control.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_lisp_set_map_request_mode ( u8  mode)

Definition at line 1442 of file control.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

lisp_cp_main_t lisp_control_main

Definition at line 165 of file control.h.

vlib_node_registration_t lisp_cp_input_node

(constructor) VLIB_REGISTER_NODE (lisp_cp_input_node)

Definition at line 3682 of file control.c.

vlib_node_registration_t lisp_cp_lookup_ip4_node

(constructor) VLIB_REGISTER_NODE (lisp_cp_lookup_ip4_node)

Definition at line 3376 of file control.c.

vlib_node_registration_t lisp_cp_lookup_ip6_node

(constructor) VLIB_REGISTER_NODE (lisp_cp_lookup_ip6_node)

Definition at line 3395 of file control.c.