Page MenuHomeFreeBSD

lagg: re-check port caps after bringing up a port
Needs ReviewPublic

Authored by gallatin on Mon, Jul 6, 6:55 PM.

Details

Summary

Some nic drivers (including iflib) do not initialize if_hwassist until after the interface is brought up.
If a lagg member is included in a lagg when its not yet been brought up, that will cause lagg to see
if_hwassist=0 and will disable all checksum offload, etc, on the interface. This is almost impossible
to debug without kgdb or dtrace, as ifconfig does not surface if_hwassist.

Fix this by re-calculating lagg caps (including if_hwassist) after adding a port.

I encountered this problem when I had a commented-out if_foo1=up entry in my rc.conf that i neglected
to uncomment when I was re-configuring a lagg.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped