• Bjørn Mork's avatar
    net: cdc_mbim: optionally use VLAN ID 4094 for IP session 0 · 146a08d2
    Bjørn Mork authored
    The cdc_mbim driver maps 802.1q VLANs to MBIM IP and DSS
    sessions. MBIM IP session 0 is handled as an exception and
    is mapped to untagged frames.
    
    This patch adds optional support for remapping MBIM IP
    session 0 to 802.1q VLAN ID 4094 instead. The default
    behaviour is not changed. The new behaviour is triggered
    by adding a link for this previously unsupported VLAN.
    
    The untagged mapping was chosen initially to support the
    assumed most common use case: Most current MBIM devices only
    support a single IP session (i.e. session 0 only), and using
    untagged frames lets the users completely ignore the
    additonal complexity of the multiplexing layer.
    
    But when the multiplexing features of MBIM are used, then
    this netdev gets a double meaning: It becomes the master
    interface for all the VLAN subdevs the additional sessions
    are mapped to, while still serving as the untagged IP
    interface for session 0.
    
    This can be problematic, especially when using Device Service
    Streams (DSS), as have become apparent recently with the
    availability of devices with real DSS support. Some use cases
    need to e.g set a MTU which is higher than allowed for IP
    Session 0. The dual role also leads to the situation where
    the IP Session 0 interface cannot be taken down without
    breaking unrelated IP or DSS sessions - a devastating side
    effect which applications managing a simple IP session cannot
    be expected to be aware of. A typical DHCP client will assume
    that it should bring the interface down after releasing the
    IP lease.
    
    These problems can be avoided by tagging IP session 0 packets
    too, making this session similar to all other multiplexed
    sessions. This redefines the main netdev as an upper master
    interface only.
    
    Cc: Greg Suarez <gsuarez@smithmicro.com>
    Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    146a08d2
cdc_mbim.c 15.4 KB