• Greg Suarez's avatar
    net: cdc_mbim: adding MBIM driver · 9bf211a3
    Greg Suarez authored
    The CDC Mobile Broadband Interface Model (MBIM) specification
    extends CDC NCM by
     - removing the redundant ethernet header from the point-to-point
       USB channel
     - adding support for multiple IP (v4 and/or v6) sessions multiplexed
       on the same USB channel
     - adding a MBIM control channel encapsulated in CDC
     - adding Device Service Streams (DSS), which are non IP generic data
       streams multiplexed on the same USB channel as the IP sessions
    
    MBIM devices are managed using the dedicated control channel, and no
    data will flow on the data channel until a control session has been
    established.  This driver has no knowledge of MBIM control messages.
    It just exports the control channel to a /dev/cdc-wdmX character
    device for userspace management applications. Such an application is
    therefore required to use this driver.
    
    This patch implements basic MBIM support, reusing the NCM and WDM driver
    APIs, currently limited to IP sessions with SessionID 0. DSS and
    multiplexed IP sessions are not yet supported.
    Signed-off-by: default avatarGreg Suarez <gsuarez@smithmicro.com>
    Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    9bf211a3
cdc_mbim.c 9.13 KB