isc_capabilites contains all capabilities of the device. isc_capenable contains all capabilities which should be enabled. If the TXCSUM should be disabled, it's valid to set tx_csum_flags to zero.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
Comment Actions
What is triggering this for you?
The invariant is designed to catch a driver bug where the driver expresses TXCSUM capability but does not define what isc_tx_csum_flags it supports (see i.e. recent e1000 lem fix). It shouldn't occur that you have the capability but no isc_tx_csum_flags.
Comment Actions
I'm going to agree with @kbowling here -- it looks like it's a driver bug / reasonable to fail if the driver sets IFCAP_TXCSUM without setting the CSUM_* bits that it supports for transmit checksumming.
Comment Actions
I think I agree with Eric and Kevin after looking at this further, and withdraw my approval