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 > > > > > > > > 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 > > > > Reviewed-by: Hayato Momma > > > > CC: Choi, Sy Jong > > > > --- > > > > 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 > 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.