Hi,

> -----Original Message-----
> From: dev <dev-boun...@dpdk.org> On Behalf Of Ravi Kerur
> Sent: Thursday, June 25, 2020 10:57 AM
> To: dpdk-dev <dev@dpdk.org>
> Subject: [dpdk-dev] Q on IXGBE (dpdk 19.11)
> 
> DPDK team,
> 
> I have a use-case for multicast and wanted to know the current behavior of
> ixgbe pf and vf driver so my understanding is correct.
> 
> use-case: 2 VF's (vf1 and vf2 ) from ixgbe is assigned to 2 VM's (vm1 and
> vm2)
> 
> vf1 -- registers to mcast 01:00:5e:00:00:01, 01:00:5e:00:00:0a
> vf2 -- registers to mcast 01:00:5e:00:00:0a
> 
> Flow:
> ixgbe_update_mc_addr_list_vf creates a vector based on bits to be used.
> 
> /* use bits [47:36] of the address */
> 
> /* use bits [46:35] of the address */
> 
> /* use bits [45:34] of the address */
> 
> /* use bits [43:32] of the address */
> 
> 
> VFs (vf1 and vf2) sends IXGBE_VF_SET_MULTICAST to PF
> 
> 
> PF processes IXGBE_VF_SET_MULTICAST in ixgbe_vf_set_multicast
> 
> 
> Reads IXGBE_READ_REG(hw, IXGBE_VMOLR(vf));
> 
> 
> Updates IXGBE_READ_REG(hw, IXGBE_MTA(mta_idx)); with the
> 
> corresponding bit associated with mcast mac address
> 
> 
> Updates ROMPE bit which allows PF to use MTA for mcast packets.
> 
> 
> vmolr |= IXGBE_VMOLR_ROMPE;
> 
>         IXGBE_WRITE_REG(hw, IXGBE_VMOLR(vf), vmolr);
> 
>      IXGBE_READ_REG(hw, IXGBE_MTA(mta_idx));
> 
> 
> 
> Both vf1 and vf2 have indicated to use MTA for mcast packets.
> 
> 
> 
> When packets with dst mac 01:00:5e:00:00:01 arrives, PF checks for MTA bit
> associated with the mcast mac, which will be set. Since both vf1 and vf2 have
> indicated to use MTA, packets will be delivered to both vm1 and vm2.
> 
> 
> vm1 never intended to receive mcast packets for that mac.
> 
> 
> Let me know if this is correct?

It is normal behavior for ixgbe, all vf use the same MAT.

> 
> 
> Thanks,
> 
> Ravi

Reply via email to