• Ido Schimmel's avatar
    mlxsw: spectrum_router: Set hardware flags for routes · ee5a0448
    Ido Schimmel authored
    Previous patches added support for two hardware flags for IPv4 and IPv6
    routes: 'RTM_F_OFFLOAD' and 'RTM_F_TRAP'. Both indicate the presence of
    the route in hardware. The first indicates that traffic is actually
    offloaded from the kernel, whereas the second indicates that packets
    hitting such routes are trapped to the kernel for processing (e.g., host
    routes).
    
    Use these two flags in mlxsw. The flags are modified in two places.
    Firstly, whenever a route is updated in the device's table. This
    includes the addition, deletion or update of a route. For example, when
    a host route is promoted to perform NVE decapsulation, its action in the
    device is updated, the 'RTM_F_OFFLOAD' flag set and the 'RTM_F_TRAP'
    flag cleared.
    
    Secondly, when a route is replaced and overwritten by another route, its
    flags are cleared.
    
    v2:
    * Convert to new fib_alias_hw_flags_set() interface
    Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
    Acked-by: default avatarJiri Pirko <jiri@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ee5a0448
spectrum_router.c 214 KB