Go to the source code of this file.
|
static void | gbp_ip_epg_update (const ip46_address_t *ip, epg_id_t epg_id) |
|
static void | gbp_ip_epg_delete (const ip46_address_t *ip) |
|
static void | gbp_itf_epg_update (u32 sw_if_index, epg_id_t src_epg) |
|
static void | gbp_itf_epg_delete (u32 sw_if_index) |
|
void | gbp_endpoint_update (u32 sw_if_index, const ip46_address_t *ip, epg_id_t epg_id) |
|
void | gbp_endpoint_delete (u32 sw_if_index, const ip46_address_t *ip) |
|
void | gbp_endpoint_walk (gbp_endpoint_cb_t cb, void *ctx) |
|
void | gbp_contract_update (epg_id_t src_epg, epg_id_t dst_epg, u32 acl_index) |
|
void | gbp_contract_delete (epg_id_t src_epg, epg_id_t dst_epg) |
|
void | gbp_contract_walk (gbp_contract_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) |
|
static clib_error_t * | gbp_contract_cli (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static int | gbp_endpoint_show_one (gbp_endpoint_t *gbpe, void *ctx) |
|
static clib_error_t * | gbp_endpoint_show (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static clib_error_t * | gbp_contract_show (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static uword | gbp_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, int is_ip6) |
|
static u8 * | format_gbp_trace (u8 *s, va_list *args) |
|
static uword | gbp_4 (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static uword | gbp_6 (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
| VLIB_NODE_FUNCTION_MULTIARCH (gbp_4_node, gbp_4) |
|
| VNET_FEATURE_INIT (gbp_4_node, static) |
|
| VLIB_NODE_FUNCTION_MULTIARCH (gbp_6_node, gbp_6) |
|
| VNET_FEATURE_INIT (gbp_6_node, static) |
|
static clib_error_t * | gbp_init (vlib_main_t *vm) |
|
#define foreach_gbp _(DENY, "deny") |
EPG src,dst pair to ACL mapping table, aka contract DB.
IP4 destintion address to destination EPG mapping table.
IP6 destintion address to destination EPG mapping table.
Result of a interface to EPG mapping.
multiple Endpoints can occur on the same interface, so this mapping needs to be reference counted.
Interface to source EPG DB - a per-interface vector.
static u8* format_gbp_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
void gbp_endpoint_delete |
( |
u32 |
sw_if_index, |
|
|
const ip46_address_t * |
ip |
|
) |
| |
static int gbp_endpoint_show_one |
( |
gbp_endpoint_t * |
gbpe, |
|
|
void * |
ctx |
|
) |
| |
|
static |
void gbp_endpoint_update |
( |
u32 |
sw_if_index, |
|
|
const ip46_address_t * |
ip, |
|
|
epg_id_t |
epg_id |
|
) |
| |
static void gbp_ip_epg_delete |
( |
const ip46_address_t * |
ip | ) |
|
|
static |
static void gbp_ip_epg_update |
( |
const ip46_address_t * |
ip, |
|
|
epg_id_t |
epg_id |
|
) |
| |
|
static |
Definition at line 99 of file gbp.c.
static void gbp_itf_epg_delete |
( |
u32 |
sw_if_index | ) |
|
|
static |
static void gbp_itf_epg_update |
( |
u32 |
sw_if_index, |
|
|
epg_id_t |
src_epg |
|
) |
| |
|
static |
Initial value:= {
.name = "gbp4",
.vector_size =
sizeof (
u32),
.next_nodes = {
[GBP_NEXT_DENY] = "ip4-drop",
},
}
static char * gbp_error_strings[]
static u8 * format_gbp_trace(u8 *s, va_list *args)
static uword gbp_4(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
(constructor) VLIB_REGISTER_NODE (gbp_4_node)
Definition at line 712 of file gbp.c.
Initial value:= {
.name = "gbp6",
.vector_size =
sizeof (
u32),
.next_nodes = {
[GBP_NEXT_DENY] = "ip6-drop",
},
}
static char * gbp_error_strings[]
static uword gbp_6(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
static u8 * format_gbp_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (gbp_6_node)
Definition at line 737 of file gbp.c.
Initial value:= {
.path = "gbp contract",
.short_help = "gbp contract [del] src-epg <ID> dst-epg <ID> acl-index <ACL>",
}
static clib_error_t * gbp_contract_cli(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
(constructor) VLIB_CLI_COMMAND (gbp_contract_cli_node)
Definition at line 385 of file gbp.c.
Since contract DB instance.
Definition at line 96 of file gbp.c.
Initial value:= {
.path = "show gbp contract",
.short_help = "show gbp contract\n",
}
static clib_error_t * gbp_contract_show(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
(constructor) VLIB_CLI_COMMAND (gbp_contract_show_node)
Definition at line 498 of file gbp.c.
Initial value:= {
.path = "gbp endpoint",
.short_help = "gbp endpoint [del] <interface> epg <ID> ip <IP>",
}
static clib_error_t * gbp_endpoint_cli(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
(constructor) VLIB_CLI_COMMAND (gbp_endpoint_cli_node)
Definition at line 372 of file gbp.c.
DB of endpoints.
Definition at line 80 of file gbp.c.
Pool of GBP endpoints.
Definition at line 75 of file gbp.c.
Initial value:= {
.path = "show gbp endpoint",
.short_help = "show gbp endpoint\n",
}
static clib_error_t * gbp_endpoint_show(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
(constructor) VLIB_CLI_COMMAND (gbp_endpoint_show_node)
Definition at line 483 of file gbp.c.
char* gbp_error_strings[] |
|
static |
Initial value:= {
#define _(sym,string)
}
Definition at line 516 of file gbp.c.
Definition at line 31 of file gbp.c.
Definition at line 44 of file gbp.c.
Definition at line 70 of file gbp.c.
Initial value:
Definition at line 57 of file gbp.c.