ixgbe: limit VF access to network traffic
This change fixes VM pool allocation issues based on MAC address filtering, as well as limits the scope of VF access to promiscuous mode. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Acked-by: Greg Rose <gregory.v.rose@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
Родитель
a124339ad2
Коммит
96cc637235
|
@ -1370,6 +1370,9 @@ s32 ixgbe_init_rx_addrs_generic(struct ixgbe_hw *hw)
|
|||
hw_dbg(hw, " New MAC Addr =%pM\n", hw->mac.addr);
|
||||
|
||||
hw->mac.ops.set_rar(hw, 0, hw->mac.addr, 0, IXGBE_RAH_AV);
|
||||
|
||||
/* clear VMDq pool/queue selection for RAR 0 */
|
||||
hw->mac.ops.clear_vmdq(hw, 0, IXGBE_CLEAR_VMDQ_ALL);
|
||||
}
|
||||
hw->addr_ctrl.overflow_promisc = 0;
|
||||
|
||||
|
|
|
@ -110,12 +110,10 @@ static int ixgbe_set_vf_vlan(struct ixgbe_adapter *adapter, int add, int vid,
|
|||
return adapter->hw.mac.ops.set_vfta(&adapter->hw, vid, vf, (bool)add);
|
||||
}
|
||||
|
||||
|
||||
static void ixgbe_set_vmolr(struct ixgbe_hw *hw, u32 vf, bool aupe)
|
||||
{
|
||||
u32 vmolr = IXGBE_READ_REG(hw, IXGBE_VMOLR(vf));
|
||||
vmolr |= (IXGBE_VMOLR_ROMPE |
|
||||
IXGBE_VMOLR_ROPE |
|
||||
IXGBE_VMOLR_BAM);
|
||||
if (aupe)
|
||||
vmolr |= IXGBE_VMOLR_AUPE;
|
||||
|
|
Загрузка…
Ссылка в новой задаче