• Vivien Didelot's avatar
    net: bridge: add helper to call /sbin/bridge-stp · 30843315
    Vivien Didelot authored
    If /sbin/bridge-stp is available on the system, bridge tries to execute
    it instead of the kernel implementation when starting/stopping STP.
    
    If anything goes wrong with /sbin/bridge-stp, bridge silently falls back
    to kernel STP, making hard to debug userspace STP.
    
    This patch adds a br_stp_call_user helper to start/stop userspace STP
    and debug errors from the program: abnormal exit status is stored in the
    lower byte and normal exit status is stored in higher byte.
    
    Below is a simple example on a kernel with dynamic debug enabled:
    
        # ln -s /bin/false /sbin/bridge-stp
        # brctl stp br0 on
        br0: failed to start userspace STP (256)
        # dmesg
        br0: /sbin/bridge-stp exited with code 1
        br0: failed to start userspace STP (256)
        br0: using kernel STP
    Signed-off-by: default avatarVivien Didelot <vivien.didelot@savoirfairelinux.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    30843315
br_stp_if.c 8.89 KB