Skip to content

Commit 8a20737

Browse files
committed
Add some return when enabling routing succeedes + some comments...
1 parent abde7dd commit 8a20737

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

routes.go

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,33 +26,37 @@ func (h *Headscale) GetNodeRoutes(namespace string, nodeName string) (*[]netaddr
2626

2727
// EnableNodeRoute enables a subnet route advertised by a node (identified by
2828
// namespace and node name)
29-
func (h *Headscale) EnableNodeRoute(namespace string, nodeName string, routeStr string) error {
29+
func (h *Headscale) EnableNodeRoute(namespace string, nodeName string, routeStr string) (*netaddr.IPPrefix, error) {
3030
m, err := h.GetMachine(namespace, nodeName)
3131
if err != nil {
32-
return err
32+
return nil, err
3333
}
3434
hi, err := m.GetHostInfo()
3535
if err != nil {
36-
return err
36+
return nil, err
3737
}
3838
route, err := netaddr.ParseIPPrefix(routeStr)
3939
if err != nil {
40-
return err
40+
return nil, err
4141
}
4242

4343
for _, rIP := range hi.RoutableIPs {
4444
if rIP == route {
4545
db, err := h.db()
4646
if err != nil {
4747
log.Printf("Cannot open DB: %s", err)
48-
return err
48+
return nil, err
4949
}
5050

5151
routes, _ := json.Marshal([]string{routeStr}) // TODO: only one for the time being, so overwriting the rest
5252
m.EnabledRoutes = postgres.Jsonb{RawMessage: json.RawMessage(routes)}
5353
db.Save(&m)
5454
db.Close()
5555

56+
// THIS IS COMPLETELY USELESS.
57+
// The peers map is stored in memory in the server process.
58+
// Definetely not accessible from the CLI tool.
59+
// We need RPC to the server - or some kind of 'needsUpdate' field in the DB
5660
peers, _ := h.getPeers(*m)
5761
h.pollMu.Lock()
5862
for _, p := range *peers {
@@ -61,9 +65,9 @@ func (h *Headscale) EnableNodeRoute(namespace string, nodeName string, routeStr
6165
}
6266
}
6367
h.pollMu.Unlock()
64-
return nil
68+
return &rIP, nil
6569
}
6670
}
6771

68-
return errors.New("could not find routable range")
72+
return nil, errors.New("could not find routable range")
6973
}

0 commit comments

Comments
 (0)