Re: [E1000-devel] [PATCH 1/3] ixgbe, ixgbevf: Add new mbox API to enable MC promiscuous mode
From: Jeff Kirsher
Date: Mon Feb 09 2015 - 03:20:55 EST
On Mon, 2015-02-09 at 06:59 +0000, Hiroshi Shimamoto wrote:
> > > Subject: Re: [E1000-devel] [PATCH 1/3] ixgbe, ixgbevf: Add new mbox API to enable MC promiscuous mode
> > >
> > > On Fri, 2015-01-30 at 11:37 +0000, Hiroshi Shimamoto wrote:
> > > > From: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx>
> > > >
> > > > The limitation of the number of multicast address for VF is not enough
> > > > for the large scale server with SR-IOV feature.
> > > > IPv6 requires the multicast MAC address for each IP address to handle
> > > > the Neighbor Solicitation message.
> > > > We couldn't assign over 30 IPv6 addresses to a single VF interface.
> > > >
> > > > The easy way to solve this is enabling multicast promiscuous mode.
> > > > It is good to have a functionality to enable multicast promiscuous
> > > > mode
> > > > for each VF from VF driver.
> > > >
> > > > This patch introduces the new mbox API, IXGBE_VF_SET_MC_PROMISC, to
> > > > enable/disable multicast promiscuous mode in VF. If multicast
> > > > promiscuous
> > > > mode is enabled the VF can receive all multicast packets.
> > > >
> > > > With this patch, the ixgbevf driver automatically enable multicast
> > > > promiscuous mode when the number of multicast addresses is over than
> > > > 30
> > > > if possible.
> > > >
> > > > This also bump the API version up to 1.2 to check whether the API,
> > > > IXGBE_VF_SET_MC_PROMISC is available.
> > > >
> > > > Signed-off-by: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx>
> > > > Reviewed-by: Hayato Momma <h-momma@xxxxxxxxxxxxx>
> > > > CC: Choi, Sy Jong <sy.jong.choi@xxxxxxxxx>
> > > > ---
> > > > drivers/net/ethernet/intel/ixgbe/ixgbe.h | 1 +
> > > > drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h | 4 +
> > > > drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 89
> > > > ++++++++++++++++++++++-
> > > > drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 13 +++-
> > > > drivers/net/ethernet/intel/ixgbevf/mbx.h | 4 +
> > > > drivers/net/ethernet/intel/ixgbevf/vf.c | 29 +++++++-
> > > > drivers/net/ethernet/intel/ixgbevf/vf.h | 1 +
> > > > 7 files changed, 137 insertions(+), 4 deletions(-)
> > >
> > > Hiroshi, I tried to apply your patches to my queue but they do not apply
> > > cleanly and they are in a DOS file format, not UNIX. I also noted
> > > several checkpatch.pl issues with your patches, so please fix those up
> > > as well.
> >
> > I'm sorry to bother you.
> > Will fix.
> >
> > >
> > > Can you please fix up your patches based on my tree:
> > > git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/queue.git
> >
> > Yes. I haven't noticed your tree.
> > Will resend patches against it.
> >
>
> I encountered an issue with your tree, the commit id is below.
>
> $ git log | head
> commit e6f1649780f8f5a87299bf6af04453f93d1e3d5e
> Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
> Date: Fri Jan 23 20:43:14 2015 -0800
>
> ethernet: fm10k: Actually drop 4 bits
>
> The comment explains the intention, but vid has type u16. Before the
> inner shift, it is promoted to int, which has plenty of space for all
> vid's bits, so nothing is dropped. Use a simple mask instead.
>
>
> I use the kernel from your tree in both host and guest.
>
> Assign an IPv6 for VF in guest.
> # ip -6 addr add 2001:db8::18:1/64 dev ens0
>
> Send ping packet from other server to the VM.
> # ping6 2001:db8::18:1 -I eth0
>
> The following message was shown.
> ixgbevf 0000:00:08.0: partial checksum but l4 proto=3a!
>
> If I did the same operation in the host, I saw the same error message in host too.
> ixgbe 0000:2d:00.0: partial checksum but l4 proto=3a!
>
> Do you have any idea about that?
Ah, sorry about that, try this tree again:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/queue.git
That patch was dropped for favor of a patch that Matthew Vick put
together (and recently got pushed upstream). So my queue no longer has
that patch in the queue, since it got dropped.
Attachment:
signature.asc
Description: This is a digitally signed message part