@@ -989,7 +989,7 @@ def background_traffic(run_count=None):
989989
990990 def test_everflow_fwd_recircle_port_queue_check (self , setup_info , setup_mirror_session , # noqa F811
991991 dest_port_type , ptfadapter , tbinfo ,
992- toggle_all_simulator_ports_to_rand_selected_tor , # noqa F811
992+ erspan_ip_ver , toggle_all_simulator_ports_to_rand_selected_tor , # noqa F811
993993 setup_standby_ports_on_rand_unselected_tor_unconditionally ): # noqa F811
994994 """
995995 Verify basic forwarding scenario with mirror session config having specific queue for the Everflow feature.
@@ -1002,7 +1002,8 @@ def test_everflow_fwd_recircle_port_queue_check(self, setup_info, setup_mirror_s
10021002 "vtysh -c \" configure terminal\" -c \" no ip nht resolve-via-default\" " ,
10031003 setup_info [dest_port_type ]["remote_namespace" ]))
10041004
1005- def update_acl_rule_config (table_name , session_name , config_method , rules = everflow_utils .EVERFLOW_V4_RULES ):
1005+ def update_acl_rule_config (duthost , table_name , session_name , config_method ,
1006+ rules = everflow_utils .EVERFLOW_V4_RULES ):
10061007 rules_config = everflow_utils .load_acl_rules_config (table_name ,
10071008 os .path .join (everflow_utils .FILE_DIR , rules ))
10081009 rules_config ['rules' ] = [
@@ -1039,34 +1040,30 @@ def update_acl_rule_config(table_name, session_name, config_method, rules=everfl
10391040 BaseEverflowTest .remove_acl_rule_config (duthost , table_name , everflow_utils .CONFIG_MODE_CLI )
10401041
10411042 for duthost in duthost_set :
1042- update_acl_rule_config (table_name , setup_mirror_session ["session_name" ], everflow_utils .CONFIG_MODE_CLI )
1043+ update_acl_rule_config (duthost , table_name , setup_mirror_session ["session_name" ],
1044+ everflow_utils .CONFIG_MODE_CLI )
10431045
1044- def configure_mirror_session_with_queue (mirror_session , queue_num ):
1046+ def configure_mirror_session_with_queue (mirror_session , queue_num , erspan_ip_ver ):
10451047 if mirror_session ["session_name" ]:
10461048 remove_command = "config mirror_session remove {}" .format (mirror_session ["session_name" ])
10471049 for duthost in duthost_set :
10481050 duthost .command (remove_command )
1049- add_command = "config mirror_session add {} {} {} {} {} {} {}" \
1050- .format (mirror_session ["session_name" ],
1051- mirror_session ["session_src_ip" ],
1052- mirror_session ["session_dst_ip" ],
1053- mirror_session ["session_dscp" ],
1054- mirror_session ["session_ttl" ],
1055- mirror_session ["session_gre" ],
1056- queue_num )
10571051 for duthost in duthost_set :
1058- duthost .command (add_command )
1052+ BaseEverflowTest .apply_mirror_config (duthost , setup_mirror_session , erspan_ip_ver = erspan_ip_ver ,
1053+ queue_num = queue_num )
10591054 else :
10601055 pytest .skip ("Mirror session info is empty, can't proceed further!" )
10611056
10621057 queue = str (random .randint (1 , 7 ))
10631058 # Apply mirror session config with a different queue value other than default '0'
1064- configure_mirror_session_with_queue (setup_mirror_session , queue )
1059+ configure_mirror_session_with_queue (setup_mirror_session , queue , erspan_ip_ver )
10651060
10661061 # Add a route to the mirror session destination IP
10671062 tx_port = setup_info [dest_port_type ]["dest_port" ][0 ]
1068- peer_ip = everflow_utils .get_neighbor_info (remote_dut , tx_port , tbinfo )
1069- everflow_utils .add_route (remote_dut , setup_mirror_session ["session_prefixes" ][0 ], peer_ip ,
1063+ peer_ip = everflow_utils .get_neighbor_info (remote_dut , tx_port , tbinfo , ip_version = erspan_ip_ver )
1064+ session_prefixes = setup_mirror_session ["session_prefixes" ] if erspan_ip_ver == 4 \
1065+ else setup_mirror_session ["session_prefixes_ipv6" ]
1066+ everflow_utils .add_route (remote_dut , session_prefixes [0 ], peer_ip ,
10701067 setup_info [dest_port_type ]["remote_namespace" ])
10711068
10721069 time .sleep (15 )
@@ -1096,7 +1093,8 @@ def configure_mirror_session_with_queue(mirror_session, queue_num):
10961093 dest_port_type ,
10971094 queue ,
10981095 asic_ns ,
1099- recircle_port
1096+ recircle_port ,
1097+ erspan_ip_ver
11001098 )
11011099 finally :
11021100 remote_dut .shell (remote_dut .get_vtysh_cmd_for_namespace (
0 commit comments