From 3e9ff78b94efdd73bbccb13fe781b79ce7ca8cf1 Mon Sep 17 00:00:00 2001 From: Andrey Epifanov Date: Mon, 23 Jun 2025 03:42:46 -0700 Subject: [PATCH] bridge: Reapply endpoint iptables rules on firewalld reload Signed-off-by: Andrey Epifanov (cherry picked from commit 07393071ad4cabb6c0b0d3ec6856cfb6c874371b) Signed-off-by: Rob Murray --- libnetwork/drivers/bridge/port_mapping_linux.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libnetwork/drivers/bridge/port_mapping_linux.go b/libnetwork/drivers/bridge/port_mapping_linux.go index c3ceb228d1..4445abf5b7 100644 --- a/libnetwork/drivers/bridge/port_mapping_linux.go +++ b/libnetwork/drivers/bridge/port_mapping_linux.go @@ -792,11 +792,20 @@ func releasePortBindings(pbs []portBinding, fwn firewaller.Network) error { func (n *bridgeNetwork) reapplyPerPortIptables() { n.Lock() var allPBs []portBinding + var allEPs []*bridgeEndpoint for _, ep := range n.endpoints { allPBs = append(allPBs, ep.portMapping...) + allEPs = append(allEPs, ep) } n.Unlock() + for _, ep := range allEPs { + netip4, netip6 := ep.netipAddrs() + if err := n.firewallerNetwork.AddEndpoint(context.TODO(), netip4, netip6); err != nil { + log.G(context.TODO()).Warnf("Failed to reconfigure Endpoint: %s", err) + } + } + if err := n.firewallerNetwork.AddPorts(context.Background(), mergeChildHostIPs(allPBs)); err != nil { log.G(context.TODO()).Warnf("Failed to reconfigure NAT: %s", err) }