|
25 | 25 | #include <vpp/app/version.h> |
26 | 26 |
|
27 | 27 | #include <vnet/ethernet/ethernet_types_api.h> |
| 28 | +#include <vnet/ip/format.h> |
| 29 | +#include <vnet/ethernet/ethernet.h> |
| 30 | +#include <vnet/ip/ip_types_api.h> |
28 | 31 |
|
29 | 32 | #include <vlibapi/api.h> |
30 | 33 | #include <vlibmemory/api.h> |
|
34 | 37 | #include <acl/acl.api_types.h> |
35 | 38 |
|
36 | 39 | #define vl_print(handle, ...) vlib_cli_output (handle, __VA_ARGS__) |
37 | | -#include "manual_fns.h" |
38 | 40 |
|
39 | 41 | #include "fa_node.h" |
40 | 42 | #include "public_inlines.h" |
@@ -132,6 +134,26 @@ print_cli_and_reset (vlib_main_t * vm, u8 * out0) |
132 | 134 |
|
133 | 135 | typedef void (*acl_vector_print_func_t) (vlib_main_t * vm, u8 * out0); |
134 | 136 |
|
| 137 | +static inline u8 * |
| 138 | +format_acl_action (u8 * s, u8 action) |
| 139 | +{ |
| 140 | + switch (action) |
| 141 | + { |
| 142 | + case 0: |
| 143 | + s = format (s, "deny"); |
| 144 | + break; |
| 145 | + case 1: |
| 146 | + s = format (s, "permit"); |
| 147 | + break; |
| 148 | + case 2: |
| 149 | + s = format (s, "permit+reflect"); |
| 150 | + break; |
| 151 | + default: |
| 152 | + s = format (s, "action %d", action); |
| 153 | + } |
| 154 | + return (s); |
| 155 | +} |
| 156 | + |
135 | 157 | static void |
136 | 158 | acl_print_acl_x (acl_vector_print_func_t vpr, vlib_main_t * vm, |
137 | 159 | acl_main_t * am, int acl_index) |
@@ -629,16 +651,16 @@ acl_interface_set_inout_acl_list (acl_main_t * am, u32 sw_if_index, |
629 | 651 |
|
630 | 652 |
|
631 | 653 | u32 **pinout_lc_index_by_sw_if_index = |
632 | | - is_input ? &am-> |
633 | | - input_lc_index_by_sw_if_index : &am->output_lc_index_by_sw_if_index; |
| 654 | + is_input ? &am->input_lc_index_by_sw_if_index : &am-> |
| 655 | + output_lc_index_by_sw_if_index; |
634 | 656 |
|
635 | 657 | u32 ***pinout_acl_vec_by_sw_if_index = |
636 | | - is_input ? &am-> |
637 | | - input_acl_vec_by_sw_if_index : &am->output_acl_vec_by_sw_if_index; |
| 658 | + is_input ? &am->input_acl_vec_by_sw_if_index : &am-> |
| 659 | + output_acl_vec_by_sw_if_index; |
638 | 660 |
|
639 | 661 | u32 ***pinout_sw_if_index_vec_by_acl = |
640 | | - is_input ? &am-> |
641 | | - input_sw_if_index_vec_by_acl : &am->output_sw_if_index_vec_by_acl; |
| 662 | + is_input ? &am->input_sw_if_index_vec_by_acl : &am-> |
| 663 | + output_sw_if_index_vec_by_acl; |
642 | 664 |
|
643 | 665 | vec_validate ((*pinout_acl_vec_by_sw_if_index), sw_if_index); |
644 | 666 |
|
@@ -713,7 +735,9 @@ acl_interface_set_inout_acl_list (acl_main_t * am, u32 sw_if_index, |
713 | 735 | { |
714 | 736 | if (~0 != (*pinout_lc_index_by_sw_if_index)[sw_if_index]) |
715 | 737 | { |
716 | | - acl_plugin.put_lookup_context_index ((*pinout_lc_index_by_sw_if_index)[sw_if_index]); |
| 738 | + acl_plugin. |
| 739 | + put_lookup_context_index ((*pinout_lc_index_by_sw_if_index) |
| 740 | + [sw_if_index]); |
717 | 741 | (*pinout_lc_index_by_sw_if_index)[sw_if_index] = ~0; |
718 | 742 | } |
719 | 743 | } |
@@ -750,8 +774,8 @@ acl_interface_add_del_inout_acl (u32 sw_if_index, u8 is_add, u8 is_input, |
750 | 774 | : VNET_API_ERROR_ACL_IN_USE_OUTBOUND; |
751 | 775 |
|
752 | 776 | u32 ***pinout_acl_vec_by_sw_if_index = |
753 | | - is_input ? &am-> |
754 | | - input_acl_vec_by_sw_if_index : &am->output_acl_vec_by_sw_if_index; |
| 777 | + is_input ? &am->input_acl_vec_by_sw_if_index : &am-> |
| 778 | + output_acl_vec_by_sw_if_index; |
755 | 779 | int rv = 0; |
756 | 780 | if (is_add) |
757 | 781 | { |
@@ -1435,9 +1459,9 @@ macip_create_classify_tables (acl_main_t * am, u32 macip_acl_index) |
1435 | 1459 |
|
1436 | 1460 | vnet_classify_add_del_session (cm, tag_table, |
1437 | 1461 | mask, |
1438 | | - a-> |
1439 | | - rules[i].is_permit ? ~0 : 0, |
1440 | | - i, 0, action, metadata, 1); |
| 1462 | + a->rules[i]. |
| 1463 | + is_permit ? ~0 : 0, i, 0, |
| 1464 | + action, metadata, 1); |
1441 | 1465 | } |
1442 | 1466 | } |
1443 | 1467 | } |
@@ -2280,7 +2304,8 @@ static void |
2280 | 2304 | if (~0 != am->macip_acl_by_sw_if_index[sw_if_index]) |
2281 | 2305 | { |
2282 | 2306 | send_macip_acl_interface_list_details (am, reg, sw_if_index, |
2283 | | - am->macip_acl_by_sw_if_index |
| 2307 | + am-> |
| 2308 | + macip_acl_by_sw_if_index |
2284 | 2309 | [sw_if_index], |
2285 | 2310 | mp->context); |
2286 | 2311 | } |
|
0 commit comments