From: Ian Campbell <Ian.Campbell@citrix.com>
To: <netdev@vger.kernel.org>
Cc: Paul Durrant <Paul.Durrant@citrix.com>
Subject: skb->frag_list != NULL in start_xmit for device without NETIF_F_FRAGLIST
Date: Tue, 1 Mar 2011 11:46:59 +0000 [thread overview]
Message-ID: <1298980019.5034.2238.camel@zakaz.uk.xensource.com> (raw)
Hi,
We are seeing cases where Xen netback's start_xmit is being passed an
skb which has a ->frag_list, despite the driver not advertising the
NETIF_F_FRAGLIST feature.
Is this indicative of a problem somewhere? Are drivers expected to
handle a frag_list? grepping for frag_list in drivers/net it appears not
many drivers do anything with the frag_list.
The netback driver is bridged with a tg3 physical device and we think
the problematic skb's are originating on the wire.
The case we are actually seeing is with 2.6.32 + tg3 3.110g so obviously
the next step is to reproduce on a more modern kernel and the in-tree
driver and then to attempt to determine if the fault is in what the
physical interface's driver is passing up the stack or in the stack's
handling of those skbs. Any hints on where to look would be much
appreciated.
In particular I'm not sure where the frag_list is supposed to get
resolved in the case where dev_hard_start_xmit takes the netif_needs_gso
== true path and calls dev_gso_segment rather than taking the
__skb_linearize path (the issue appears to occur only when the netback
device has NETIF_F_GSO but not NETIF_F_TSO). AFAICT dev_gso_segment goes
to tcp_tso_segment and then to skb_segment which does appear to create
skbs with a frag_list (although it's not outside the realms of
possibility that I'm reading it wrong).
I did wonder if perhaps we should just ignore the field, since something
higher up the stack walked the list and called start_xmit repeatedly,
but if that's the case I can't see where...
Ian.
next reply other threads:[~2011-03-01 11:47 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-01 11:46 Ian Campbell [this message]
2011-03-01 23:41 ` skb->frag_list != NULL in start_xmit for device without NETIF_F_FRAGLIST Jesse Gross
2011-03-02 13:12 ` Ian Campbell
2011-03-02 13:14 ` Ian Campbell
2011-03-02 17:42 ` Ian Campbell
2011-03-04 2:12 ` Jesse Gross
2011-03-03 23:31 ` Jesse Gross
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=1298980019.5034.2238.camel@zakaz.uk.xensource.com \
--to=ian.campbell@citrix.com \
--cc=Paul.Durrant@citrix.com \
--cc=netdev@vger.kernel.org \
/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