remove low speed port from test port list for breakout test scenario#12084
Merged
StormLiangMS merged 1 commit intosonic-net:masterfrom Apr 2, 2024
Merged
Conversation
neethajohn
reviewed
Mar 29, 2024
| 'Arista-7050CX3-32S-D48C8' | ||
| ] | ||
|
|
||
| BREAKOUT_SKUS = ['Arista-7050-QX-32S'] |
Contributor
Author
There was a problem hiding this comment.
move this to qos_sai_base.py
because need to check it in dutConfig() method, in order to only remove low speed port for "BREAKOUT_SKUS" for safe.
if src_dut.facts['hwsku'] in **self.BREAKOUT_SKUS** and 'backend' not in topo:
for speed, portlist in port_speeds.items():
if int(speed) < 40000:
for portname in portlist:
low_speed_portIds.append(src_mgFacts["minigraph_ptf_indices"][portname])
neethajohn
approved these changes
Apr 1, 2024
mssonicbld
pushed a commit
to mssonicbld/sonic-mgmt
that referenced
this pull request
Apr 2, 2024
…onic-net#12084) What is the motivation for this PR? Regarding to 7050qx's QoS SAI test for topo t0: test port select result is as below: testPortIds={0: {0: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]}}; and 1,2,3 are low speed breakout port. as below: admin@bjw-can-7050qx-3:~$ show int st Interface Lanes Speed MTU FEC Alias Vlan Oper Admin Type Asym PFC Ethernet0 9 10G 9100 N/A Ethernet1 routed up down SFP/SFP+/SFP28 off Ethernet1 10 10G 9100 N/A Ethernet2 trunk up up SFP/SFP+/SFP28 off Ethernet2 11 10G 9100 N/A Ethernet3 trunk up up SFP/SFP+/SFP28 off Ethernet3 12 1G 9100 N/A Ethernet4 trunk up up SFP/SFP+/SFP28 off Ethernet4 13,14,15,16 40G 9100 N/A Ethernet6/1 trunk up up QSFP+ or later with SFF-8636 or SFF-8436 off it cause two issue: caused using wrong test target porfile for qos sai test. as below: profileName = ingressLosslessProfile["profileName"] >>>>> [Xu]: just get profile of first test port, in this function. logger.info( "Lossless Buffer profile selected is {}".format(profileName)) if self.isBufferInApplDb(dut_asic): profile_pattern = "^BUFFER_PROFILE_TABLE\\:pg_lossless_(.*)_profile$" else: profile_pattern = "^BUFFER_PROFILE\\|pg_lossless_(.*)_profile" m = re.search(profile_pattern, profileName) pytest_assert(m.group(1), "Cannot find port speed/cable length") # portSpeedCableLength = m.group(1) portSpeedCableLength = "40000_300m" >>>> [Xu]: according to above sample result of test port selection, first port' id is 1 (it's Etherent1), the corresponding PG lossless porfile is "pg_lossless_10000_300m_profile". so we can never get expected pg_lossless_40000_300m_profile profile. cause qos sai test traffic go through low speed breakout port rather than high speed 40G port and eventually, caused Xon case failure. How did you do it? remove low speed port out of test port list How did you verify/test it? pass UT
mssonicbld
pushed a commit
to mssonicbld/sonic-mgmt
that referenced
this pull request
Apr 2, 2024
…onic-net#12084) What is the motivation for this PR? Regarding to 7050qx's QoS SAI test for topo t0: test port select result is as below: testPortIds={0: {0: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]}}; and 1,2,3 are low speed breakout port. as below: admin@bjw-can-7050qx-3:~$ show int st Interface Lanes Speed MTU FEC Alias Vlan Oper Admin Type Asym PFC Ethernet0 9 10G 9100 N/A Ethernet1 routed up down SFP/SFP+/SFP28 off Ethernet1 10 10G 9100 N/A Ethernet2 trunk up up SFP/SFP+/SFP28 off Ethernet2 11 10G 9100 N/A Ethernet3 trunk up up SFP/SFP+/SFP28 off Ethernet3 12 1G 9100 N/A Ethernet4 trunk up up SFP/SFP+/SFP28 off Ethernet4 13,14,15,16 40G 9100 N/A Ethernet6/1 trunk up up QSFP+ or later with SFF-8636 or SFF-8436 off it cause two issue: caused using wrong test target porfile for qos sai test. as below: profileName = ingressLosslessProfile["profileName"] >>>>> [Xu]: just get profile of first test port, in this function. logger.info( "Lossless Buffer profile selected is {}".format(profileName)) if self.isBufferInApplDb(dut_asic): profile_pattern = "^BUFFER_PROFILE_TABLE\\:pg_lossless_(.*)_profile$" else: profile_pattern = "^BUFFER_PROFILE\\|pg_lossless_(.*)_profile" m = re.search(profile_pattern, profileName) pytest_assert(m.group(1), "Cannot find port speed/cable length") # portSpeedCableLength = m.group(1) portSpeedCableLength = "40000_300m" >>>> [Xu]: according to above sample result of test port selection, first port' id is 1 (it's Etherent1), the corresponding PG lossless porfile is "pg_lossless_10000_300m_profile". so we can never get expected pg_lossless_40000_300m_profile profile. cause qos sai test traffic go through low speed breakout port rather than high speed 40G port and eventually, caused Xon case failure. How did you do it? remove low speed port out of test port list How did you verify/test it? pass UT
Collaborator
|
Cherry-pick PR to 202311: #12272 |
Collaborator
|
Cherry-pick PR to 202305: #12271 |
mssonicbld
pushed a commit
that referenced
this pull request
Apr 2, 2024
…12084) What is the motivation for this PR? Regarding to 7050qx's QoS SAI test for topo t0: test port select result is as below: testPortIds={0: {0: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]}}; and 1,2,3 are low speed breakout port. as below: admin@bjw-can-7050qx-3:~$ show int st Interface Lanes Speed MTU FEC Alias Vlan Oper Admin Type Asym PFC Ethernet0 9 10G 9100 N/A Ethernet1 routed up down SFP/SFP+/SFP28 off Ethernet1 10 10G 9100 N/A Ethernet2 trunk up up SFP/SFP+/SFP28 off Ethernet2 11 10G 9100 N/A Ethernet3 trunk up up SFP/SFP+/SFP28 off Ethernet3 12 1G 9100 N/A Ethernet4 trunk up up SFP/SFP+/SFP28 off Ethernet4 13,14,15,16 40G 9100 N/A Ethernet6/1 trunk up up QSFP+ or later with SFF-8636 or SFF-8436 off it cause two issue: caused using wrong test target porfile for qos sai test. as below: profileName = ingressLosslessProfile["profileName"] >>>>> [Xu]: just get profile of first test port, in this function. logger.info( "Lossless Buffer profile selected is {}".format(profileName)) if self.isBufferInApplDb(dut_asic): profile_pattern = "^BUFFER_PROFILE_TABLE\\:pg_lossless_(.*)_profile$" else: profile_pattern = "^BUFFER_PROFILE\\|pg_lossless_(.*)_profile" m = re.search(profile_pattern, profileName) pytest_assert(m.group(1), "Cannot find port speed/cable length") # portSpeedCableLength = m.group(1) portSpeedCableLength = "40000_300m" >>>> [Xu]: according to above sample result of test port selection, first port' id is 1 (it's Etherent1), the corresponding PG lossless porfile is "pg_lossless_10000_300m_profile". so we can never get expected pg_lossless_40000_300m_profile profile. cause qos sai test traffic go through low speed breakout port rather than high speed 40G port and eventually, caused Xon case failure. How did you do it? remove low speed port out of test port list How did you verify/test it? pass UT
mssonicbld
pushed a commit
that referenced
this pull request
Apr 2, 2024
…12084) What is the motivation for this PR? Regarding to 7050qx's QoS SAI test for topo t0: test port select result is as below: testPortIds={0: {0: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]}}; and 1,2,3 are low speed breakout port. as below: admin@bjw-can-7050qx-3:~$ show int st Interface Lanes Speed MTU FEC Alias Vlan Oper Admin Type Asym PFC Ethernet0 9 10G 9100 N/A Ethernet1 routed up down SFP/SFP+/SFP28 off Ethernet1 10 10G 9100 N/A Ethernet2 trunk up up SFP/SFP+/SFP28 off Ethernet2 11 10G 9100 N/A Ethernet3 trunk up up SFP/SFP+/SFP28 off Ethernet3 12 1G 9100 N/A Ethernet4 trunk up up SFP/SFP+/SFP28 off Ethernet4 13,14,15,16 40G 9100 N/A Ethernet6/1 trunk up up QSFP+ or later with SFF-8636 or SFF-8436 off it cause two issue: caused using wrong test target porfile for qos sai test. as below: profileName = ingressLosslessProfile["profileName"] >>>>> [Xu]: just get profile of first test port, in this function. logger.info( "Lossless Buffer profile selected is {}".format(profileName)) if self.isBufferInApplDb(dut_asic): profile_pattern = "^BUFFER_PROFILE_TABLE\\:pg_lossless_(.*)_profile$" else: profile_pattern = "^BUFFER_PROFILE\\|pg_lossless_(.*)_profile" m = re.search(profile_pattern, profileName) pytest_assert(m.group(1), "Cannot find port speed/cable length") # portSpeedCableLength = m.group(1) portSpeedCableLength = "40000_300m" >>>> [Xu]: according to above sample result of test port selection, first port' id is 1 (it's Etherent1), the corresponding PG lossless porfile is "pg_lossless_10000_300m_profile". so we can never get expected pg_lossless_40000_300m_profile profile. cause qos sai test traffic go through low speed breakout port rather than high speed 40G port and eventually, caused Xon case failure. How did you do it? remove low speed port out of test port list How did you verify/test it? pass UT
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of PR
Summary:
Fixes # (issue)
Type of change
Back port request
Approach
What is the motivation for this PR?
Regarding to 7050qx's QoS SAI test for topo t0:
test port select result is as below:
testPortIds={0: {0:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]}};
and 1,2,3 are low speed breakout port. as below:
admin@bjw-can-7050qx-3:~$ show int st
Interface Lanes Speed MTU FEC Alias Vlan Oper Admin Type Asym PFC
it cause two issue:
caused using wrong test target porfile for qos sai test. as below:
cause qos sai test traffic go through low speed breakout port rather than high speed 40G port
and eventually, caused Xon case failure.
How did you do it?
remove low speed port out of test port list
How did you verify/test it?
pass UT
Any platform specific information?
Supported testbed topology if it's a new test case?
Documentation