linux-cp: Fix add vs update on routes 54/38854/7
authorPim van Pelt <pim@ipng.nl>
Sun, 21 May 2023 06:35:26 +0000 (08:35 +0200)
committerMatthew Smith <mgsmith@netgate.com>
Mon, 5 Jun 2023 15:27:21 +0000 (15:27 +0000)
commitaf4fa965e909db69ecde9deb6b7f9a53553aeccb
tree588f5a34dc78cb8ee19db3a68e82b7a28b05b1d1
parentce93f125d043b4c15ecd8cd747092f7bc9c796be
linux-cp: Fix add vs update on routes

Linux uses NLM_F_REPLACE in the netlink message to signal a FIB update
The code invariably does a FIB update for IPv4 and a addition for IPv6.
Without this fix, the following:
 ip route add 2001:db8::/48 via 2001:db8::1
 ip route replace 2001:db8::/48 via 2001:db8::2

ends up as two separate FIB entries in VPP. With the fix, there will be one FIB entry (the second one with nexthop ::2).

Type: fix
Change-Id: I8f98d6ded52ae0c60bfddaa7fc39acbbaa19d34a
Signed-off-by: Pim van Pelt <pim@ipng.nl>
src/plugins/linux-cp/lcp_nl.c
src/plugins/linux-cp/lcp_nl.h
src/plugins/linux-cp/lcp_router.c