From: Eric Dumazet <dada1@cosmosbay.com>
To: Jarek Poplawski <jarkao2@gmail.com>
Cc: "David S. Miller" <davem@davemloft.net>,
Linux Netdev List <netdev@vger.kernel.org>,
Patrick McHardy <kaber@trash.net>
Subject: Re: [PATCH] net: release dst entry in dev_hard_start_xmit()
Date: Tue, 12 May 2009 22:52:27 +0200 [thread overview]
Message-ID: <4A09E18B.3020402@cosmosbay.com> (raw)
In-Reply-To: <20090512200515.GB2757@ami.dom.local>
Jarek Poplawski a écrit :
> On Tue, May 12, 2009 at 09:44:52PM +0200, Eric Dumazet wrote:
>> Jarek Poplawski a écrit :
>>> On Tue, May 12, 2009 at 10:21:12AM +0200, Eric Dumazet wrote:
>>>> Eric Dumazet a écrit :
>>> ...
>>>>> List of devices that must clear this flag is :
>>>>>
>>>>> - loopback device, because it calls netif_rx() and quoting Patrick :
>>>>> "ip_route_input() doesn't accept loopback addresses, so loopback packets
>>>>> already need to have a dst_entry attached."
>>>>> - appletalk/ipddp.c : needs skb->dst in its xmit function
>>>>>
>>>>> - And all devices that call again dev_queue_xmit() from their xmit function
>>>>> (as some classifiers need skb->dst) : bonding, macvlan, eql, ifb, hdlc_fr
>>> Why not vlan (and/or maybe others in net/ using dev_queue_xmit)?
>>>
>> Yes I spoted vlan earlier this afternoon.
>>
>> For other net/*, I didnt not find candidates yet.
>
> Hmm..., if vlan, then why not pppoe (and/or maybe others in drivers/net/
> using dev_queue_xmit)?
>
As I said, I didnt found other relevant uses, but I am probably wrong :)
About ppoe for example, two calls to dev_queue_xmit() are not relevant.
One is from
static int pppoe_sendmsg(struct kiocb *iocb, struct socket *sock,
struct msghdr *m, size_t total_len)
This is a normal direct call, not a call from its ndo_start_xmit()
Second one is from
static int __pppoe_xmit(struct sock *sk, struct sk_buff *skb)
Same observation, there is no impact for this one as well.
So we have to care on device drivers that have a ndo_start_xmit() call that could
re-enter dev_queue_xmit(). Not care about drivers that call dev_queue_xmit() from
other paths.
next prev parent reply other threads:[~2009-05-12 20:52 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-20 11:40 [RFC] net: release dst entry in dev_queue_xmit() Eric Dumazet
2009-03-20 14:10 ` Neil Horman
2009-03-25 6:43 ` David Miller
2009-03-25 7:13 ` Eric Dumazet
2009-03-25 7:17 ` David Miller
2009-03-25 18:22 ` Jarek Poplawski
2009-03-25 18:41 ` Eric Dumazet
2009-03-25 19:18 ` Jarek Poplawski
2009-03-25 19:40 ` Eric Dumazet
2009-03-25 19:54 ` Jarek Poplawski
2009-03-25 20:28 ` Eric Dumazet
2009-03-25 21:12 ` Jarek Poplawski
2009-03-25 21:20 ` Patrick McHardy
2009-05-12 8:12 ` [PATCH] net: release dst entry in dev_hard_start_xmit() Eric Dumazet
2009-05-12 8:21 ` Eric Dumazet
2009-05-12 19:26 ` [PATCH, v2] " Eric Dumazet
2009-05-19 5:19 ` David Miller
2009-05-19 5:44 ` Eric Dumazet
2009-05-19 19:44 ` Eric Dumazet
2009-05-19 21:09 ` Jarek Poplawski
2009-05-19 21:21 ` Eric Dumazet
2009-05-19 21:24 ` David Miller
2009-05-12 19:27 ` [PATCH] " Jarek Poplawski
2009-05-12 19:44 ` Eric Dumazet
2009-05-12 20:05 ` Jarek Poplawski
2009-05-12 20:24 ` Jarek Poplawski
2009-05-12 20:52 ` Eric Dumazet [this message]
2009-05-12 20:59 ` Jarek Poplawski
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=4A09E18B.3020402@cosmosbay.com \
--to=dada1@cosmosbay.com \
--cc=davem@davemloft.net \
--cc=jarkao2@gmail.com \
--cc=kaber@trash.net \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.