Hi Jiri and Ido, I'm trying to understand how ecmp offloading works. It seems that rocker doesn't support it: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/rocker/rocker_ofdpa.c#n2409. But I saw that the support was added in spectrum: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?h=684a95c064fc.
Is there a consistency between the ecmp algorithm of the kernel and the one from spectrum? I suspect that there can be scenarii where some packets of a flow are forwarded by the driver and some other are forwarded by the kernel. For example, an ecmp route with two nexthops: a connected route and a gw? In that case, the periodic nexthops update (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c#n987) won't help. How do you ensure that all packets of the flow are always forwarded through the same nexthop? Regards, Nicolas