From 8a1f36ee8e1d847471c33c9d01827b7989dcf8f6 Mon Sep 17 00:00:00 2001 From: Abhishek K Date: Tue, 25 Mar 2025 00:42:14 +0400 Subject: [PATCH] Net 1990 (#3386) * add peerkey to network egress routes model * add peerkey to network egress routes model * filter out conflicting routes from node * add support for egress HA on relay * add support for egress HA on relay * add support for egress HA on relay * skip if curr node is relay node of the peer * skip if curr node is relay node of the peer * fix failover egress HA * add network to egress route model * clone before modifying * check for user policies on uni direction check * add all network fwd rule * delete all network policies and tags on network deletion --- controllers/network.go | 3 ++- logic/acls.go | 6 +++--- logic/tags.go | 6 ++++++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/controllers/network.go b/controllers/network.go index 5f3dfd29..8508dbc3 100644 --- a/controllers/network.go +++ b/controllers/network.go @@ -494,7 +494,8 @@ func deleteNetwork(w http.ResponseWriter, r *http.Request) { } go logic.UnlinkNetworkAndTagsFromEnrollmentKeys(network, true) go logic.DeleteNetworkRoles(network) - go logic.DeleteDefaultNetworkPolicies(models.NetworkID(network)) + go logic.DeleteAllNetworkTags(models.NetworkID(network)) + go logic.DeleteNetworkPolicies(models.NetworkID(network)) //delete network from allocated ip map go logic.RemoveNetworkFromAllocatedIpMap(network) go func() { diff --git a/logic/acls.go b/logic/acls.go index f464ac3d..2a483ddd 100644 --- a/logic/acls.go +++ b/logic/acls.go @@ -128,11 +128,11 @@ func CreateDefaultAclNetworkPolicies(netID models.NetworkID) { CreateDefaultUserPolicies(netID) } -// DeleteDefaultNetworkPolicies - deletes all default network acl policies -func DeleteDefaultNetworkPolicies(netId models.NetworkID) { +// DeleteNetworkPolicies - deletes all default network acl policies +func DeleteNetworkPolicies(netId models.NetworkID) { acls, _ := ListAclsByNetwork(netId) for _, acl := range acls { - if acl.NetworkID == netId && acl.Default { + if acl.NetworkID == netId { DeleteAcl(acl) } } diff --git a/logic/tags.go b/logic/tags.go index db9b7a9c..c48bb6bd 100644 --- a/logic/tags.go +++ b/logic/tags.go @@ -105,6 +105,12 @@ func ListTagsWithNodes(netID models.NetworkID) ([]models.TagListResp, error) { } return resp, nil } +func DeleteAllNetworkTags(networkID models.NetworkID) { + tags, _ := ListNetworkTags(networkID) + for _, tagI := range tags { + DeleteTag(tagI.ID, false) + } +} // ListTags - lists all tags from DB func ListTags() ([]models.Tag, error) {