CodingBox Documentation

Port configuration recipes per NOS: speed, FEC, breakout, overrides

Once a module is accepted, the port still has to be told what to do with it: which speed, which FEC, whether to auto-negotiate, whether to break out, and — on strict platforms — whether to tolerate a third-party identity. The commands differ per NOS and often per platform and release. This page gives representative forms for the common systems side by side; treat them as a map of what to configure and confirm the exact syntax in the platform's guide.

What has to match on both ends

SettingWhyDefault trap
SpeedSerDes lane rate and module rate must agree25G port with a 10G module, or a dual-rate module left at the wrong rate (Speed & rate)
FECmandatory on most 25G+ PMDs; both ends must run the same codeone end RS-FEC, the other none: levels fine, no link (FEC & AN)
Auto-negotiation / link trainingrequired on DAC at 25G+, forbidden on most opticsAN left on for an optic, or off for a DAC
Breakoutparent port split into childrenconfigured on one end only, or on a WDM optic
Media / modecombo ports, SGMII vs 1000BASE-X on copper SFPswrong media type active
Third-party overridepolicy switch on strict platformsport errdisabled although the module is fine (Vendor lock)

Recipes by NOS

Angle brackets mark placeholders; marks platform-specific parts.

Cisco IOS-XE (Catalyst)

interface TwentyFiveGigE1/0/1
 speed 10000                       ! or 25000 (where the platform allows per-port speed)
 fec cl74                          ! cl74 = BASE-R, cl91/cl108 = RS-FEC, off
 no negotiation auto               ! optics; DAC keeps auto
service unsupported-transceiver    ! global, hidden on many releases
no errdisable detect cause gbic-invalid
errdisable recovery cause gbic-invalid
show interfaces transceiver detail

Cisco NX-OS (Nexus)

interface Ethernet1/1
 speed 25000
 fec rs-fec                        ! rs-fec | fc-fec | off | auto
 no negotiate auto
interface breakout module 1 port 1-4 map 25g-4x     ! or: hw-module breakout … (older)
service unsupported-transceiver
show interface ethernet1/1 transceiver details

Cisco IOS-XR

controller Optics0/0/0/0
 breakout 4x25                     ! or: hw-module port-range 0 3 location … mode 4x25
interface HundredGigE0/0/0/0
 fec standard | none
show controllers optics 0/0/0/0

Arista EOS

interface Ethernet1
   speed forced 25gfull            ! forced 10000full, 40gfull, 100gfull …
   error-correction encoding reed-solomon    ! fire-code | disabled
   no negotiation
interface Ethernet33/1-4           ! breakout: configure speed on the /1-/4 children
   speed forced 25gfull
hardware port-group 1 select Et33/1-4        ! some platforms
transceiver qsfp default-mode 4x10G          ! platform default for QSFP+ ports
show interfaces transceiver dom

Juniper Junos (QFX/EX)

set chassis fpc 0 pic 0 port 0 channel-speed 25g       ! breakout 4x25G on QFX
set chassis fpc 0 pic 0 port 48 speed 10g               ! per-port speed on some models
set interfaces et-0/0/0 gigether-options fec fec91      ! fec74 | fec91 | none
set interfaces et-0/0/0 ether-options no-auto-negotiation
show interfaces diagnostics optics et-0/0/0
show chassis pic fpc-slot 0 pic-slot 0                  ! lists "unsupported" optics

Huawei VRP (CloudEngine)

interface 25GE1/0/1
 port mode 10GE                    ! or: speed 10000 on S-series
 fec-mode rs-fec                   ! base-r | rs-fec | none (per platform)
 negotiation auto disable
port split dimension interface 100GE1/0/1 split-type 4*25GE     ! breakout, then commit/reboot on some
transceiver phony-alarm-disable    ! system view: suppress non-Huawei optics alarms
display transceiver interface 25GE1/0/1 verbose

H3C Comware

interface Twenty-FiveGigE1/0/1
 using tengige                     ! change port mode
 port fec mode rs-fec              ! (syntax varies)
transceiver phony-alarm-disable
display transceiver interface Twenty-FiveGigE1/0/1

HPE Aruba AOS-CX / AOS-S

! AOS-CX
interface 1/1/49
    speed 25000-full
    error-control rs-fec           ! or: fec … per platform
allow-unsupported-transceiver
show interface 1/1/49 transceiver detail
! AOS-S (ProCurve)
allow-unsupported-transceiver
show interfaces transceiver detail

Dell OS10

interface breakout 1/1/1 map 25g-4x
interface ethernet1/1/1:1
 speed 25000
 fec CL91                          ! CL74 | CL91 | CL108 | off
 no negotiation
show interface ethernet 1/1/1:1 transceiver

SONiC

config interface speed Ethernet0 25000
config interface fec Ethernet0 rs           ! rs | fc | none
config interface autoneg Ethernet0 disabled
config interface breakout Ethernet0 4x25G   ! dynamic port breakout (platform support)
show interfaces transceiver eeprom -d Ethernet0
show interfaces status

Nvidia Cumulus (NVUE)

nv set interface swp1 link speed 25G
nv set interface swp1 link fec rs
nv set interface swp1 link auto-negotiate off
nv set interface swp1 link breakout 4x25G
nv config apply
l1-show swp1

MikroTik RouterOS

/interface ethernet set sfp-sfpplus1 auto-negotiation=no speed=10G-baseSR-LR
/interface ethernet set sfp28-1 fec-mode=fec91          ! fec74 | fec91 | off | auto
/interface ethernet monitor sfp-sfpplus1

Linux host (server NIC)

ethtool -s eth0 speed 25000 duplex full autoneg off
ethtool --set-fec eth0 encoding rs             # rs | baser | off | auto
ethtool -m eth0                                # identity and DDM
# Intel ixgbe/i40e: allow non-Intel SFPs (module parameter; check the driver's docs)
modprobe ixgbe allow_unsupported_sfp=1

Verifying the result

  1. Link up on both ends at the intended speed; no LOL or FEC uncorrectable counters (VDM & FEC metrics).
  2. show … transceiver shows the module as supported (or tolerated) with DDM values (Verifying optics on a switch).
  3. Counters clean after a few minutes of traffic (Link flapping).
  4. Configuration saved; on platforms that need a reload for breakout or port-mode changes, the change survives it.

In CodingBox

The recipes tell the port what to do; the module tells the port what it can do. Before configuring a speed or breakout, read the module's rate codes and CMIS applications on Check transceiver — a port cannot be configured into a mode the module does not advertise.

The full server-side toolbox behind the Linux host recipe — ethtool, mlxlink, bnxtnvm, Windows and ESXi commands, reading DDM from a NIC: NIC tools and diagnostics.

Interface naming behind each recipe (Gi1/0/1, et-0/0/48:1, Ethernet0, swp1s0…): Port naming & LEDs; the LAG/MLAG side of uplink configuration: Stacking & MLAG.