[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <12441e92707a1480287562a5e1ac34ed1ac5b8e7.camel@sipsolutions.net>
Date: Fri, 12 Apr 2019 19:04:46 +0200
From: Johannes Berg <johannes@...solutions.net>
To: Bjørn Mork <bjorn@...k.no>
Cc: Subash Abhinov Kasiviswanathan <subashab@...eaurora.org>,
Dan Williams <dcbw@...hat.com>, netdev@...r.kernel.org,
Sean Tranchetti <stranche@...eaurora.org>,
Daniele Palmas <dnlplm@...il.com>,
Aleksander Morgado <aleksander@...ksander.es>,
netdev-owner@...r.kernel.org
Subject: Re: cellular modem driver APIs
On Fri, 2019-04-12 at 16:27 +0200, Bjørn Mork wrote:
> Johannes Berg <johannes@...solutions.net> writes:
> > On Wed, 2019-04-10 at 21:54 -0600, Subash Abhinov Kasiviswanathan wrote:
> >
> > > These packets will be processed as raw IP muxed frames on the PC as
> > > well, not as ethernet though.
> >
> > But in order to transport them, they're always encapsulated in ethernet?
>
> No. There is no ethernet encapsulation of QMAP muxed frames over USB.
>
> Same goes for MBIM, BTW. The cdc_mbim driver adds ethernet encapsulation
> on the host side, but that is just an unfortunate design decision based
> on the flawed assumption that ethernet interfaces are easier to relate
> to.
Yes yes, sorry. I snipped too much - we were talking here in the context
of capturing the QMAP muxed frames remotely to another system, in
particular the strange bridge mode rmnet has.
And I said up the thread:
> Yeah, I get it, it's just done in a strange way. You'd think adding a
> tcpdump or some small application that just resends the packets directly
> received from the underlying "real_dev" using a ptype_all socket would
> be sufficient? Though perhaps not quite the same performance, but then
> you could easily not use an application but a dev_add_pack() thing? Or
> probably even tc's mirred?
>
> And to extend that thought, tc's ife action would let you encapsulate
> the things you have in ethernet headers... I think.
So basically yes, I know we (should) have only IP frames on the session
netdevs, and only QMAP-muxed frames on the underlying netdev (assuming
it exists), but I don't see the point in having kernel code to add
ethernet headers to send it over some other netdev - you can trivially
solve all of that in userspace or quite possibly even in the kernel with
existing (tc) infrastructure.
johannes
Powered by blists - more mailing lists