f-34: route: add default gateway full gestion

Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
This commit is contained in:
GnomeZworc 2026-08-25 20:18:09 +02:00
commit 46596f8142
Signed by: nicolas.boufideline
GPG key ID: 4406BBBF8845D632
13 changed files with 396 additions and 51 deletions

View file

@ -21,6 +21,7 @@ type subnetData struct {
cidr *net.IPNet
vpcCIDR *net.IPNet
defaultRoute bool
gateway net.IP
}
func loadSubnet(db *badger.DB, name string) (subnetData, error) {
@ -85,6 +86,14 @@ func loadSubnet(db *badger.DB, name string) (subnetData, error) {
}
d.defaultRoute = defaultRouteStr == "true"
if gatewayStr, err := kv.GetFromDB(db, "subnet/"+name+"/gateway"); err == nil && gatewayStr != "" {
gateway := net.ParseIP(gatewayStr)
if gateway == nil {
return d, fmt.Errorf("invalid gateway: %s", gatewayStr)
}
d.gateway = gateway
}
vpcCIDRStr, err := kv.GetFromDB(db, "vpc/"+d.vpc+"/cidr")
if err != nil {
return d, fmt.Errorf("get vpc cidr: %w", err)