Roll back v4 NAT rule when v6 mirror fails in nftables AddNatRule

This commit is contained in:
Viktor Liu
2026-05-04 11:50:17 +02:00
parent fc34db6db1
commit 0ce2d7406a

View File

@@ -363,6 +363,9 @@ func (m *Manager) AddNatRule(pair firewall.RouterPair) error {
if m.hasIPv6() && pair.Dynamic {
v6Pair := firewall.ToV6NatPair(pair)
if err := m.router6.AddNatRule(v6Pair); err != nil {
if rbErr := m.router.RemoveNatRule(pair); rbErr != nil {
return fmt.Errorf("add v6 NAT rule: %w (rollback v4: %v)", err, rbErr)
}
return fmt.Errorf("add v6 NAT rule: %w", err)
}
}