• Florian Fainelli's avatar
    net: ipv4: handle DSA enabled master network devices · 728c0208
    Florian Fainelli authored
    The logic to configure a network interface for kernel IP
    auto-configuration is very simplistic, and does not handle the case
    where a device is stacked onto another such as with DSA. This causes the
    kernel not to open and configure the master network device in a DSA
    switch tree, and therefore slave network devices using this master
    network devices as conduit device cannot be open.
    
    This restriction comes from a check in net/dsa/slave.c, which is
    basically checking the master netdev flags for IFF_UP and returns
    -ENETDOWN if it is not the case.
    
    Automatically bringing-up DSA master network devices allows DSA slave
    network devices to be used as valid interfaces for e.g: NFS root booting
    by allowing kernel IP autoconfiguration to succeed on these interfaces.
    
    On the reverse path, make sure we do not attempt to close a DSA-enabled
    device as this would implicitely prevent the slave DSA network device
    from operating.
    Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    728c0208
ipconfig.c 39.1 KB