Port breakout on Sonic - specifically Celestica DX010

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

Sjhwilkes

New Member
Oct 17, 2020
24
2
3
Hacking port_config.ini I think I need to replace
'Ethernet0 1,2,3,4 QSFP1 rs 1 100000'
with
'Ethernet0 1 SFP+0 rs 10000'
'Ethernet1 1 SFP+1 rs 10000'
'Ethernet2 1 SFP+2 rs 10000'
'Ethernet3 1 SFP+3 rs 10000'

Anyone else done this? I realize I'm going to need to pre build the switch with a handful of broken out 10G and 25G ports as revisiting is painful.
 

Sjhwilkes

New Member
Oct 17, 2020
24
2
3
Hack port.ini and config_db.json hasn't worked thus far. Have tried a few code releases - none of which seem to have working dynamic breakout. If anyone has working breakout and can share how they achieved it I'd be grateful.
 

nasbdh9

Active Member
Aug 4, 2019
164
96
28
config_db.json

Code:
    "PORT": {
        "Ethernet0": {
            "alias": "Eth1/1",
            "lanes": "65",
            "speed": "25000",
            "index": "1",
            "admin_status": "up"
        },
        "Ethernet1": {
            "alias": " Eth1/2",
            "lanes": "66",
            "speed": "25000",
            "index": "1",
            "admin_status": "up"
        },
        "Ethernet2": {
            "alias": " Eth1/3",
            "lanes": "67",
            "speed": "25000",
            "index": "1",
            "admin_status": "up"
        },
        "Ethernet3": {
            "alias": " Eth1/4",
            "lanes": "68",
            "speed": "25000",
            "index": "1",
            "admin_status": "up"
        },
        "Ethernet4": {
            "alias": "Eth2/1",
            "lanes": "69,70,71,72",
            "speed": "100000",
            "index": "2",
            "admin_status": "up"
        },
Code:
    "BREAKOUT_CFG": {
        "Ethernet0": {
            "brkout_mode": "4x25G[10G]"
        },
        "Ethernet1": {
            "brkout_mode": "4x25G[10G]"
        },
        "Ethernet2": {
            "brkout_mode": "4x25G[10G]"
        },
        "Ethernet3": {
            "brkout_mode": "4x25G[10G]"
        },
        "Ethernet4": {
            "brkout_mode": "1x100G[40G]"
 

Sjhwilkes

New Member
Oct 17, 2020
24
2
3
Thank you for the couple of people that shared config - I was at RSA yesterday and didn't get to try it, also found a note in the big Reddit thread on these Celestica's that the dynamic breakout command fails if you pass it options...

Sure enough on current code dynamic breakout does work, 'sudo config interface breakout Ethernet0 '4x25G[10G]'' works -
but if you include options that in theory are supported, -y -f -v, then it doesn't.
Other thing to watch for is that all VLAN assignments or IP addresses need to be removed from the port you're about to split first, though it does tell you that when it fails.

I got a pair of these from my homelab (4 node vSAN cluster) - which will be Layer2 plus BGP peering with NSX-T and perimeter Palo Alto.
Plus four to go into a customer who are moving in a couple of weeks, lead times being what they are these were a winner over Juniper/Mellanox/anything else new, and they bought spares. So in another couple of weeks I'll be an expert...