Re: [RFC] QMAP data aggregation support in ModemManager

2021-03-10 Thread Aleksander Morgado
Hey,

>
> I've been working on updating ModemManager to allow setting up QMAP
> data aggregated links transparently, either with qmi_wwan
> add_mux/del_mux or with qmi_wwan+rmnet (pass_through=Y).
>
> See 
> https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/447
>

I've merged this to git master, with the default multiplex setting set
to "request" by default in QMI modems. This means that if you start a
connection normally as you would, e.g. with NetworkManager, the setup
will now always attempt to setup a multiplexed link for the data
connection. This is really no "API break" in ModemManager, as the
connection manager must have always used the data port reported in the
bearer object (which is why NetworkManager works without further
changes there).

Please report failures if any, this change requires a lot of testing.


--
Aleksander
https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: [RFC] QMAP data aggregation support in ModemManager

2021-02-27 Thread Daniele Palmas
Hi Aleksander,

Il giorno sab 27 feb 2021 alle ore 10:47 Aleksander Morgado
 ha scritto:
>
> Hey
>
> > > I've been working on updating ModemManager to allow setting up QMAP
> > > data aggregated links transparently, either with qmi_wwan
> > > add_mux/del_mux or with qmi_wwan+rmnet (pass_through=Y).
> > >
> > > See 
> > > https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/447
> > >
> > > For the qmi_wwan+rmnet logic this MR in libqmi to disable the MAP
> > > checksum seems to be required, I don't fully understand why yet:
> > > https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/merge_requests/215
> > >
> > > For the qmi_wwan add_mux/del_mux logic, it works quite well without
> > > any additional thing required, with the limitation of max 4 links for
> > > now, because we cannot create new links once the master interface is
> > > already up (so we always precreate 4 link interfaces upon the first
> > > connection attempt). The MTU of the master link is set to the max data
> > > aggregation size reported by the modem in this case.
> > >
> > > What do you think of these changes? For now, I've made it the default
> > > to "multiplex=request" when setting up a connection, so that you can
> > > directly use e.g. NetworkManager to bring up the connection without
> > > any single change in NetworkManager itself. That may change later on,
> > > and we may leave the default as "multiplex=none" instead; comments
> > > welcome on that as well.
> > >
> > > Anyone wants to give all this a try? Comments?
> >
> > Great work Aleksander, I'll be happy to test this (probably next week).
> > Aggregation offered by QMAP is especially useful for reaching max 5G 
> > throughput.
> >
>
> Please let me know what your tests go!
>

Going to test me too, hope to have some results by the end of next week.

Thanks a lot for having done this!

Regards,
Daniele

> > I've heard that some modems support checksum offload, and it seems
> > already supported on rmnet kernel side (MAPv5). Not sure however how
> > it needs to be configured for the modem side, maybe via a QMI
> > wda_set_data_format parameter. On high throughput, the CPU spends
> > substantial time on checksumming, so it could be useful to have that
> > at some point.
> >
>
> I have no idea how that is configured in the modem side either; maybe
> we're indeed missing some parameter in the WDA Set Data Format
> message, because as soon as I enable MAPv4 the traffic is broken in my
> tests: 
> https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/merge_requests/215.
> I have seen the MAPv5 patches in the LKML, but haven't tried that
> either.
>
> --
> Aleksander
> https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: [RFC] QMAP data aggregation support in ModemManager

2021-02-27 Thread Aleksander Morgado
Hey

> > I've been working on updating ModemManager to allow setting up QMAP
> > data aggregated links transparently, either with qmi_wwan
> > add_mux/del_mux or with qmi_wwan+rmnet (pass_through=Y).
> >
> > See 
> > https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/447
> >
> > For the qmi_wwan+rmnet logic this MR in libqmi to disable the MAP
> > checksum seems to be required, I don't fully understand why yet:
> > https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/merge_requests/215
> >
> > For the qmi_wwan add_mux/del_mux logic, it works quite well without
> > any additional thing required, with the limitation of max 4 links for
> > now, because we cannot create new links once the master interface is
> > already up (so we always precreate 4 link interfaces upon the first
> > connection attempt). The MTU of the master link is set to the max data
> > aggregation size reported by the modem in this case.
> >
> > What do you think of these changes? For now, I've made it the default
> > to "multiplex=request" when setting up a connection, so that you can
> > directly use e.g. NetworkManager to bring up the connection without
> > any single change in NetworkManager itself. That may change later on,
> > and we may leave the default as "multiplex=none" instead; comments
> > welcome on that as well.
> >
> > Anyone wants to give all this a try? Comments?
>
> Great work Aleksander, I'll be happy to test this (probably next week).
> Aggregation offered by QMAP is especially useful for reaching max 5G 
> throughput.
>

Please let me know what your tests go!

> I've heard that some modems support checksum offload, and it seems
> already supported on rmnet kernel side (MAPv5). Not sure however how
> it needs to be configured for the modem side, maybe via a QMI
> wda_set_data_format parameter. On high throughput, the CPU spends
> substantial time on checksumming, so it could be useful to have that
> at some point.
>

I have no idea how that is configured in the modem side either; maybe
we're indeed missing some parameter in the WDA Set Data Format
message, because as soon as I enable MAPv4 the traffic is broken in my
tests: 
https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/merge_requests/215.
I have seen the MAPv5 patches in the LKML, but haven't tried that
either.

-- 
Aleksander
https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: [RFC] QMAP data aggregation support in ModemManager

2021-02-26 Thread Loic Poulain
On Fri, 26 Feb 2021 at 15:15, Aleksander Morgado
 wrote:
>
> Hey all!
>
> I've been working on updating ModemManager to allow setting up QMAP
> data aggregated links transparently, either with qmi_wwan
> add_mux/del_mux or with qmi_wwan+rmnet (pass_through=Y).
>
> See 
> https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/447
>
> For the qmi_wwan+rmnet logic this MR in libqmi to disable the MAP
> checksum seems to be required, I don't fully understand why yet:
> https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/merge_requests/215
>
> For the qmi_wwan add_mux/del_mux logic, it works quite well without
> any additional thing required, with the limitation of max 4 links for
> now, because we cannot create new links once the master interface is
> already up (so we always precreate 4 link interfaces upon the first
> connection attempt). The MTU of the master link is set to the max data
> aggregation size reported by the modem in this case.
>
> What do you think of these changes? For now, I've made it the default
> to "multiplex=request" when setting up a connection, so that you can
> directly use e.g. NetworkManager to bring up the connection without
> any single change in NetworkManager itself. That may change later on,
> and we may leave the default as "multiplex=none" instead; comments
> welcome on that as well.
>
> Anyone wants to give all this a try? Comments?

Great work Aleksander, I'll be happy to test this (probably next week).
Aggregation offered by QMAP is especially useful for reaching max 5G throughput.

I've heard that some modems support checksum offload, and it seems
already supported on rmnet kernel side (MAPv5). Not sure however how
it needs to be configured for the modem side, maybe via a QMI
wda_set_data_format parameter. On high throughput, the CPU spends
substantial time on checksumming, so it could be useful to have that
at some point.

Regards,
Loic
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


[RFC] QMAP data aggregation support in ModemManager

2021-02-26 Thread Aleksander Morgado
Hey all!

I've been working on updating ModemManager to allow setting up QMAP
data aggregated links transparently, either with qmi_wwan
add_mux/del_mux or with qmi_wwan+rmnet (pass_through=Y).

See 
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/447

For the qmi_wwan+rmnet logic this MR in libqmi to disable the MAP
checksum seems to be required, I don't fully understand why yet:
https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/merge_requests/215

For the qmi_wwan add_mux/del_mux logic, it works quite well without
any additional thing required, with the limitation of max 4 links for
now, because we cannot create new links once the master interface is
already up (so we always precreate 4 link interfaces upon the first
connection attempt). The MTU of the master link is set to the max data
aggregation size reported by the modem in this case.

What do you think of these changes? For now, I've made it the default
to "multiplex=request" when setting up a connection, so that you can
directly use e.g. NetworkManager to bring up the connection without
any single change in NetworkManager itself. That may change later on,
and we may leave the default as "multiplex=none" instead; comments
welcome on that as well.

Anyone wants to give all this a try? Comments?

-- 
Aleksander
https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel