|
@@ -2432,15 +2432,17 @@ static void ixgbe_vlan_rx_add_vid(struct net_device *netdev, u16 vid)
|
|
|
{
|
|
|
struct ixgbe_adapter *adapter = netdev_priv(netdev);
|
|
|
struct ixgbe_hw *hw = &adapter->hw;
|
|
|
+ int pool_ndx = adapter->num_vfs;
|
|
|
|
|
|
/* add VID to filter table */
|
|
|
- hw->mac.ops.set_vfta(&adapter->hw, vid, 0, true);
|
|
|
+ hw->mac.ops.set_vfta(&adapter->hw, vid, pool_ndx, true);
|
|
|
}
|
|
|
|
|
|
static void ixgbe_vlan_rx_kill_vid(struct net_device *netdev, u16 vid)
|
|
|
{
|
|
|
struct ixgbe_adapter *adapter = netdev_priv(netdev);
|
|
|
struct ixgbe_hw *hw = &adapter->hw;
|
|
|
+ int pool_ndx = adapter->num_vfs;
|
|
|
|
|
|
if (!test_bit(__IXGBE_DOWN, &adapter->state))
|
|
|
ixgbe_irq_disable(adapter);
|
|
@@ -2451,7 +2453,7 @@ static void ixgbe_vlan_rx_kill_vid(struct net_device *netdev, u16 vid)
|
|
|
ixgbe_irq_enable(adapter);
|
|
|
|
|
|
/* remove VID from filter table */
|
|
|
- hw->mac.ops.set_vfta(&adapter->hw, vid, 0, false);
|
|
|
+ hw->mac.ops.set_vfta(&adapter->hw, vid, pool_ndx, false);
|
|
|
}
|
|
|
|
|
|
static void ixgbe_vlan_rx_register(struct net_device *netdev,
|