diff --git a/internal/subnet/create.go b/internal/subnet/create.go index 53349ca..3fbd31b 100644 --- a/internal/subnet/create.go +++ b/internal/subnet/create.go @@ -93,21 +93,15 @@ func createSubnet(db *badger.DB, subnetName string, d subnetData) error { case "bridge": } - applyEbtables := func() error { + switch d.mode { + case "vxlan": if err := ebtables.DropARPToGateway(d.bridge, d.gatewayIP.String()); err != nil { return err } - return ebtables.DropDHCP(d.bridge) - } - switch d.mode { - case "vxlan": - if err := applyEbtables(); err != nil { + if err := ebtables.DropDHCP(d.bridge); err != nil { return err } case "bridge": - if err := netns.Call(d.vpc, applyEbtables); err != nil { - return fmt.Errorf("set ebtables in netns: %w", err) - } } return startDHCP(db, subnetName, d) diff --git a/internal/subnet/delete.go b/internal/subnet/delete.go index bc62af7..51fac1a 100644 --- a/internal/subnet/delete.go +++ b/internal/subnet/delete.go @@ -99,15 +99,6 @@ func deleteSubnetVxlan(d subnetData) error { } func deleteSubnetBridge(d subnetData) error { - if err := netns.Call(d.vpc, func() error { - if err := ebtables.DeleteARPToGateway(d.bridge, d.gatewayIP.String()); err != nil { - return fmt.Errorf("delete ebtables arp rule: %w", err) - } - return ebtables.DeleteDHCP(d.bridge) - }); err != nil { - return fmt.Errorf("delete ebtables in netns: %w", err) - } - if err := netns.Call(d.vpc, func() error { return netif.DeleteLink(d.bridge) }); err != nil {