DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ravi Kerur <rkerur@gmail.com>
To: dpdk-dev <dev@dpdk.org>
Subject: [dpdk-dev] Q on IXGBE (dpdk 19.11)
Date: Wed, 24 Jun 2020 19:57:19 -0700
Message-ID: <CAFb4SLDa_TZryrkWqr6OH5o6p75SVpiN3FOzAtcadsurLRqtmA@mail.gmail.com> (raw)

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

             reply	other threads:[~2020-06-25  2:57 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-25  2:57 Ravi Kerur [this message]
2020-06-28  1:23 ` Zhao1, Wei

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAFb4SLDa_TZryrkWqr6OH5o6p75SVpiN3FOzAtcadsurLRqtmA@mail.gmail.com \
    --to=rkerur@gmail.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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