From: Jiri Pirko <j...@resnulli.us>
Date: Fri, 21 Jul 2017 18:04:28 +0200

> From: Ido Schimmel <ido...@mellanox.com>
> 
> Each FIB node holds a linked list of routes sharing the same prefix and
> length. In the case of IPv4 it's ordered according to table ID, metric
> and TOS and only the first route in the list is actually programmed to
> the device.
> 
> In case a gatewayed route is added somewhere in the list, then after its
> nexthop group will be refreshed and become valid (due to the resolution
> of its gateway), it'll mistakenly overwrite the existing entry.
> 
> Example:
> 192.168.200.0/24 dev enp3s0np3 scope link metric 1000 offload
> 192.168.200.0/24 via 192.168.100.1 dev enp3s0np3 metric 1000 offload
> 
> Both routes are marked as offloaded despite the fact only the first one
> should actually be present in the device's table.
> 
> When refreshing the nexthop group, don't write the route to the device's
> table unless it's the first in its node.
> 
> Fixes: 9aecce1c7d97 ("mlxsw: spectrum_router: Correctly handle identical 
> routes")
> Signed-off-by: Ido Schimmel <ido...@mellanox.com>
> Signed-off-by: Jiri Pirko <j...@mellanox.com>

Applied.

Reply via email to