FD.io VPP
v18.10-34-gcce845e
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | gbp_endpoint_t_ |
A Group Based Policy Endpoint. More... | |
struct | gbp_ep_by_itf_db_t_ |
Interface to source EPG DB - a per-interface vector. More... | |
struct | gbp_ep_by_ip_itf_db_t_ |
struct | gbp_ep_by_mac_itf_db_t_ |
Typedefs | |
typedef enum gbp_endpoint_flags_t_ | gbp_endpoint_flags_t |
Flags for each endpoint. More... | |
typedef struct gbp_endpoint_t_ | gbp_endpoint_t |
A Group Based Policy Endpoint. More... | |
typedef struct gbp_ep_by_itf_db_t_ | gbp_ep_by_itf_db_t |
Interface to source EPG DB - a per-interface vector. More... | |
typedef struct gbp_ep_by_ip_itf_db_t_ | gbp_ep_by_ip_itf_db_t |
typedef struct gbp_ep_by_mac_itf_db_t_ | gbp_ep_by_mac_itf_db_t |
typedef walk_rc_t(* | gbp_endpoint_cb_t) (gbp_endpoint_t *gbpe, void *ctx) |
Enumerations | |
enum | gbp_endpoint_flags_t_ { GBP_ENDPOINT_FLAG_NONE = 0, GBP_ENDPOINT_FLAG_BOUNCE = (1 << 0), GBP_ENDPOINT_FLAG_DYNAMIC = (1 << 1) } |
Flags for each endpoint. More... | |
Functions | |
u8 * | format_gbp_endpoint (u8 *s, va_list *args) |
int | gbp_endpoint_update (u32 sw_if_index, const ip46_address_t *ip, const mac_address_t *mac, epg_id_t epg_id, u32 *handle) |
void | gbp_endpoint_delete (u32 handle) |
void | gbp_endpoint_walk (gbp_endpoint_cb_t cb, void *ctx) |
static gbp_endpoint_t * | gbp_endpoint_get (index_t gbpei) |
Get the endpoint from a port/interface. More... | |
static gbp_endpoint_t * | gbp_endpoint_get_itf (u32 sw_if_index) |
Variables | |
gbp_ep_by_itf_db_t | gbp_ep_by_itf_db |
DP functions and databases. More... | |
gbp_ep_by_mac_itf_db_t | gbp_ep_by_mac_itf_db |
gbp_ep_by_ip_itf_db_t | gbp_ep_by_ip_itf_db |
gbp_endpoint_t * | gbp_endpoint_pool |
Pool of GBP endpoints. More... | |
typedef walk_rc_t(* gbp_endpoint_cb_t) (gbp_endpoint_t *gbpe, void *ctx) |
Definition at line 100 of file gbp_endpoint.h.
typedef enum gbp_endpoint_flags_t_ gbp_endpoint_flags_t |
Flags for each endpoint.
typedef struct gbp_endpoint_t_ gbp_endpoint_t |
A Group Based Policy Endpoint.
This is typically a VM or container. If the endpoint is local (i.e. on the same compute node as VPP) then there is one interface per-endpoint. If the EP is remote,e.g. reachable over a [vxlan] tunnel, then there will be multiple EPs reachable over the tunnel and they can be distinguished via either their MAC or IP Address[es].
typedef struct gbp_ep_by_ip_itf_db_t_ gbp_ep_by_ip_itf_db_t |
typedef struct gbp_ep_by_itf_db_t_ gbp_ep_by_itf_db_t |
Interface to source EPG DB - a per-interface vector.
typedef struct gbp_ep_by_mac_itf_db_t_ gbp_ep_by_mac_itf_db_t |
Flags for each endpoint.
Enumerator | |
---|---|
GBP_ENDPOINT_FLAG_NONE | |
GBP_ENDPOINT_FLAG_BOUNCE | |
GBP_ENDPOINT_FLAG_DYNAMIC |
Definition at line 31 of file gbp_endpoint.h.
Definition at line 458 of file gbp_endpoint.c.
void gbp_endpoint_delete | ( | u32 | handle | ) |
Definition at line 334 of file gbp_endpoint.c.
|
inlinestatic |
Get the endpoint from a port/interface.
Definition at line 116 of file gbp_endpoint.h.
|
inlinestatic |
Definition at line 122 of file gbp_endpoint.h.
int gbp_endpoint_update | ( | u32 | sw_if_index, |
const ip46_address_t * | ip, | ||
const mac_address_t * | mac, | ||
epg_id_t | epg_id, | ||
u32 * | handle | ||
) |
Definition at line 236 of file gbp_endpoint.c.
void gbp_endpoint_walk | ( | gbp_endpoint_cb_t | cb, |
void * | ctx | ||
) |
gbp_endpoint_t* gbp_endpoint_pool |
Pool of GBP endpoints.
Definition at line 33 of file gbp_endpoint.c.
gbp_ep_by_ip_itf_db_t gbp_ep_by_ip_itf_db |
Definition at line 28 of file gbp_endpoint.c.
gbp_ep_by_itf_db_t gbp_ep_by_itf_db |
DP functions and databases.
Definition at line 26 of file gbp_endpoint.c.
gbp_ep_by_mac_itf_db_t gbp_ep_by_mac_itf_db |
Definition at line 27 of file gbp_endpoint.c.