FD.io VPP  v20.09-64-g4f7b92f0a
Vector Packet Processing
gbp_api.c File Reference
+ Include dependency graph for gbp_api.c:

Go to the source code of this file.

Data Structures

struct  gbp_walk_ctx_t_
 

Macros

#define vl_print(handle, ...)   vlib_cli_output (handle, __VA_ARGS__)
 
#define GBP_MSG_BASE   msg_id_base
 

Typedefs

typedef struct gbp_walk_ctx_t_ gbp_walk_ctx_t
 

Functions

static gbp_endpoint_flags_t gbp_endpoint_flags_decode (vl_api_gbp_endpoint_flags_t v)
 
static vl_api_gbp_endpoint_flags_t gbp_endpoint_flags_encode (gbp_endpoint_flags_t f)
 
static void vl_api_gbp_endpoint_add_t_handler (vl_api_gbp_endpoint_add_t *mp)
 
static void vl_api_gbp_endpoint_del_t_handler (vl_api_gbp_endpoint_del_t *mp)
 
static walk_rc_t gbp_endpoint_send_details (index_t gei, void *args)
 
static void vl_api_gbp_endpoint_dump_t_handler (vl_api_gbp_endpoint_dump_t *mp)
 
static void gbp_retention_decode (const vl_api_gbp_endpoint_retention_t *in, gbp_endpoint_retention_t *out)
 
static void vl_api_gbp_endpoint_group_add_t_handler (vl_api_gbp_endpoint_group_add_t *mp)
 
static void vl_api_gbp_endpoint_group_del_t_handler (vl_api_gbp_endpoint_group_del_t *mp)
 
static gbp_bridge_domain_flags_t gbp_bridge_domain_flags_from_api (vl_api_gbp_bridge_domain_flags_t a)
 
static void vl_api_gbp_bridge_domain_add_t_handler (vl_api_gbp_bridge_domain_add_t *mp)
 
static void vl_api_gbp_bridge_domain_del_t_handler (vl_api_gbp_bridge_domain_del_t *mp)
 
static void vl_api_gbp_route_domain_add_t_handler (vl_api_gbp_route_domain_add_t *mp)
 
static void vl_api_gbp_route_domain_del_t_handler (vl_api_gbp_route_domain_del_t *mp)
 
static int gub_subnet_type_from_api (vl_api_gbp_subnet_type_t a, gbp_subnet_type_t *t)
 
static void vl_api_gbp_subnet_add_del_t_handler (vl_api_gbp_subnet_add_del_t *mp)
 
static vl_api_gbp_subnet_type_t gub_subnet_type_to_api (gbp_subnet_type_t t)
 
static walk_rc_t gbp_subnet_send_details (u32 rd_id, const fib_prefix_t *pfx, gbp_subnet_type_t type, u32 sw_if_index, sclass_t sclass, void *args)
 
static void vl_api_gbp_subnet_dump_t_handler (vl_api_gbp_subnet_dump_t *mp)
 
static int gbp_endpoint_group_send_details (gbp_endpoint_group_t *gg, void *args)
 
static void vl_api_gbp_endpoint_group_dump_t_handler (vl_api_gbp_endpoint_group_dump_t *mp)
 
static int gbp_bridge_domain_send_details (gbp_bridge_domain_t *gb, void *args)
 
static void vl_api_gbp_bridge_domain_dump_t_handler (vl_api_gbp_bridge_domain_dump_t *mp)
 
static int gbp_route_domain_send_details (gbp_route_domain_t *grd, void *args)
 
static void vl_api_gbp_route_domain_dump_t_handler (vl_api_gbp_route_domain_dump_t *mp)
 
static void vl_api_gbp_recirc_add_del_t_handler (vl_api_gbp_recirc_add_del_t *mp)
 
static walk_rc_t gbp_recirc_send_details (gbp_recirc_t *gr, void *args)
 
static void vl_api_gbp_recirc_dump_t_handler (vl_api_gbp_recirc_dump_t *mp)
 
static void vl_api_gbp_ext_itf_add_del_t_handler (vl_api_gbp_ext_itf_add_del_t *mp)
 
static walk_rc_t gbp_ext_itf_send_details (gbp_ext_itf_t *gx, void *args)
 
static void vl_api_gbp_ext_itf_dump_t_handler (vl_api_gbp_ext_itf_dump_t *mp)
 
static int gbp_contract_rule_action_deocde (vl_api_gbp_rule_action_t in, gbp_rule_action_t *out)
 
static int gbp_hash_mode_decode (vl_api_gbp_hash_mode_t in, gbp_hash_mode_t *out)
 
static int gbp_next_hop_decode (const vl_api_gbp_next_hop_t *in, index_t *gnhi)
 
static int gbp_next_hop_set_decode (const vl_api_gbp_next_hop_set_t *in, gbp_hash_mode_t *hash_mode, index_t **out)
 
static int gbp_contract_rule_decode (const vl_api_gbp_rule_t *in, index_t *gui)
 
static int gbp_contract_rules_decode (u8 n_rules, const vl_api_gbp_rule_t *rules, index_t **out)
 
static void vl_api_gbp_contract_add_del_t_handler (vl_api_gbp_contract_add_del_t *mp)
 
static int gbp_contract_send_details (gbp_contract_t *gbpc, void *args)
 
static void vl_api_gbp_contract_dump_t_handler (vl_api_gbp_contract_dump_t *mp)
 
static int gbp_vxlan_tunnel_mode_2_layer (vl_api_gbp_vxlan_tunnel_mode_t mode, gbp_vxlan_tunnel_layer_t *l)
 
static void vl_api_gbp_vxlan_tunnel_add_t_handler (vl_api_gbp_vxlan_tunnel_add_t *mp)
 
static void vl_api_gbp_vxlan_tunnel_del_t_handler (vl_api_gbp_vxlan_tunnel_add_t *mp)
 
static vl_api_gbp_vxlan_tunnel_mode_t gbp_vxlan_tunnel_layer_2_mode (gbp_vxlan_tunnel_layer_t layer)
 
static walk_rc_t gbp_vxlan_tunnel_send_details (gbp_vxlan_tunnel_t *gt, void *args)
 
static void vl_api_gbp_vxlan_tunnel_dump_t_handler (vl_api_gbp_vxlan_tunnel_dump_t *mp)
 
static clib_error_tgbp_init (vlib_main_t *vm)
 
 VLIB_API_INIT_FUNCTION (gbp_init)
 
 VLIB_PLUGIN_REGISTER ()
 

Variables

gbp_main_t gbp_main
 
static u16 msg_id_base
 

Macro Definition Documentation

◆ GBP_MSG_BASE

#define GBP_MSG_BASE   msg_id_base

Definition at line 51 of file gbp_api.c.

◆ vl_print

#define vl_print (   handle,
  ... 
)    vlib_cli_output (handle, __VA_ARGS__)

Definition at line 44 of file gbp_api.c.

Typedef Documentation

◆ gbp_walk_ctx_t

Function Documentation

◆ gbp_bridge_domain_flags_from_api()

static gbp_bridge_domain_flags_t gbp_bridge_domain_flags_from_api ( vl_api_gbp_bridge_domain_flags_t  a)
static

Definition at line 284 of file gbp_api.c.

+ Here is the caller graph for this function:

◆ gbp_bridge_domain_send_details()

static int gbp_bridge_domain_send_details ( gbp_bridge_domain_t gb,
void *  args 
)
static

Definition at line 532 of file gbp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gbp_contract_rule_action_deocde()

static int gbp_contract_rule_action_deocde ( vl_api_gbp_rule_action_t  in,
gbp_rule_action_t out 
)
static

Definition at line 754 of file gbp_api.c.

+ Here is the caller graph for this function:

◆ gbp_contract_rule_decode()

static int gbp_contract_rule_decode ( const vl_api_gbp_rule_t *  in,
index_t gui 
)
static

Definition at line 853 of file gbp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gbp_contract_rules_decode()

static int gbp_contract_rules_decode ( u8  n_rules,
const vl_api_gbp_rule_t *  rules,
index_t **  out 
)
static

Definition at line 883 of file gbp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gbp_contract_send_details()

static int gbp_contract_send_details ( gbp_contract_t gbpc,
void *  args 
)
static

Definition at line 967 of file gbp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gbp_endpoint_flags_decode()

static gbp_endpoint_flags_t gbp_endpoint_flags_decode ( vl_api_gbp_endpoint_flags_t  v)
static

Definition at line 54 of file gbp_api.c.

+ Here is the caller graph for this function:

◆ gbp_endpoint_flags_encode()

static vl_api_gbp_endpoint_flags_t gbp_endpoint_flags_encode ( gbp_endpoint_flags_t  f)
static

Definition at line 73 of file gbp_api.c.

+ Here is the caller graph for this function:

◆ gbp_endpoint_group_send_details()

static int gbp_endpoint_group_send_details ( gbp_endpoint_group_t gg,
void *  args 
)
static

Definition at line 488 of file gbp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gbp_endpoint_send_details()

static walk_rc_t gbp_endpoint_send_details ( index_t  gei,
void *  args 
)
static

Definition at line 170 of file gbp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gbp_ext_itf_send_details()

static walk_rc_t gbp_ext_itf_send_details ( gbp_ext_itf_t gx,
void *  args 
)
static

Definition at line 712 of file gbp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gbp_hash_mode_decode()

static int gbp_hash_mode_decode ( vl_api_gbp_hash_mode_t  in,
gbp_hash_mode_t out 
)
static

Definition at line 776 of file gbp_api.c.

+ Here is the caller graph for this function:

◆ gbp_init()

static clib_error_t* gbp_init ( vlib_main_t vm)
static

Definition at line 1127 of file gbp_api.c.

+ Here is the call graph for this function:

◆ gbp_next_hop_decode()

static int gbp_next_hop_decode ( const vl_api_gbp_next_hop_t *  in,
index_t gnhi 
)
static

Definition at line 797 of file gbp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gbp_next_hop_set_decode()

static int gbp_next_hop_set_decode ( const vl_api_gbp_next_hop_set_t *  in,
gbp_hash_mode_t hash_mode,
index_t **  out 
)
static

Definition at line 822 of file gbp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gbp_recirc_send_details()

static walk_rc_t gbp_recirc_send_details ( gbp_recirc_t gr,
void *  args 
)
static

Definition at line 644 of file gbp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gbp_retention_decode()

static void gbp_retention_decode ( const vl_api_gbp_endpoint_retention_t *  in,
gbp_endpoint_retention_t out 
)
static

Definition at line 245 of file gbp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gbp_route_domain_send_details()

static int gbp_route_domain_send_details ( gbp_route_domain_t grd,
void *  args 
)
static

Definition at line 579 of file gbp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gbp_subnet_send_details()

static walk_rc_t gbp_subnet_send_details ( u32  rd_id,
const fib_prefix_t pfx,
gbp_subnet_type_t  type,
u32  sw_if_index,
sclass_t  sclass,
void *  args 
)
static

Definition at line 442 of file gbp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gbp_vxlan_tunnel_layer_2_mode()

static vl_api_gbp_vxlan_tunnel_mode_t gbp_vxlan_tunnel_layer_2_mode ( gbp_vxlan_tunnel_layer_t  layer)
static

Definition at line 1066 of file gbp_api.c.

+ Here is the caller graph for this function:

◆ gbp_vxlan_tunnel_mode_2_layer()

static int gbp_vxlan_tunnel_mode_2_layer ( vl_api_gbp_vxlan_tunnel_mode_t  mode,
gbp_vxlan_tunnel_layer_t l 
)
static

Definition at line 1009 of file gbp_api.c.

+ Here is the caller graph for this function:

◆ gbp_vxlan_tunnel_send_details()

static walk_rc_t gbp_vxlan_tunnel_send_details ( gbp_vxlan_tunnel_t gt,
void *  args 
)
static

Definition at line 1085 of file gbp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gub_subnet_type_from_api()

static int gub_subnet_type_from_api ( vl_api_gbp_subnet_type_t  a,
gbp_subnet_type_t t 
)
static

Definition at line 359 of file gbp_api.c.

+ Here is the caller graph for this function:

◆ gub_subnet_type_to_api()

static vl_api_gbp_subnet_type_t gub_subnet_type_to_api ( gbp_subnet_type_t  t)
static

Definition at line 413 of file gbp_api.c.

+ Here is the caller graph for this function:

◆ vl_api_gbp_bridge_domain_add_t_handler()

static void vl_api_gbp_bridge_domain_add_t_handler ( vl_api_gbp_bridge_domain_add_t mp)
static

Definition at line 304 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_bridge_domain_del_t_handler()

static void vl_api_gbp_bridge_domain_del_t_handler ( vl_api_gbp_bridge_domain_del_t mp)
static

Definition at line 321 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_bridge_domain_dump_t_handler()

static void vl_api_gbp_bridge_domain_dump_t_handler ( vl_api_gbp_bridge_domain_dump_t mp)
static

Definition at line 562 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_contract_add_del_t_handler()

static void vl_api_gbp_contract_add_del_t_handler ( vl_api_gbp_contract_add_del_t mp)
static

Definition at line 916 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_contract_dump_t_handler()

static void vl_api_gbp_contract_dump_t_handler ( vl_api_gbp_contract_dump_t mp)
static

Definition at line 992 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_endpoint_add_t_handler()

static void vl_api_gbp_endpoint_add_t_handler ( vl_api_gbp_endpoint_add_t mp)
static

Definition at line 93 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_endpoint_del_t_handler()

static void vl_api_gbp_endpoint_del_t_handler ( vl_api_gbp_endpoint_del_t mp)
static

Definition at line 153 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_endpoint_dump_t_handler()

static void vl_api_gbp_endpoint_dump_t_handler ( vl_api_gbp_endpoint_dump_t mp)
static

Definition at line 228 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_endpoint_group_add_t_handler()

static void vl_api_gbp_endpoint_group_add_t_handler ( vl_api_gbp_endpoint_group_add_t mp)
static

Definition at line 253 of file gbp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vl_api_gbp_endpoint_group_del_t_handler()

static void vl_api_gbp_endpoint_group_del_t_handler ( vl_api_gbp_endpoint_group_del_t mp)
static

Definition at line 273 of file gbp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vl_api_gbp_endpoint_group_dump_t_handler()

static void vl_api_gbp_endpoint_group_dump_t_handler ( vl_api_gbp_endpoint_group_dump_t mp)
static

Definition at line 514 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_ext_itf_add_del_t_handler()

static void vl_api_gbp_ext_itf_add_del_t_handler ( vl_api_gbp_ext_itf_add_del_t mp)
static

Definition at line 685 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_ext_itf_dump_t_handler()

static void vl_api_gbp_ext_itf_dump_t_handler ( vl_api_gbp_ext_itf_dump_t mp)
static

Definition at line 737 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_recirc_add_del_t_handler()

static void vl_api_gbp_recirc_add_del_t_handler ( vl_api_gbp_recirc_add_del_t mp)
static

Definition at line 622 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_recirc_dump_t_handler()

static void vl_api_gbp_recirc_dump_t_handler ( vl_api_gbp_recirc_dump_t mp)
static

Definition at line 668 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_route_domain_add_t_handler()

static void vl_api_gbp_route_domain_add_t_handler ( vl_api_gbp_route_domain_add_t mp)
static

Definition at line 332 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_route_domain_del_t_handler()

static void vl_api_gbp_route_domain_del_t_handler ( vl_api_gbp_route_domain_del_t mp)
static

Definition at line 348 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_route_domain_dump_t_handler()

static void vl_api_gbp_route_domain_dump_t_handler ( vl_api_gbp_route_domain_dump_t mp)
static

Definition at line 605 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_subnet_add_del_t_handler()

static void vl_api_gbp_subnet_add_del_t_handler ( vl_api_gbp_subnet_add_del_t mp)
static

Definition at line 386 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_subnet_dump_t_handler()

static void vl_api_gbp_subnet_dump_t_handler ( vl_api_gbp_subnet_dump_t mp)
static

Definition at line 471 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_vxlan_tunnel_add_t_handler()

static void vl_api_gbp_vxlan_tunnel_add_t_handler ( vl_api_gbp_vxlan_tunnel_add_t mp)
static

Definition at line 1027 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_vxlan_tunnel_del_t_handler()

static void vl_api_gbp_vxlan_tunnel_del_t_handler ( vl_api_gbp_vxlan_tunnel_add_t mp)
static

Definition at line 1055 of file gbp_api.c.

+ Here is the call graph for this function:

◆ vl_api_gbp_vxlan_tunnel_dump_t_handler()

static void vl_api_gbp_vxlan_tunnel_dump_t_handler ( vl_api_gbp_vxlan_tunnel_dump_t mp)
static

Definition at line 1109 of file gbp_api.c.

+ Here is the call graph for this function:

◆ VLIB_API_INIT_FUNCTION()

VLIB_API_INIT_FUNCTION ( gbp_init  )
+ Here is the caller graph for this function:

◆ VLIB_PLUGIN_REGISTER()

VLIB_PLUGIN_REGISTER ( )
+ Here is the caller graph for this function:

Variable Documentation

◆ gbp_main

gbp_main_t gbp_main

Definition at line 47 of file gbp_api.c.

◆ msg_id_base

u16 msg_id_base
static

Definition at line 49 of file gbp_api.c.