mbox series

[net-next,v3,0/4] net: Add WWAN link creation support

Message ID 1623486057-13075-1-git-send-email-loic.poulain@linaro.org (mailing list archive)
Headers show
Series net: Add WWAN link creation support | expand

Message

Loic Poulain June 12, 2021, 8:20 a.m. UTC
Most of the modern WWAN modems are able to support multiple network
contexts, allowing user to connect to different APNs (e.g. Internet,
MMS, etc...). These contexts are usually dynamically configured via
a control channel such as MBIM, QMI or AT.

Each context is naturally represented as a network link/device, and
the muxing of these links is usually vendor/bus specific (QMAP, MBIM,
intel iosm...). Today some drivers create a static collection of
netdevs at init time, some relies on VLAN link for associating a context
(cdc-mbim), some exposes sysfs attribute for dynamically creating
additional netdev (qmi_wwan add_mux attr) or relies on vendor specific
link type (rmnet) for performing the muxing... so there is no generic
way to handle WWAN links, making user side integration painful.

This series introduces a generic WWAN link management interface to the
WWAN framework, allowing user to dynamically create and remove WWAN
links through rtnetlink ('wwan' type). The underlying 'muxing' vendor
implementation is completely abstracted.

The idea is to use this interface for upcoming WWAN drivers (intel
iosm) and to progressively integrate support into existing ones
(qmi_wwan, cdc-mbim, mhi_net, etc...).


v2: - Squashed Johannes and Sergey changes
    - Added IFLA_PARENT_DEV_BUS_NAME attribute
    - reworded commit message + introduce Sergey's comment

v3: - Added basic new interface user to this series (mhi_net)
    - Moved IFLA_PARENT_DEV_NAME nla_policy introduction to right patch
    - Added cover letter
    - moved kdoc to .c file


Johannes Berg (3):
  rtnetlink: add alloc() method to rtnl_link_ops
  rtnetlink: add IFLA_PARENT_[DEV|DEV_BUS]_NAME
  wwan: add interface creation support

Loic Poulain (1):
  net: mhi_net: Register wwan_ops for link creation

 drivers/net/Kconfig          |   1 +
 drivers/net/mhi/net.c        | 123 ++++++++++++++++++----
 drivers/net/wwan/wwan_core.c | 245 +++++++++++++++++++++++++++++++++++++++++--
 include/linux/wwan.h         |  24 +++++
 include/net/rtnetlink.h      |   8 ++
 include/uapi/linux/if_link.h |   7 ++
 include/uapi/linux/wwan.h    |  16 +++
 net/core/rtnetlink.c         |  30 +++++-
 8 files changed, 419 insertions(+), 35 deletions(-)
 create mode 100644 include/uapi/linux/wwan.h

Comments

patchwork-bot+netdevbpf@kernel.org June 12, 2021, 9:10 p.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (refs/heads/master):

On Sat, 12 Jun 2021 10:20:53 +0200 you wrote:
> Most of the modern WWAN modems are able to support multiple network
> contexts, allowing user to connect to different APNs (e.g. Internet,
> MMS, etc...). These contexts are usually dynamically configured via
> a control channel such as MBIM, QMI or AT.
> 
> Each context is naturally represented as a network link/device, and
> the muxing of these links is usually vendor/bus specific (QMAP, MBIM,
> intel iosm...). Today some drivers create a static collection of
> netdevs at init time, some relies on VLAN link for associating a context
> (cdc-mbim), some exposes sysfs attribute for dynamically creating
> additional netdev (qmi_wwan add_mux attr) or relies on vendor specific
> link type (rmnet) for performing the muxing... so there is no generic
> way to handle WWAN links, making user side integration painful.
> 
> [...]

Here is the summary with links:
  - [net-next,v3,1/4] rtnetlink: add alloc() method to rtnl_link_ops
    https://git.kernel.org/netdev/net-next/c/8c713dc93ca9
  - [net-next,v3,2/4] rtnetlink: add IFLA_PARENT_[DEV|DEV_BUS]_NAME
    https://git.kernel.org/netdev/net-next/c/00e77ed8e64d
  - [net-next,v3,3/4] wwan: add interface creation support
    https://git.kernel.org/netdev/net-next/c/88b710532e53
  - [net-next,v3,4/4] net: mhi_net: Register wwan_ops for link creation
    https://git.kernel.org/netdev/net-next/c/13adac032982

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html