Fix ixgbe(4) support for ifconfig's vlanhwtag flag. Disabling this flag
will now prevent the driver from stripping vlan tags from packets. PR: 219390 Submitted by: Piotr Pietruszewski <piotr.pietruszewski@intel.com> Reported by: Charles Goncalves <halfling@halfling.com.br> Obtained from: 1 week Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D12795
This commit is contained in:
parent
bb0c3a6b03
commit
9c92bb71de
@ -1754,15 +1754,17 @@ ixgbe_setup_vlan_hw_support(struct adapter *adapter)
|
||||
return;
|
||||
|
||||
/* Setup the queues for vlans */
|
||||
for (i = 0; i < adapter->num_queues; i++) {
|
||||
rxr = &adapter->rx_rings[i];
|
||||
/* On 82599 the VLAN enable is per/queue in RXDCTL */
|
||||
if (hw->mac.type != ixgbe_mac_82598EB) {
|
||||
ctrl = IXGBE_READ_REG(hw, IXGBE_RXDCTL(rxr->me));
|
||||
ctrl |= IXGBE_RXDCTL_VME;
|
||||
IXGBE_WRITE_REG(hw, IXGBE_RXDCTL(rxr->me), ctrl);
|
||||
if (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) {
|
||||
for (i = 0; i < adapter->num_queues; i++) {
|
||||
rxr = &adapter->rx_rings[i];
|
||||
/* On 82599 the VLAN enable is per/queue in RXDCTL */
|
||||
if (hw->mac.type != ixgbe_mac_82598EB) {
|
||||
ctrl = IXGBE_READ_REG(hw, IXGBE_RXDCTL(rxr->me));
|
||||
ctrl |= IXGBE_RXDCTL_VME;
|
||||
IXGBE_WRITE_REG(hw, IXGBE_RXDCTL(rxr->me), ctrl);
|
||||
}
|
||||
rxr->vtag_strip = TRUE;
|
||||
}
|
||||
rxr->vtag_strip = TRUE;
|
||||
}
|
||||
|
||||
if ((ifp->if_capenable & IFCAP_VLAN_HWFILTER) == 0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user