WDS Bind Mux Port?

Daniele Palmas dnlplm at gmail.com
Thu Jan 12 12:56:04 UTC 2017


2017-01-11 21:21 GMT+01:00 Bjørn Mork <bjorn at mork.no>:
> Bjørn Mork <bjorn at mork.no> writes:
>> Aleksander Morgado <aleksander at aleksander.es> writes:
>>
>>> If this is indeed something to support, why don't we set it up as well
>>> with qmi_wwan/libqmi?
>>
>> My thought as well. Adding multiplexing support to the qmi_wwan data
>> plane does not seem very difficult. Codewise. The main issues are the
>> usual policy questions:
>>
>> 1) We can only add the necessary knobs to adjust the data plane
>>
>>   We cannot automatically turn then beased on control plane messages,
>>   since the qmi_wwan driver is completely control protocol agnotistic.
>>   Some userspace tool (i.e libqmi) will have to coordinate the control
>>   and data plane, similar to how we do it for raw IP for example: You
>>   need both a WDA Set Data Format message and writing to the sysfs file.
>>
>>
>> 2) We need to figure out a sane user interface
>>
>>   I haven't exactly received much applause for the creative use of VLAN
>>   tagging in cdc_mbim ;)  So I'm not sure that is worth copying.  The
>>   only reason would be to keep the UI of two multiplexing drivers
>>   similar.  But IIUC, QMI multiplexing is tied to raw-ip.  Which with
>>   our current implementation excludes VLAN tags as an option.
>>
>>   So the table is open:  How do you want additional multiplexed qmi_wwan
>>   data interfaces implemented? Driver specific netlink messages to add
>>   and remove links?  Or extending the raw-ip sysfs interface (dunno if I
>>   can sell that in)?
>>
>>   I assume that we want to keep a single /dev/cdc-wdmX and have proper
>>   slave netdevs for every multiplexed channel, in any case.  But what do
>>   we do about the original netdev?  Keep it as master only, or should we
>>   accept traffic for some default multiplex channel on it?  The cdc_mbim
>>   driver is an example I would want to avoid here...  But that's
>>   basically because MBIM has multiplexing by default, and most (all)
>>   users ignore it.  As long as QMI multiplexing is something that needs
>>   to be explicitly enabled, I think we can safely force the users to
>>   create a new link even for the first channel.
>>
>>
>> Don't know how much time I will have for this, but I must admit that I
>> am curious about this feature.  So I might spend time I don't have :)
>
> So I ended up trying to hack a proof-of-conecpt together in a hurry.
> But as usual I did not consider how much time I need to figure out how
> this kernel thing works.
>
> I have to accept that I won't have time to work on this.  The attached
> patch is my current draft, provided as input for further discussion and
> thought.  Nothing else.  Certainly not for use. It DOES NOT WORK. If you
> run this as-is, then expect to do a hard power-off type reboot to get
> your system up and running again.  I'm not joking.
>

Thanks!! I'll try to take a look at this and, if possible, do some tests!

Daniele

>
>
> Bjørn
>


More information about the libqmi-devel mailing list