37 lines
1.2 KiB
Diff
37 lines
1.2 KiB
Diff
From cd8a9ba8014688092060eebe4a67e92d9083099b Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= <fabian@blaese.de>
|
|
Date: Wed, 26 Dec 2018 00:44:29 +0100
|
|
Subject: [PATCH] kernel_netlink: Convert src_plen to v4mapped encoding on
|
|
import
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
src_plen for IPv4 routes imported from kernel has not been adjusted
|
|
to v4mapped encoding. Therefore IPv4 xroutes used an inconsistent encoding
|
|
which lead to failed comparisons when sending updates.
|
|
|
|
Routes received from neighbors with the same prefix as xroutes therefore
|
|
have been announced to neighbours instead.
|
|
|
|
This issue is fixed by converting src_plen on import.
|
|
|
|
Signed-off-by: Fabian Bläse <fabian@blaese.de>
|
|
---
|
|
kernel_netlink.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git kernel_netlink.c kernel_netlink.c
|
|
index 618d74bc..c424f0ed 100644
|
|
--- kernel_netlink.c
|
|
+++ kernel_netlink.c
|
|
@@ -1119,6 +1119,7 @@ parse_kernel_route_rta(struct rtmsg *rtm, int len, struct kernel_route *route)
|
|
v4tov6(route->prefix, zeroes);
|
|
v4tov6(route->src_prefix, zeroes);
|
|
route->plen = 96;
|
|
+ route->src_plen = 96;
|
|
}
|
|
route->proto = rtm->rtm_protocol;
|
|
|
|
|