Skip to content

NAS-139477 / 27.0.0-BETA.1 / Add FEC mode configuration to network interfaces#18447

Open
creatorcary wants to merge 13 commits intomasterfrom
NAS-139477
Open

NAS-139477 / 27.0.0-BETA.1 / Add FEC mode configuration to network interfaces#18447
creatorcary wants to merge 13 commits intomasterfrom
NAS-139477

Conversation

@creatorcary
Copy link
Contributor

@creatorcary creatorcary commented Mar 12, 2026

Summary

Exposes Forward Error Correction (FEC) mode as a configurable property on physical network interfaces. Operators can query which FEC modes a NIC supports, set a preferred mode, and observe the active mode the hardware is using — all via the existing interface.* API.

Feature requested by support for the purpose of fixing interface connectivity when FEC negotiation with the switch fails. This provides the customer with a cleaner way to correct the issue than setting up a custom boot-time script.

API usage

Check what modes the NIC supports

midclt call interface.available_fec_modes eno8np2
["AUTO", "RS"]

Configure RS-FEC

midclt call interface.update eno8np2 '{"fec_mode": "RS"}'
midclt call interface.commit '{"rollback": true, "checkin_timeout": 60}'
midclt call interface.checkin

Query configured vs active mode

midclt call interface.query '[["id","=","eno8np2"]]' | jq '.[0] | {configured: .fec_mode, active: .state.fec_mode}'
{
  "configured": "RS",
  "active": "RS"
}

Depends on

truenas/truenas_pynetif#58 — provides get_fec, set_fec, get_fec_modes, and FecModeName

@bugclerk
Copy link
Contributor

@bugclerk bugclerk changed the title Add FEC mode configuration to network interfaces NAS-139477 / 27.0.0-BETA.1 / Add FEC mode configuration to network interfaces Mar 12, 2026
@creatorcary creatorcary marked this pull request as ready for review March 13, 2026 18:19
@creatorcary creatorcary requested a review from a team March 13, 2026 18:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants