Configuring Forward Error Correction

Note: This feature is supported only on the following platforms. The support is for 25 GbE and 100 GbE unless stated otherwise.

Ericsson: NRU02 (100 GbE only), NRU03, NRU-S0301 

Dell: S5232F-ON, S5248F-ON, S5224F-ON, Z9264 

Edgecore: AS7726-32X, AS7326-56X, AS5835-54X, AS7816-64X

Freedom: F9432-C, F9476-V, F9460-X, F9664-C

Forward Error Correction (FEC) or channel coding is an error correction technique that helps to detect and correct a limited number of errors in transmitted data without the need for re-transmission. In this method, the sender sends a redundant Error Correcting Code (ECC) along with the data frames using a fixed, higher forward channel bandwidth.

The IEEE 802.3-2018 standard for Ethernet introduced the support for FEC on 25 GbE or 25 Gbps port link. For details, refer to the clauses 74, 91 and 108 in the IEEE 802.3-2018 standard. 

From NetVisor OS version 5.1.4 onward, you can enable or disable FEC by using the NetVisor OS CLI or REST API commands on individual 25 GbE ports or 100 GbE ports on NRU03 and NRU-S0301 platforms and 100 GbE ports on NRU02 platform.

From NetVisor OS version 6.1.0 onward, the FEC support is extended to the AS7816-64X (F9664-C),  AS7726-32X (F9432-C), AS7326-56X (F9476-V), AS5835-54X  (F9460-X) and Z9264 platforms on 25 GbE and 100 GbE connections.

To implement FEC on 25 GbE and 100 GbE ports, NetVisor OS follows the IEEE 802.3-2018 standard rules. (Refer to Table 105-2 and Table 80-3 of the IEEE 802.3-2018 standard).

You can enable the FEC feature by using the port-config-modify command while ensuring that eth-mode and auto-neg configurations are consistent with the FEC configuration.

The FEC feature can be enabled on:

  • DAC cables with auto-negotiation enabled
  • Optical cables without auto-negotiation (no-autoneg)

  1. To configure FEC on the above platforms, use the command:

CLI (network-admin@switch) > port-config-modify


Use this command to modify the port configuration to enable FEC.

port <port-list>

Specify a physical port or the list of ports you want to configure for FEC support.

Specify one or more of the following options based on cable and transceivers in use:

eth-mode [sr4|lr4|cr4|caui4|sr|lr|cr|sys-default]

Select one of the ethernet modes from the available options. 


Specify one of the options to enable or disable auto-negotiation on the physical port .


Specify one of the options to enable or disable the port forward error correction (FEC) mode.

Note: For NRU03 and NRU-S0301 platforms, eth-mode should be set to sys-default.

  1. On NRU03 and NRU03-S0301 platforms, in addition to the above configuration, use the port-cable-type-modify command to configure the port type as sys-default to ensure that the correct FEC  setting is applied.

CLI (network-admin@switch) > port-cable-type-modify port <port-list> type sys-default


Use this command to associate a cable type with port (s).

Specify between 2 and 3 of the following options:

port <port-list>

Specify the list of ports you want to associate with the cable type.

type optical|dac|sys-default

Specify the cable type: optical or dac associated with the specified ports. 

cable-sub-type default|ca-n|ca-l|ca-s

Specify  the port cable assembly type from one of the options. Note that this optional parameter is applicable only for DAC cable types.

Note: The cable sub type (N, L, or S) is a hardware-specific parameter based on the material used by the cable manufacturer. Hence, you must consult the vendor specification to identify the cable assembly type before configuring this parameter.

You can verify the configurations by using the port-fec-status-show  command.

Note: All lengths of Ericsson RPM 777 053/xx and 777 054/xx cables are of assembly type CA-L.

Note: All four lanes of QSFP port share the same type or sub-type.

When configuring the cable type, please follow the guidelines below for both 25 GbE and 100 GbE ports:

  • The cable-sub-type option is not valid for optical cables.
  • The cable-sub-type option is not required for DAC cables operating at 100Gbps (non-flexed) as assembly type does not factor into the FEC variant per IEEE 802.3 2018.
  • The type keyword is also used by NetVisor OS to determine the pre-emphasis setting used for this port. This capability was introduced in NetVisor OS release 5.1.3.

Note: The type and cable-sub-type parameters are not required to be configured for NRU02.

Usage Guidelines

  • For NRU03 and NRU-S0301 platforms, the port cable type must be configured as sys-default.
  • For DAC cables, physical port auto-negotiation should be configured for the peer links to come up.
  • For optical cables, you can enable or disable FEC explicitly on both peers. Auto-negotiation should not be enabled.
  • For DAC cables, the cable sub-type can be CA-S, CA-L, CA-N which is independent of the cable length.  For example, you can have a 3 meter type S,  3 meter type N,  or 3 meter type L cable.
  • For optical cables, the cable-sub-type configuration is not allowed.
  • For DAC cables, the eth-mode should be set to CR (25G) or CR4 (100G).
  • The eth-mode should be configured by using the port-config-modify command to ensure the proper setting of the physical layer and also to address any link failure issues.

  1. To clarify the FEC configuration further,  an example configuration is provided below:

  • Configure FEC on a 25 GbE port on a DAC cable connected on port 21 by using the commands:

CLI (network-admin@switch) > port-cable-type-modify port 21 type dac cable-sub-type ca-l

CLI (network-admin@switch) > port-config-modify port 21 eth-mode cr autoneg fec enable 

  • Configure FEC on a 25 GbE port (port 17) using a multi-mode optical cable by using the command:

CLI (network-admin@switch) > port-cable-type-modify port 17 type optical 

CLI (network-admin@switch) > port-config-modify port 17 eth-mode sr no-autoneg fec enable 

  • Verify port status after FEC configuration:

CLI (network-admin@switch) > port-show port 1 layout vertical

switch:           switch

port:             1

bezel-port:       1

status:           up,host,LLDP,trunk,vlan-up

config:           fd,25g,fec

Note: It is not mandatory to configure the no-autoneg parameter for optical cables, but is specified here to ensure that the port is operating without auto-negotiation.

  • View the configured cable type and assembly type configuration by using the port-cable-type-show  command on NRU03 or NRU-S0301:

CLI (network-admin@switch) > port-cable-type-show 

switch port  type        cable-sub-type 

------ ----  ----------- -------------- 

switch none  dac         ca-s           

switch none  dac         ca-l           

switch none  dac         ca-n           

switch none  dac         default        

switch none  optical     default        

switch 1-125 sys-default default        

  • Configure FEC on a 100G port on NRU02 by using the command:

CLI (network-admin@switch) > port-config-modify port 25 fec enable

Note: For NRU02 platforms, the port-cable-type and eth-mode configuration is not required.

CLI (network-admin@switch) > port-show port 25 layout vertical

switch:           switch

port:             25

bezel-port:       7


mac:              66:0e:94:f6:37:f2

hostname:         nru02-alpha2

status:           up,PN-switch,PN-other,STP-BPDUs,LLDP,vlan-up

config:           fd,100g,fec

To view the details of the configuration use the port-fec-stats-show command. For example,

CLI (network-admin@switch) > port-fec-stats-show

switch   time     port BaseR-Fec-Corr BaseR-Fec-UnCorr Rs-Fec-Corr Rs-Fec-UnCorr

-------- -------- ---- -------------- ---------------- ----------- -------------

switch   12:34:00 5    0              0                0           0

switch   12:34:00 7    0              0                0           0

switch   12:34:00 8    0              0                0           0

switch   12:34:00 9    0              0                0           0

switch   12:34:00 10   0              0                0           0

switch   12:34:00 17   0              0                0           0

Caution:  If you enable FEC between Cisco Nexus switches and the Arista switches AS7816-64X, F9664-C, or Z9264, the link may not come up. This is not an issue of NetVisor OS or Arista switches.