From cd22185ddbe8ec22e36aa60fc97a4ddba6142ba6 Mon Sep 17 00:00:00 2001 From: GnomeZworc Date: Sun, 26 Apr 2026 18:01:39 +0200 Subject: [PATCH] f-25: vm: generate tap_id Signed-off-by: GnomeZworc --- internal/vm/data.go | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/internal/vm/data.go b/internal/vm/data.go index 379ce50..04184bd 100644 --- a/internal/vm/data.go +++ b/internal/vm/data.go @@ -2,6 +2,7 @@ package vm import ( "fmt" + "math/rand" "strconv" "strings" @@ -49,13 +50,17 @@ func loadVM(db *badger.DB, name string) (vmData, error) { tapIDStr, err := kv.GetFromDB(db, "vm/"+name+"/tap_id") if err != nil { - return d, fmt.Errorf("get tap_id: %w", err) + d.tapID = rand.Intn(90000000) + 10000000 + if err := kv.AddInDB(db, "vm/"+name+"/tap_id", strconv.Itoa(d.tapID)); err != nil { + return d, fmt.Errorf("store tap_id: %w", err) + } + } else { + tapID, err := strconv.Atoi(tapIDStr) + if err != nil { + return d, fmt.Errorf("parse tap_id: %w", err) + } + d.tapID = tapID } - tapID, err := strconv.Atoi(tapIDStr) - if err != nil { - return d, fmt.Errorf("parse tap_id: %w", err) - } - d.tapID = tapID ip, err := kv.GetFromDB(db, "vm/"+name+"/ip") if err != nil {