Skip to content

Port Breakout and Speed Requirements

Liat Grozovik edited this page Apr 18, 2018 · 1 revision

Overview

A physical port can be break out into multiple ports, for example a 100G port can be breakout into 2x50G, 4x25G, 50G+2x25G and etc. on. In current design, different breakout mode is represented by different HWSKU, and each requires a different SAI profile. Ideally, the ASIC vendor should only provide one SAI profile and user should be able to specify the port breakout mode without the need of another SAI profile.

Meanwhile, in the data center network (DCN), the port breakout are usually decided at the time of network design. Changing the port breakout for a switch in DCN rarely happens for an operational switch.

Based on the above two observations, we'd like to remove the need of extra SAI profile for different port breakout mode or speed mode. Meanwhile, we do not need to support fully dynamic port breakout when the switch is in operational mode. We can assume that the user needs to restart the SWSS when he needs to change the port breakout mode.

Requirement

User still needs to provide port_config.ini for different port breakout mode.

Use the speed attribute in the minigraph to specify the speed of a port.

Implementation

Suggest to use create_port and remove_port to do port breakout.

Use SAI_PORT_ATTR_SPEED to change the PORT_SPEED.

Implications

sfputil can works on physical front panel port. In case the user use 4x10G breakout cable to breakout a 40G port into 4x10G port. The sfputil can only works on physical front panel port as there is only one I2C eeprom to read, the same is true for the modsel, presence pin. However, when the 40G port is physically splited into 4x10G ports on the front panel, then sfputil should see four EEPROM, one for each breakout port.

Clone this wiki locally