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