On Mon, 24 Sep 2018 16:49:24 +0100
Ferruh Yigit <ferruh.yi...@intel.com> wrote:

> On 9/21/2018 5:54 PM, Stephen Hemminger wrote:
> > Provide API's to enable allmulticast and promiscuous in Netvsc PMD
> > with VF. This keeps the VF and PV path in sync.  
> 
> VF and PF?
> 
> > 
> > Signed-off-by: Stephen Hemminger <sthem...@microsoft.com>
> > ---
> > Patch against dpdk-net-next
> > 
> >  drivers/net/netvsc/hn_ethdev.c | 14 +++++++++++++
> >  drivers/net/netvsc/hn_var.h    |  9 +++++++++
> >  drivers/net/netvsc/hn_vf.c     | 37 ++++++++++++++++++++++++++++++++++
> >  3 files changed, 60 insertions(+)
> > 
> > diff --git a/drivers/net/netvsc/hn_ethdev.c b/drivers/net/netvsc/hn_ethdev.c
> > index b67cce1ba8f5..3092066ada36 100644
> > --- a/drivers/net/netvsc/hn_ethdev.c
> > +++ b/drivers/net/netvsc/hn_ethdev.c
> > @@ -255,6 +255,7 @@ hn_dev_promiscuous_enable(struct rte_eth_dev *dev)
> >     struct hn_data *hv = dev->data->dev_private;
> >  
> >     hn_rndis_set_rxfilter(hv, NDIS_PACKET_TYPE_PROMISCUOUS);
> > +   hn_vf_promiscuous_enable(dev);  
> 
> This VF approach is confusing to me, is this calling a underlay device a VF 
> device?

Yes. This driver supports the Hyper-V/Azure accelerated networking model where 
the
synthetic para-virtual device has a associated SR-IOV VF device. It is a less 
general
version of what failsafe supports. The choice of hn_vf_XXX naming is to 
identify those
functions which do operations on the underlying device.

> 
> > +static int
> > +hn_dev_mc_addr_list(struct rte_eth_dev *dev,
> > +                struct ether_addr *mc_addr_set,
> > +                uint32_t nb_mc_addr)  
> 
> Just to double check, this dev_ops to add MAC multicast filters, to add MAC
> filters it is mac_addr_set, mac_addr_add, mac_addr_remove. Many HW seems can 
> set
> the multicast MAC filters via "mac_addr_add" too.
> 
> If this is the intention please enable "Multicast MAC filter" in netvsc.ini

Maybe, the para-virtual device doesn't do MC filtering, only the VF device does.
The RNDIS API to host does not support filtering, only the VF path does.

I am unsure. Perhaps best not to advertise MC address filtering. It doesn't 
matter
for Azure (it does not support real Multicast); only for local Hyper-V.

Reply via email to