Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tips: Configuring interface/port speed: for DAC use 1x100G[40G](4) #41

Open
wdoekes opened this issue Nov 19, 2024 · 2 comments
Open

tips: Configuring interface/port speed: for DAC use 1x100G[40G](4) #41

wdoekes opened this issue Nov 19, 2024 · 2 comments
Labels
purely-informational This contains logs but not an issue per se

Comments

@wdoekes
Copy link
Member

wdoekes commented Nov 19, 2024

Description

Here's a bunch of info:
https://support.edge-core.com/hc/en-us/articles/900000200743--Enterprise-SONiC-Switch-Port-Attributes

admin@leaf1:~$ sudo config interface speed Ethernet5 1000000
Invalid speed specified: 1000000
Valid speeds:1000,10000,25000
admin@leaf1:~$ show interfaces status | grep Eth6/
  Ethernet0                3      25G   9100    N/A    Eth6/3(Port1)  routed    down       up              N/A         N/A
  Ethernet1                2      25G   9100    N/A    Eth6/2(Port2)  routed    down       up              N/A         N/A
  Ethernet2                4      25G   9100    N/A    Eth6/4(Port3)  routed    down       up              N/A         N/A
  Ethernet5                1       1G   9100    N/A    Eth6/1(Port6)  routed    down       up              N/A         N/A

Not sure if this applies:

There's a hardware limitation on AS7326-56X, it will have port group design(Ethernet0~Ethernet47). When one of the group members changes speed, others of the same group member will be also modified. We can find the port group member information from Alias. For example, the alias "Eth5/" mean the port group name is "Ethernet5", it will have member about Ethernet0/Ethernet1/Ethernet2/Ethernet5.

2024-11-19.10:34:04.305227|s|SAI_OBJECT_TYPE_HOSTIF:oid:0xd0000000009ee|SAI_HOSTIF_ATTR_OPER_STATUS=false
2024-11-19.10:34:04.305903|g|SAI_OBJECT_TYPE_PORT:oid:0x1000000000038|SAI_PORT_ATTR_SUPPORTED_SPEED=25:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2024-11-19.10:34:04.306512|G|SAI_STATUS_SUCCESS|SAI_PORT_ATTR_SUPPORTED_SPEED=2:40000,100000

vs

2024-11-19.13:30:54.508304|g|SAI_OBJECT_TYPE_PORT:oid:0x1000000000020|SAI_PORT_ATTR_SUPPORTED_SPEED=25:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2024-11-19.13:30:54.509378|G|SAI_STATUS_SUCCESS|SAI_PORT_ATTR_SUPPORTED_SPEED=1:400000
2024-11-19.13:30:54.522269|g|SAI_OBJECT_TYPE_PORT:oid:0x100000000001f|SAI_PORT_ATTR_SUPPORTED_SPEED=25:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2024-11-19.13:30:54.523404|G|SAI_STATUS_SUCCESS|SAI_PORT_ATTR_SUPPORTED_SPEED=1:400000
2024-11-19.21:06:33.862188|g|SAI_OBJECT_TYPE_PORT:oid:0x100000000052d|SAI_PORT_ATTR_SUPPORTED_SPEED=25:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2024-11-19.21:06:33.865279|G|SAI_STATUS_SUCCESS|SAI_PORT_ATTR_SUPPORTED_SPEED=3:40000,50000,100000
2024-11-19.21:06:34.039091|g|SAI_OBJECT_TYPE_PORT:oid:0x1000000000551|SAI_PORT_ATTR_SUPPORTED_SPEED=25:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2024-11-19.21:06:34.042128|G|SAI_STATUS_SUCCESS|SAI_PORT_ATTR_SUPPORTED_SPEED=3:40000,50000,100000
2024-11-19.21:06:34.192530|g|SAI_OBJECT_TYPE_PORT:oid:0x1000000000575|SAI_PORT_ATTR_SUPPORTED_SPEED=25:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2024-11-19.21:06:34.195223|G|SAI_STATUS_SUCCESS|SAI_PORT_ATTR_SUPPORTED_SPEED=3:40000,50000,100000
2024-11-19.21:06:34.351433|g|SAI_OBJECT_TYPE_PORT:oid:0x1000000000599|SAI_PORT_ATTR_SUPPORTED_SPEED=25:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2024-11-19.21:06:34.353653|G|SAI_STATUS_SUCCESS|SAI_PORT_ATTR_SUPPORTED_SPEED=3:40000,50000,100000

after breakout.

We need proper platform.json stuff. Although we got this covered already. Should still fix Alias names though.

See show interfaces breakout and add platform.json and alias-names.

Which build are we running (if any)

SONiC Software Version: SONiC.osso202405.0-c23a3f1a7
SONiC OS Version: 12
Distribution: Debian 12.8
Kernel: 6.1.0-22-2-amd64
Build commit: c23a3f1a7
Build date: Mon Nov 18 15:56:07 UTC 2024
Built by: [email protected]

Platform: x86_64-accton_as7326_56x-r0
HwSKU: Accton-AS7326-56X
ASIC: broadcom
ASIC Count: 1
ASIC API BRCM SAI ver: [11.2.13.1]
ASIC API OCP SAI ver: [1.14.0]
ASIC API SDK ver: [sdk-6.5.30-SP4]
ASIC API CANCUN ver: [06.04.01]
ASIC Model: Unit 0 chip BCM56873_A0 (current)

Upstream issues/PRs

@wdoekes
Copy link
Member Author

wdoekes commented Nov 21, 2024

Maybe also relevant:

root@spine1:~# head -n10 /usr/share/sonic/device/x86_64-accton_as9716_32d-r0/media_settings.json
{
    "GLOBAL_MEDIA_SETTINGS": {
        "1-32": {
            "CREDO.*-CAC.*": {
                "post2": {
                    "lane0": "0x100",
                    "lane1": "0x100",
                    "lane2": "0x100",
                    "lane3": "0x100",
                    "lane4": "0x100",

^- seen here: https://github.com/sonic-net/SONiC/blob/master/doc/media-settings/Media-based-Port-settings.md and in edgecore build

Other possibility:

#BC31#
dport_map_port_148=121
dport_map_port_149=122
dport_map_port_150=123
dport_map_port_151=124
portmap_148=249:100:4

^- in /usr/share/sonic/platform/Accton-AS9716-32D/th3-as9716-32x400G.config.bcm but that did not seem to effect much (249:100:4 instead of 249:400)

@wdoekes
Copy link
Member Author

wdoekes commented Nov 21, 2024

--- a/sonic/config_db.json
+++ b/sonic/config_db.json
@@ -216,7 +216,7 @@
             "brkout_mode": "1x400G"
         },
         "Ethernet248": {
-            "brkout_mode": "1x400G"
+            "brkout_mode": "1x100G[40G](4)"
         }
     },
     "CRM": {
@@ -509,7 +509,9 @@
         "Ethernet0": {},
         "Ethernet0|192.168.0.2/24": {},
         "Ethernet8": {},
-        "Ethernet8|192.168.8.2/24": {}
+        "Ethernet8|192.168.8.2/24": {},
+        "Ethernet248": {},
+        "Ethernet248|192.168.76.2/24": {}
     },
     "KDUMP": {
         "config": {
@@ -1220,10 +1222,12 @@
             "subport": "0"
         },
         "Ethernet248": {
+            "admin_status": "up",
             "alias": "Eth32(Port32)",
+            "fec": "rs",
             "index": "32",
-            "lanes": "241,242,243,244,245,246,247,248",
-            "speed": "400000",
+            "lanes": "241,242,243,244",
+            "speed": "100000",
             "subport": "0"
         }
     },

Victory!

@wdoekes wdoekes added the purely-informational This contains logs but not an issue per se label Nov 21, 2024
@wdoekes wdoekes changed the title runtime: Can/cannot configure interface/port speed tips: Configuring interface/port speed: for DAC use 1x100G[40G](4) Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
purely-informational This contains logs but not an issue per se
Projects
None yet
Development

No branches or pull requests

1 participant