DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] Q on IXGBE (dpdk 19.11)
@ 2020-06-25  2:57 Ravi Kerur
  2020-06-28  1:23 ` Zhao1, Wei
  0 siblings, 1 reply; 2+ messages in thread
From: Ravi Kerur @ 2020-06-25  2:57 UTC (permalink / raw)
  To: dpdk-dev

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?


Thanks,

Ravi

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [dpdk-dev] Q on IXGBE (dpdk 19.11)
  2020-06-25  2:57 [dpdk-dev] Q on IXGBE (dpdk 19.11) Ravi Kerur
@ 2020-06-28  1:23 ` Zhao1, Wei
  0 siblings, 0 replies; 2+ messages in thread
From: Zhao1, Wei @ 2020-06-28  1:23 UTC (permalink / raw)
  To: Ravi Kerur, dpdk-dev

Hi,

> -----Original Message-----
> From: dev <dev-bounces@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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-06-28  1:23 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-25  2:57 [dpdk-dev] Q on IXGBE (dpdk 19.11) Ravi Kerur
2020-06-28  1:23 ` Zhao1, Wei

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git