diff --git a/src/kubernetes-api/internal/utils/utils.go b/src/kubernetes-api/internal/utils/utils.go index 11553e9666d8a2314472df26a5e2243b3c37c17c..6568881a4ee732c1abbc5ee1d56b170def2fc7fc 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) +}