From: Vlad Yasevich <vyasevic@redhat.com>
To: "Skidmore, Donald C" <donald.c.skidmore@intel.com>,
Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>,
"Kirsher, Jeffrey T" <jeffrey.t.kirsher@intel.com>
Cc: "Alexander Duyck" <alexander.duyck@gmail.com>,
"Bjørn Mork" <bjorn@mork.no>,
"e1000-devel@lists.sourceforge.net"
<e1000-devel@lists.sourceforge.net>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"Choi, Sy Jong" <sy.jong.choi@intel.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"David Laight" <David.Laight@ACULAB.COM>,
"Hayato Momma" <h-momma@ce.jp.nec.com>
Subject: Re: [E1000-devel] [PATCH 1/3] ixgbe, ixgbevf: Add new mbox API to enable MC promiscuous mode
Date: Fri, 13 Feb 2015 12:34:03 -0500 [thread overview]
Message-ID: <54DE358B.90502@redhat.com> (raw)
In-Reply-To: <F6FB0E698C9B3143BDF729DF22286646912A1A50@ORSMSX110.amr.corp.intel.com>
On 02/13/2015 12:26 PM, Skidmore, Donald C wrote:
>
>
>> -----Original Message-----
>> From: Hiroshi Shimamoto [mailto:h-shimamoto@ct.jp.nec.com]
>> Sent: Thursday, February 12, 2015 8:45 PM
>> To: Skidmore, Donald C; Kirsher, Jeffrey T
>> Cc: Alexander Duyck; Bjørn Mork; e1000-devel@lists.sourceforge.net;
>> netdev@vger.kernel.org; Choi, Sy Jong; linux-kernel@vger.kernel.org; David
>> Laight; Hayato Momma
>> Subject: RE: [E1000-devel] [PATCH 1/3] ixgbe, ixgbevf: Add new mbox API to
>> enable MC promiscuous mode
>>
>>>>> -----Original Message-----
>>>>> From: Hiroshi Shimamoto [mailto:h-shimamoto@ct.jp.nec.com]
>>>>> Sent: Monday, February 09, 2015 6:29 PM
>>>>> To: Kirsher, Jeffrey T
>>>>> Cc: Alexander Duyck; Skidmore, Donald C; Bjørn Mork; e1000-
>>>>> devel@lists.sourceforge.net; netdev@vger.kernel.org; Choi, Sy
>>>>> Jong; linux- kernel@vger.kernel.org; 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/que
>>>>>>>>> ue.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@rasmusvillemoes.dk>
>>>>>>> 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 <xerofoify@gmail.com>
>>>>> 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 <vyasevich@gmail.com>
>>> 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 <vyasevic@redhat.com>
>>> Signed-off-by: David S. Miller <davem@davemloft.net>
>>>
>>> :040000 040000 4437eaf7e944f5a6136ebf668a256fee688fda3d
>> fade8da998d35c8da97a15f0556949ad371e5347 M net
>>
>> When I reverted the commit, the issue was solved.
>>
>> thanks,
>> Hiroshi
>
> I believe the issue is that this patch (32dce968dd98 - ipv6: Allow for partial checksums on non-ufo packets) is that it now sets CHECKSUM_PARTIAL on all IPv6 packets including ICMPv6 ones. Our HW (82599) only supports checksum offload on TCP/UDP (NETIF_F_IPV6_CSUM) so we get hung up on the skb's protocol and the fact that it is CHECKSUM_PARTIAL.
>
> Another thing that confuses me is the feature test in this patch. It checks (rt->dst.dev->features & NETIF_F_V6_CSUM) but NETIF_F_V6_CSUM is a two bit field?
>
> #define NETIF_F_V6_CSUM (NETIF_F_GEN_CSUM | NETIF_F_IPV6_CSUM)
>
> So the test would succeed if either bit was high, that doesn't seem right. I cc'd the author so maybe he could clue us in.
This has been addressed by:
commit bf250a1fa769f2eb8fc7a4e28b3b523e9cb67eef
Author: Vlad Yasevich <vyasevich@gmail.com>
Date: Tue Feb 10 11:37:29 2015 -0500
ipv6: Partial checksum only UDP packets
As far the 2 bit issue, GEN_CSUM (HW_SUM) and IPV6_CSUM can not coexist at the same time.
See netdev_fix_features().
-vlad
>
> Thanks,
> -Don Skidmore <donald.c.skidmore@intel.com>
>
>
next prev parent reply other threads:[~2015-02-13 17:34 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-30 11:37 [PATCH 1/3] ixgbe, ixgbevf: Add new mbox API to enable MC promiscuous mode Hiroshi Shimamoto
2015-01-30 22:13 ` Skidmore, Donald C
2015-02-04 12:57 ` [E1000-devel] " Jeff Kirsher
2015-02-05 6:10 ` Hiroshi Shimamoto
2015-02-09 6:59 ` Hiroshi Shimamoto
2015-02-09 8:20 ` Jeff Kirsher
2015-02-10 2:28 ` Hiroshi Shimamoto
2015-02-11 22:59 ` Skidmore, Donald C
2015-02-11 23:33 ` Hiroshi Shimamoto
2015-02-13 4:44 ` Hiroshi Shimamoto
2015-02-13 17:26 ` Skidmore, Donald C
2015-02-13 17:34 ` Vlad Yasevich [this message]
2015-02-16 4:54 ` Hiroshi Shimamoto
2015-02-17 15:02 ` Vlad Yasevich
2015-02-17 23:30 ` Skidmore, Donald C
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=54DE358B.90502@redhat.com \
--to=vyasevic@redhat.com \
--cc=David.Laight@ACULAB.COM \
--cc=alexander.duyck@gmail.com \
--cc=bjorn@mork.no \
--cc=donald.c.skidmore@intel.com \
--cc=e1000-devel@lists.sourceforge.net \
--cc=h-momma@ce.jp.nec.com \
--cc=h-shimamoto@ct.jp.nec.com \
--cc=jeffrey.t.kirsher@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=sy.jong.choi@intel.com \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox