diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2021-08-04 18:16:44 +0900 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2021-08-06 16:43:07 +0200 |
commit | acbd04c5fd2005e2f63bb2d1fe78ce9f212dccfe (patch) | |
tree | e1f68bfa3236461d7efb4957c578f0d6eae309ca | |
parent | 1b71dfefb51064293f5ef63d816da0bf772e33d6 (diff) | |
download | systemd-acbd04c5fd2005e2f63bb2d1fe78ce9f212dccfe.tar.gz |
sd-netlink: always append new bridge FDB entriesv247.9
This partially reverts 192a9d95ea3e058afd824d38a9cea16ad0a84a57 (#19432).
Fixes #20305.
(cherry picked from commit 74c1ab841fbad9d4f237c819577fcd1d46a072b6)
(cherry picked from commit 38388b95d71b7701922f90854ce568f74e11ed12)
(cherry picked from commit 2e27dd58a85c3e8bd9d0e7ff200a2e07f422743df)
-rw-r--r-- | src/libsystemd/sd-netlink/rtnl-message.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/libsystemd/sd-netlink/rtnl-message.c b/src/libsystemd/sd-netlink/rtnl-message.c index c9d0c9b1e7..f62b31889e 100644 --- a/src/libsystemd/sd-netlink/rtnl-message.c +++ b/src/libsystemd/sd-netlink/rtnl-message.c @@ -444,8 +444,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); |