Re: MBIM

Dan Williams
2012-09-07T17:02:13Z

On Fri, 2012-09-07 at 10:53 +0200, Bjørn Mork wrote:
> Oliver Neukum <oneukum-l3A5Bk7waGM@public.gmane.org> writes:
> > On Thursday 06 September 2012 10:17:46 Bjørn Mork wrote:
> >> 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.
>
> > 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