![]() |
FD.io VPP
v19.04.4-rc0-5-ge88582fac
Vector Packet Processing
|
Include dependency graph for gbp_contract.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | gbp_contract_key_t_ |
| The key for an Contract. More... | |
| struct | gbp_next_hop_t_ |
| struct | gbp_rule_t_ |
| struct | gbp_contract_t_ |
| A Group Based Policy Contract. More... | |
| struct | gbp_contract_db_t_ |
| EPG src,dst pair to ACL mapping table, aka contract DB. More... | |
Macros | |
| #define | foreach_gbp_policy_error |
| #define | foreach_gbp_hash_mode |
| #define | foreach_gbp_rule_action |
| #define | foreach_gbp_policy_node |
| #define | GBP_POLICY_N_NODES (GBP_POLICY_NODE_IP6+1) |
| #define | FOR_EACH_GBP_POLICY_NODE(pnode) for (pnode = GBP_POLICY_NODE_L2; pnode < GBP_POLICY_N_NODES; pnode++) |
Typedefs | |
| typedef struct gbp_contract_key_t_ | gbp_contract_key_t |
| The key for an Contract. More... | |
| typedef struct gbp_next_hop_t_ | gbp_next_hop_t |
| typedef enum gbp_hash_mode_t_ | gbp_hash_mode_t |
| typedef enum gbp_rule_action_t_ | gbp_rule_action_t |
| typedef enum gbp_policy_node_t_ | gbp_policy_node_t |
| typedef struct gbp_rule_t_ | gbp_rule_t |
| typedef struct gbp_contract_t_ | gbp_contract_t |
| A Group Based Policy Contract. More... | |
| typedef struct gbp_contract_db_t_ | gbp_contract_db_t |
| EPG src,dst pair to ACL mapping table, aka contract DB. More... | |
| typedef int(* | gbp_contract_cb_t) (gbp_contract_t *gbpe, void *ctx) |
Enumerations | |
| enum | gbp_hash_mode_t_ { foreach_gbp_hash_mode } |
| enum | gbp_rule_action_t_ { foreach_gbp_rule_action } |
| enum | gbp_policy_node_t_ { foreach_gbp_policy_node } |
Functions | |
| int | gbp_contract_update (sclass_t sclass, sclass_t dclass, u32 acl_index, index_t *rules, u16 *allowed_ethertypes, u32 *stats_index) |
| int | gbp_contract_delete (sclass_t sclass, sclass_t dclass) |
| index_t | gbp_rule_alloc (gbp_rule_action_t action, gbp_hash_mode_t hash_mode, index_t *nhs) |
| index_t | gbp_next_hop_alloc (const ip46_address_t *ip, index_t grd, const mac_address_t *mac, index_t gbd) |
| void | gbp_contract_walk (gbp_contract_cb_t bgpe, void *ctx) |
| u8 * | format_gbp_contract (u8 *s, va_list *args) |
| static index_t | gbp_contract_find (gbp_contract_key_t *key) |
| static gbp_contract_t * | gbp_contract_get (index_t gci) |
| static gbp_rule_t * | gbp_rule_get (index_t gui) |
Variables | |
| gbp_contract_db_t | gbp_contract_db |
| DP functions and databases. More... | |
| gbp_contract_t * | gbp_contract_pool |
| gbp_rule_t * | gbp_rule_pool |
| vlib_combined_counter_main_t | gbp_contract_permit_counters |
| vlib_combined_counter_main_t | gbp_contract_drop_counters |
| #define FOR_EACH_GBP_POLICY_NODE | ( | pnode | ) | for (pnode = GBP_POLICY_NODE_L2; pnode < GBP_POLICY_N_NODES; pnode++) |
Definition at line 100 of file gbp_contract.h.
| #define foreach_gbp_hash_mode |
Definition at line 63 of file gbp_contract.h.
| #define foreach_gbp_policy_error |
Definition at line 21 of file gbp_contract.h.
| #define foreach_gbp_policy_node |
Definition at line 87 of file gbp_contract.h.
| #define foreach_gbp_rule_action |
Definition at line 75 of file gbp_contract.h.
| #define GBP_POLICY_N_NODES (GBP_POLICY_NODE_IP6+1) |
Definition at line 98 of file gbp_contract.h.
| typedef int(* gbp_contract_cb_t) (gbp_contract_t *gbpe, void *ctx) |
Definition at line 164 of file gbp_contract.h.
| typedef struct gbp_contract_db_t_ gbp_contract_db_t |
EPG src,dst pair to ACL mapping table, aka contract DB.
| typedef struct gbp_contract_key_t_ gbp_contract_key_t |
The key for an Contract.
| typedef struct gbp_contract_t_ gbp_contract_t |
A Group Based Policy Contract.
Determines the ACL that applies to traffic pass between two endpoint groups
| typedef enum gbp_hash_mode_t_ gbp_hash_mode_t |
| typedef struct gbp_next_hop_t_ gbp_next_hop_t |
| typedef enum gbp_policy_node_t_ gbp_policy_node_t |
| typedef enum gbp_rule_action_t_ gbp_rule_action_t |
| typedef struct gbp_rule_t_ gbp_rule_t |
| enum gbp_hash_mode_t_ |
| Enumerator | |
|---|---|
| foreach_gbp_hash_mode | |
Definition at line 68 of file gbp_contract.h.
| enum gbp_policy_node_t_ |
| Enumerator | |
|---|---|
| foreach_gbp_policy_node | |
Definition at line 92 of file gbp_contract.h.
| enum gbp_rule_action_t_ |
| Enumerator | |
|---|---|
| foreach_gbp_rule_action | |
Definition at line 80 of file gbp_contract.h.
Definition at line 627 of file gbp_contract.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 516 of file gbp_contract.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
|
inlinestatic |
| int gbp_contract_update | ( | sclass_t | sclass, |
| sclass_t | dclass, | ||
| u32 | acl_index, | ||
| index_t * | rules, | ||
| u16 * | allowed_ethertypes, | ||
| u32 * | stats_index | ||
| ) |
Definition at line 447 of file gbp_contract.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void gbp_contract_walk | ( | gbp_contract_cb_t | bgpe, |
| void * | ctx | ||
| ) |
| index_t gbp_next_hop_alloc | ( | const ip46_address_t * | ip, |
| index_t | grd, | ||
| const mac_address_t * | mac, | ||
| index_t | gbd | ||
| ) |
Definition at line 70 of file gbp_contract.c.
Here is the call graph for this function:
Here is the caller graph for this function:| index_t gbp_rule_alloc | ( | gbp_rule_action_t | action, |
| gbp_hash_mode_t | hash_mode, | ||
| index_t * | nhs | ||
| ) |
|
inlinestatic |
| gbp_contract_db_t gbp_contract_db |
DP functions and databases.
DP functions and databases.
Definition at line 29 of file gbp_contract.c.
| vlib_combined_counter_main_t gbp_contract_drop_counters |
Definition at line 49 of file gbp_contract.c.
| vlib_combined_counter_main_t gbp_contract_permit_counters |
Definition at line 44 of file gbp_contract.c.
| gbp_contract_t* gbp_contract_pool |
Definition at line 31 of file gbp_contract.c.
| gbp_rule_t* gbp_rule_pool |
Definition at line 37 of file gbp_contract.c.