From 29b71272c604d57a6fc6ab67341bde3a16a56d70 Mon Sep 17 00:00:00 2001
From: Alejandro Tjaarda <alexdecb@yahoo.es>
Date: Tue, 1 Oct 2024 22:41:31 +0000
Subject: [PATCH] operator: implemented bridge generation method that allows
 compliant name generation

---
 src/kubernetes-api/internal/utils/utils.go | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/src/kubernetes-api/internal/utils/utils.go b/src/kubernetes-api/internal/utils/utils.go
index 11553e9..6568881 100644
--- a/src/kubernetes-api/internal/utils/utils.go
+++ b/src/kubernetes-api/internal/utils/utils.go
@@ -103,3 +103,19 @@ func GenerateDatapathID(switchName string) string {
 
 	return dpid
 }
+
+type BridgeParams struct {
+	NodeName     string
+	ProviderName string
+}
+
+func GetBridgeName(params BridgeParams) string {
+	hash := sha256.New()
+	hash.Write([]byte(fmt.Sprintf("%s%s", params.NodeName, params.ProviderName)))
+	hashedBytes := hash.Sum(nil)
+	dpidBytes := hashedBytes[:4]
+
+	// Convert the bytes to a hexadecimal string
+	dpid := hex.EncodeToString(dpidBytes)
+	return fmt.Sprintf("br-%s", dpid)
+}
-- 
GitLab