From a840aa6badad00af70b1ffab7d8c5f78cbf0c982 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Wed, 4 Aug 2021 18:16:44 +0900 Subject: sd-netlink: always append new bridge FDB entries This partially reverts 192a9d95ea3e058afd824d38a9cea16ad0a84a57 (#19432). Fixes #20305. (cherry picked from commit 74c1ab841fbad9d4f237c819577fcd1d46a072b6) (cherry picked from commit 38388b95d71b7701922f90854ce568f74e11ed12) (cherry picked from commit 2e12f3ad804f2ac5a220d3260fa6cf52a4684731) (cherry picked from commit 9c78b82c6abe97e4e690b430136d98989ad32ba1) --- src/libsystemd/sd-netlink/rtnl-message.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libsystemd/sd-netlink/rtnl-message.c b/src/libsystemd/sd-netlink/rtnl-message.c index 5e36b2ffdd..4a5faf9f8b 100644 --- a/src/libsystemd/sd-netlink/rtnl-message.c +++ b/src/libsystemd/sd-netlink/rtnl-message.c @@ -443,8 +443,12 @@ int sd_rtnl_message_new_neigh(sd_netlink *rtnl, sd_netlink_message **ret, uint16 if (r < 0) return r; - if (nlmsg_type == RTM_NEWNEIGH) - (*ret)->hdr->nlmsg_flags |= NLM_F_CREATE | NLM_F_REPLACE; + if (nlmsg_type == RTM_NEWNEIGH) { + if (ndm_family == AF_BRIDGE) + (*ret)->hdr->nlmsg_flags |= NLM_F_CREATE | NLM_F_APPEND; + else + (*ret)->hdr->nlmsg_flags |= NLM_F_CREATE | NLM_F_REPLACE; + } ndm = NLMSG_DATA((*ret)->hdr); -- cgit v1.2.1