• Scott Feldman's avatar
    ipv4: add net bool fib_offload_disabled · 448b128a
    Scott Feldman authored
    If something goes wrong with IPv4 FIB offload, mark entire net offload
    disabled.  This is brute force policy to basically shut down IPv4 FIB offload
    permanently if there is a problem offloading any route to an external device.
    We can refine the policy in the future, to handle failures on a per-device or
    per-route basis, but for now, this policy is per-net.
    
    What we're trying to avoid is an inconsistent split between the kernel's FIB
    and the offload device's FIB.  We don't want the device to fwd a pkt
    inconsitent with what the kernel would do.  An example of a split is if device
    has 10.0.0.0/16 and kernel has 10.0.0.0/16 and 10.0.0.0/24, the device wouldn't
    see the longest prefix 10.0.0.0/24 and potentially forward pkts incorrectly.
    
    Limited capacity or limited capability are two ways a route may fail to install
    to the offload device.  We'll not differentiate between failures at this time,
    and treat any failure as fatal and mark the net as fib_offload_disabled.
    Signed-off-by: default avatarScott Feldman <sfeldma@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    448b128a
ipv4.h 2.39 KB