[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210201125504.7646de2a@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
Date: Mon, 1 Feb 2021 12:55:04 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: Willem de Bruijn <willemdebruijn.kernel@...il.com>
Cc: Loic Poulain <loic.poulain@...aro.org>,
David Miller <davem@...emloft.net>,
Network Development <netdev@...r.kernel.org>
Subject: Re: [PATCH net-next] net: mhi-net: Add de-aggeration support
On Mon, 1 Feb 2021 13:33:05 -0500 Willem de Bruijn wrote:
> On Mon, Feb 1, 2021 at 11:41 AM Loic Poulain <loic.poulain@...aro.org> wrote:
> > On Mon, 1 Feb 2021 at 15:24, Willem de Bruijn wrote:
> > > What is this path to rmnet, if not the usual xmit path / validate_xmit_skb?
> >
> > I mean, not sure what to do exactly here, instead of using
> > skb_copy_expand to re-aggregate data from the different skbs, Jakub
> > suggests chaining the skbs instead (via 'frag_list' and 'next' pointer
> > I assume), and to push this chained skb to net core via netif_rx. In
> > that case, I assume the de-fragmentation/linearization will happen in
> > the net core, right? If the transported protocol is rmnet, the packet
> > is supposed to reach the rmnet_rx_handler at some point, but rmnet
> > only works with standard/linear skbs.
>
> If it has that limitation, the rx_handler should have a check and linearize.
Do you mean it's there or we should add it?
> That is simpler than this skb_copy_expand, and as far as I can see no
> more expensive.
rx_handler is only used by uppers which are 100% SW. I think the right
path is to fix the upper, rather than add a check to the fastpath, no?
Perhaps all that's needed is a:
pskb_may_pull(skb, sizeof(struct rmnet_map_header))
in rmnet? Hope I'm not missing some crucial point :)
Powered by blists - more mailing lists