Re: [RFC] QMAP data aggregation support in ModemManager
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
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
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
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
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