e1000: Fix up HW vlan ops
- Don't reset the entire adapter for vlan changes, fix up the problems
- Add some functions for vlan filter (vfta) manipulation
- Don't muck with the vfta if we aren't doing HW vlan filtering
- Disable interrupts when manipulating vfta on lem(4)-class NICs
- On the I350 there is a specification update (2.4.20) in which the
suggested workaround is to write to the vfta 10 times (if at first you
don't succeed, try, try again). Our shared code has the goods, use it
- Increase a VF's frame receive size in the case of vlans
From the referenced PR, this reduced vlan configuration from minutes
to seconds with hundreds or thousands of vlans and prevents wedging the
adapter with needless adapter reinitialization for each vlan ID.
PR: 230996
Reviewed by: markj
Tested by: Ozkan KIRIK <ozkan.kirik@gmail.com>
Differential Revision: https://reviews.freebsd.org/D30002
22b20b45:
e1000: Fix variable typo
Forgot to git add this in last commit
Reported by: jenkins
Fixes: 2796f7cab107
(cherry picked from commit 2796f7cab10785ef40efbba97ef67ab319c96e9c)
(cherry picked from commit 22b20b45c9118bf6ef313c074cdb107a1eaca78e)