X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fclassify%2Fin_out_acl.h;fp=src%2Fvnet%2Fclassify%2Finput_acl.h;h=be0323055d87e9f05e5549f641f59b528a4500d6;hb=815d7d5637fbffd20bf81c74fd59dac8e4fe4d94;hp=a5f3bac6b99145aa925dd0a8c45f564ed3146e81;hpb=dac03527f64216e132953a1a1d47b414e6841c68;p=vpp.git diff --git a/src/vnet/classify/input_acl.h b/src/vnet/classify/in_out_acl.h similarity index 55% rename from src/vnet/classify/input_acl.h rename to src/vnet/classify/in_out_acl.h index a5f3bac6b99..be0323055d8 100644 --- a/src/vnet/classify/input_acl.h +++ b/src/vnet/classify/in_out_acl.h @@ -13,48 +13,68 @@ * limitations under the License. */ -#ifndef __included_vnet_input_acl_h__ -#define __included_vnet_input_acl_h__ +#ifndef __included_vnet_in_out_acl_h__ +#define __included_vnet_in_out_acl_h__ #include #include #include -typedef enum -{ - INPUT_ACL_TABLE_IP4, - INPUT_ACL_TABLE_IP6, - INPUT_ACL_TABLE_L2, - INPUT_ACL_N_TABLES, -} input_acl_table_id_t; - typedef enum { ACL_NEXT_INDEX_DENY, ACL_NEXT_INDEX_N_NEXT, } acl_next_index_t; +typedef enum +{ + IN_OUT_ACL_TABLE_IP4, + IN_OUT_ACL_TABLE_IP6, + IN_OUT_ACL_TABLE_L2, + IN_OUT_ACL_N_TABLES, +} in_out_acl_table_id_t; + +typedef enum +{ + IN_OUT_ACL_INPUT_TABLE_GROUP, + IN_OUT_ACL_OUTPUT_TABLE_GROUP, + IN_OUT_ACL_N_TABLE_GROUPS +} in_out_acl_table_group_id_t; + typedef struct { /* classifier table vectors */ - u32 *classify_table_index_by_sw_if_index[INPUT_ACL_N_TABLES]; + u32 + * classify_table_index_by_sw_if_index[IN_OUT_ACL_N_TABLE_GROUPS] + [IN_OUT_ACL_N_TABLES]; /* convenience variables */ vlib_main_t *vlib_main; vnet_main_t *vnet_main; vnet_classify_main_t *vnet_classify_main; - vnet_config_main_t *vnet_config_main[INPUT_ACL_N_TABLES]; -} input_acl_main_t; + vnet_config_main_t + * vnet_config_main[IN_OUT_ACL_N_TABLE_GROUPS][IN_OUT_ACL_N_TABLES]; +} in_out_acl_main_t; -extern input_acl_main_t input_acl_main; +extern in_out_acl_main_t in_out_acl_main; + +int vnet_set_in_out_acl_intfc (vlib_main_t * vm, u32 sw_if_index, + u32 ip4_table_index, + u32 ip6_table_index, + u32 l2_table_index, u32 is_add, u32 is_output); int vnet_set_input_acl_intfc (vlib_main_t * vm, u32 sw_if_index, u32 ip4_table_index, u32 ip6_table_index, u32 l2_table_index, u32 is_add); -#endif /* __included_vnet_input_acl_h__ */ +int vnet_set_output_acl_intfc (vlib_main_t * vm, u32 sw_if_index, + u32 ip4_table_index, + u32 ip6_table_index, + u32 l2_table_index, u32 is_add); + +#endif /* __included_vnet_in_out_acl_h__ */ /* * fd.io coding-style-patch-verification: ON