[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20211014144231.GA11651@ICIPI.localdomain>
Date: Thu, 14 Oct 2021 10:42:31 -0400
From: Stephen Suryaputra <ssuryaextr@...il.com>
To: Edward Cree <ecree.xilinx@...il.com>
Cc: Network Development <netdev@...r.kernel.org>
Subject: Re: ip_list_rcv() question
On Wed, Oct 13, 2021 at 05:17:51PM +0100, Edward Cree wrote:
> On 07/10/2021 13:14, Stephen Suryaputra wrote:
> > Under what condition that ip_list_rcv() would restart the sublist, i.e.
> > that the skb in the list is having different skb->dev?
>
> IIRC, something earlier in the call chain (possibly
> __netif_receive_skb_core()?) can change skb->dev to something other
> than the device that originally received the packet (orig_dev). I
> think it's if the packet gets handled/transformed by a software
> netdevice (maybe a VLAN device?).
> But really when I wrote ip_list_rcv() I just worked on the basis
> that "I don't know it can't change, so I shall assume it can".
I see now that vlan_do_receive() changes the skb->dev. It didn't occur
to me because __netif_receive_skb_list_core() has a similar logic for
dispatching sublists. But still the skb->dev could be different that
orig_dev.
Thanks.
Powered by blists - more mailing lists