FD.io VPP  v16.09
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  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 }
 

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)
 
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_node
 (constructor) VLIB_REGISTER_NODE (lisp_cp_lookup_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
IP4_MISS_PACKET 
IP6_MISS_PACKET 

Definition at line 45 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 244 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 252 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 989 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 521 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 1654 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 1744 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 2250 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 776 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 2356 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 889 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 157 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 643 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 1884 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 1969 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 422 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 1274 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 149 of file control.h.

vlib_node_registration_t lisp_cp_input_node

(constructor) VLIB_REGISTER_NODE (lisp_cp_input_node)

Definition at line 3308 of file control.c.

vlib_node_registration_t lisp_cp_lookup_node

(constructor) VLIB_REGISTER_NODE (lisp_cp_lookup_node)

Definition at line 3038 of file control.c.