33 lines
1.2 KiB
Diff
33 lines
1.2 KiB
Diff
From cd5f6f842905b83d8c49f3eacb17273997036552 Mon Sep 17 00:00:00 2001
|
|
From: Tuetuopay <tuetuopay@me.com>
|
|
Date: Tue, 15 May 2018 14:11:20 +0200
|
|
Subject: [PATCH 53/76] route/link/vxlan: Fix IPv4 set_local resetting ce_mask
|
|
|
|
rtnl_link_vxlan_set_local() removes the bit for the other IP version in
|
|
ce_mask. A missing flag inversion in the v4 part made this removal
|
|
reset all bits to 0 except the v6 one, screwing all link configuration.
|
|
|
|
Fixes: 2e68fb5b02304fa6a3e6429c4fdabb084e61b501
|
|
|
|
https://github.com/thom311/libnl/pull/192
|
|
---
|
|
lib/route/link/vxlan.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/lib/route/link/vxlan.c b/lib/route/link/vxlan.c
|
|
index 9e578ec..686ac31 100644
|
|
--- a/lib/route/link/vxlan.c
|
|
+++ b/lib/route/link/vxlan.c
|
|
@@ -889,7 +889,7 @@ int rtnl_link_vxlan_set_local(struct rtnl_link *link, struct nl_addr *addr)
|
|
memcpy(&vxi->vxi_local, nl_addr_get_binary_addr(addr),
|
|
sizeof(vxi->vxi_local));
|
|
vxi->ce_mask |= VXLAN_ATTR_LOCAL;
|
|
- vxi->ce_mask &= VXLAN_ATTR_LOCAL6;
|
|
+ vxi->ce_mask &= ~VXLAN_ATTR_LOCAL6;
|
|
} else if ((nl_addr_get_family(addr) == AF_INET6) &&
|
|
(nl_addr_get_len(addr) == sizeof(vxi->vxi_local6))) {
|
|
memcpy(&vxi->vxi_local6, nl_addr_get_binary_addr(addr),
|
|
--
|
|
1.8.3.1
|
|
|