2015-02-09 07:55:53

by Hiroshi Shimamoto

[permalink] [raw]
Subject: RE: [E1000-devel] [PATCH 1/3] ixgbe, ixgbevf: Add new mbox API to enable MC promiscuous mode

> > 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 <[email protected]>
> > >
> > > 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 <[email protected]>
> > > Reviewed-by: Hayato Momma <[email protected]>
> > > CC: Choi, Sy Jong <[email protected]>
> > > ---
> > > 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 <[email protected]>
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?

thanks,
Hiroshi
????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?


2015-02-09 08:20:52

by Jeff Kirsher

[permalink] [raw]
Subject: Re: [E1000-devel] [PATCH 1/3] ixgbe, ixgbevf: Add new mbox API to enable MC promiscuous mode

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


Attachments:
signature.asc (819.00 B)
This is a digitally signed message part

2015-02-11 22:54:30

by Hiroshi Shimamoto

[permalink] [raw]
Subject: RE: [E1000-devel] [PATCH 1/3] ixgbe, ixgbevf: Add new mbox API to enable MC promiscuous mode

> > > > 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 <[email protected]>
> > 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.

I still see the same error, the head id is the below

$ git log | head
commit a072afb0b45904022b76deef3b770ee9a93cb13a
Author: Nicholas Krause <[email protected]>
Date: Mon Feb 9 00:27:00 2015 -0800

igb: Remove outdated fix me comment in the function,gb_acquire_swfw_sync_i210


thanks,
Hiroshi
????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?

2015-02-11 22:59:38

by Skidmore, Donald C

[permalink] [raw]
Subject: RE: [E1000-devel] [PATCH 1/3] ixgbe, ixgbevf: Add new mbox API to enable MC promiscuous mode

> -----Original Message-----
> From: Hiroshi Shimamoto [mailto:[email protected]]
> Sent: Monday, February 09, 2015 6:29 PM
> To: Kirsher, Jeffrey T
> Cc: Alexander Duyck; Skidmore, Donald C; Bjørn Mork; e1000-
> [email protected]; [email protected]; Choi, Sy Jong; linux-
> [email protected]; David Laight; Hayato Momma
> Subject: RE: [E1000-devel] [PATCH 1/3] ixgbe, ixgbevf: Add new mbox API to
> enable MC promiscuous mode
>
> > > > > 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 <[email protected]>
> > > 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.
>
> I still see the same error, the head id is the below
>
> $ git log | head
> commit a072afb0b45904022b76deef3b770ee9a93cb13a
> Author: Nicholas Krause <[email protected]>
> Date: Mon Feb 9 00:27:00 2015 -0800
>
> igb: Remove outdated fix me comment in the
> function,gb_acquire_swfw_sync_i210
>
>
> thanks,
> Hiroshi

I'm having our validation see if they can recreate the same issue internally. When they get back to me I'll let you know what we found.

Thanks,
-Don Skidmore <[email protected]>

????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?

2015-02-11 23:34:53

by Hiroshi Shimamoto

[permalink] [raw]
Subject: RE: [E1000-devel] [PATCH 1/3] ixgbe, ixgbevf: Add new mbox API to enable MC promiscuous mode

> Subject: RE: [E1000-devel] [PATCH 1/3] ixgbe, ixgbevf: Add new mbox API to enable MC promiscuous mode
>
> > -----Original Message-----
> > From: Hiroshi Shimamoto [mailto:[email protected]]
> > Sent: Monday, February 09, 2015 6:29 PM
> > To: Kirsher, Jeffrey T
> > Cc: Alexander Duyck; Skidmore, Donald C; Bjørn Mork; e1000-
> > [email protected]; [email protected]; Choi, Sy Jong; linux-
> > [email protected]; David Laight; Hayato Momma
> > Subject: RE: [E1000-devel] [PATCH 1/3] ixgbe, ixgbevf: Add new mbox API to
> > enable MC promiscuous mode
> >
> > > > > > 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 <[email protected]>
> > > > 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.
> >
> > I still see the same error, the head id is the below
> >
> > $ git log | head
> > commit a072afb0b45904022b76deef3b770ee9a93cb13a
> > Author: Nicholas Krause <[email protected]>
> > Date: Mon Feb 9 00:27:00 2015 -0800
> >
> > igb: Remove outdated fix me comment in the
> > function,gb_acquire_swfw_sync_i210
> >
> >
> > thanks,
> > Hiroshi
>
> I'm having our validation see if they can recreate the same issue internally. When they get back to me I'll let you know
> what we found.

We did bisect, and the below looks the culprit;

32dce968dd987adfb0c00946d78dad9154f64759 is the first bad commit
commit 32dce968dd987adfb0c00946d78dad9154f64759
Author: Vlad Yasevich <[email protected]>
Date: Sat Jan 31 10:40:18 2015 -0500

ipv6: Allow for partial checksums on non-ufo packets

Currntly, if we are not doing UFO on the packet, all UDP
packets will start with CHECKSUM_NONE and thus perform full
checksum computations in software even if device support
IPv6 checksum offloading.

Let's start start with CHECKSUM_PARTIAL if the device
supports it and we are sending only a single packet at
or below mtu size.

Signed-off-by: Vladislav Yasevich <[email protected]>
Signed-off-by: David S. Miller <[email protected]>

:040000 040000 4437eaf7e944f5a6136ebf668a256fee688fda3d fade8da998d35c8da97a15f0556949ad371e5347 M net

thanks,
Hiroshi

>
> Thanks,
> -Don Skidmore <[email protected]>

????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?