diff --git a/orchagent/vnetorch.cpp b/orchagent/vnetorch.cpp index cf5a8739..f41c4af1 100644 --- a/orchagent/vnetorch.cpp +++ b/orchagent/vnetorch.cpp @@ -3518,6 +3518,12 @@ void VNetTunnelTermAcl::lazyInit() }; string matches = std::accumulate(std::next(match_list.begin()), match_list.end(), match_list[0], concat); + vector action_list = { + ACTION_REDIRECT_ACTION, + ACTION_COUNTER + }; + string actions = std::accumulate(std::next(action_list.begin()), action_list.end(), action_list[0], concat); + vector bpoint_list = { BIND_POINT_TYPE_PORT, BIND_POINT_TYPE_PORTCHANNEL @@ -3526,7 +3532,7 @@ void VNetTunnelTermAcl::lazyInit() vector fvs = { {ACL_TABLE_TYPE_MATCHES, matches}, - {ACL_TABLE_TYPE_ACTIONS, ACTION_REDIRECT_ACTION}, + {ACL_TABLE_TYPE_ACTIONS, actions}, {ACL_TABLE_TYPE_BPOINT_TYPES, bpoints} }; diff --git a/tests/test_vnet.py b/tests/test_vnet.py index 3a7db86b..411ed933 100644 --- a/tests/test_vnet.py +++ b/tests/test_vnet.py @@ -2687,6 +2687,14 @@ def test_vnet_orch_28(self, dvs, dvs_acl, testlog): vnet_obj.fetch_exist_entries(dvs) create_vnet_routes(dvs, "100.100.1.1/32", vnet_name, '9.1.0.1,9.1.0.2', ep_monitor='9.1.0.3,9.1.0.4', primary ='9.1.0.1', profile="Test_profile", monitoring='custom', adv_prefix='100.100.1.0/24', check_directly_connected=True) + # verify acl table action list + expected_action_list = [ + "SAI_ACL_ACTION_TYPE_COUNTER", + "SAI_ACL_ACTION_TYPE_REDIRECT" + ] + acl_table_id = dvs_acl.get_acl_table_ids(1)[0] + dvs_acl.verify_acl_table_action_list(acl_table_id, expected_action_list) + # verify tunnel term acl expected_sai_qualifiers = { "SAI_ACL_ENTRY_ATTR_FIELD_DST_IP": dvs_acl.get_simple_qualifier_comparator("100.100.1.1&mask:255.255.255.255")