From 1e3e218d7c33f80aef25007c68c41710b3ba74b3 Mon Sep 17 00:00:00 2001
From: "S.H." <sebastian.heiss94@proton.me>
Date: Thu, 20 Feb 2025 13:58:24 +0100
Subject: [PATCH] Fix topology by adding a name to the link

---
 applications/rtdt-manager/main.go      |  5 +++++
 applications/rtdt-manager/venv/venv.go | 10 +++++++---
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/applications/rtdt-manager/main.go b/applications/rtdt-manager/main.go
index 4d46a3e41..77e6026e3 100644
--- a/applications/rtdt-manager/main.go
+++ b/applications/rtdt-manager/main.go
@@ -62,6 +62,11 @@ func main() {
 		fmt.Printf("Error occured while trying to construct topology in realnet: %v\n", err)
 		return
 	}
+    err = realnet.CreateDevices()
+    if err != nil {
+        fmt.Printf("Error: Couldn't create devices!")
+        return
+    }
 	err = realnet.UploadTopology()
 	if err != nil {
 		fmt.Printf("Error occured while trying to upload realnet topology to DB: %v\n", err)
diff --git a/applications/rtdt-manager/venv/venv.go b/applications/rtdt-manager/venv/venv.go
index 3a22bdda0..e266ee34e 100644
--- a/applications/rtdt-manager/venv/venv.go
+++ b/applications/rtdt-manager/venv/venv.go
@@ -260,16 +260,20 @@ func (v *VEnv) DeriveTopologyFromClabData() error {
 	}
 	return nil
 }
-
 func (v *VEnv) UploadTopology() error {
 	conn := v.auth.GetConn()
 	topoService := topoPb.NewTopologyServiceClient(conn)
 	for _, link := range v.topology.Links {
-
 		ctx := v.auth.CreateContextWithAuthorization()
+
+		l := link.Convert()
+		l.Name = l.SourceNode.Name + ":" + l.TargetNode.Name
+		l.SourcePort.Configuration = &topoPb.Configuration{Ip: "192.168.178.2", PrefixLength: 24}
+		l.TargetPort.Configuration = &topoPb.Configuration{Ip: "192.168.178.3", PrefixLength: 24}
+
 		addLinkRequest := &topoPb.AddLinkRequest{
 			Timestamp: util.Now(),
-			Link:      link.Convert(),
+			Link:      l,
 		}
 		fmt.Println("AddLink is:", addLinkRequest.String())
 		topoResponse, err := topoService.AddLink(ctx, addLinkRequest)
-- 
GitLab