Thread (1 message) 1 message, 1 author, 2012-09-07
  • (off-list ancestor, not in this archive)
  • Re: MBIM · Dan Williams <hidden> · 2012-09-07

Re: MBIM

From: Dan Williams <hidden>
Date: 2012-09-07 17:02:13

On Fri, 2012-09-07 at 10:53 +0200, Bjørn Mork wrote:
Oliver Neukum [off-list ref] writes:
quoted
On Thursday 06 September 2012 10:17:46 Bjørn Mork wrote:
quoted
Not really related, but I am still worrying how MBIM is going to fit
into the usbnet model where you have a strict relation between one
netdev and one USB interface.  Do you see any way usbnet could be
extended to manage a list of netdevs?

All the netdev related functions doing

        struct usbnet           *dev = netdev_priv(net);

would still work.  But all the USB related functions using dev->net to
get the netdev would fail.  Maybe this will be too difficult to
implement within the usbnet framework at all?
It depends on how much support we get from upper layers.
You can give two IPs to an ethernet card as well.
Yes, of course.  But I don't think that fits the MBIM model, where
multiple independent connections (Internet, VoIP, MMS, VPN1, VPN2, etc)
to different APNs will be multiplexed over the same USB endpoints.  And
Not just multiple APNs each with different IP addressing... but QoS too.
Each WWAN bearer you create may have different QoS settings.  That
bearer may also have *both* IPv4 and IPv6 addresses.  We also may want
to put the interface that bearer is tied to into a different network
namespace or container or something like that, so that the process that
requested the specific QoS doesn't have to share it with other apps,
possibly malicious ones.  Can't do that if they are all on the same
kernel network interface, AFAIK.

Dan
to make this not fly at all: Some of these may be IPv4, some IPv6 and
some dual stack.  You cannot support that on a single netdev.  Mixing
them all together on the host will not do.  When the driver sees an IPv6
multicast packet (RS, ND, whatever) on the netdev, which MBIM session
should it forward that packet too?

If I understand MBIM correctly, we will see device configurations with
_one_ CDC data interface carrying all data traffic for multiple device
functions.  A MBIM driver must de-multiplex this, and each IP function
should be routed to its own netdev IMHO.
quoted
It would be best if you could come up with some preliminary code
at least.
Yup.  Finally got a device.  Will start playing.


Bjørn
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help