auto-assign snataddr on Mac+Windows

This commit is contained in:
JackDoan
2026-02-17 13:50:20 -06:00
parent 1cc257f997
commit 27d764ba57
2 changed files with 15 additions and 1 deletions

View File

@@ -216,6 +216,11 @@ func (t *tun) Activate() error {
}
}
}
if t.snatAddr.IsValid() && t.snatAddr.Addr().Is4() {
if err = t.activate4(t.snatAddr); err != nil {
return err
}
}
// Run the interface
ifrf.Flags = ifrf.Flags | unix.IFF_UP | unix.IFF_RUNNING
@@ -317,6 +322,10 @@ func (t *tun) reload(c *config.C, initial bool) error {
return nil
}
if !initial {
t.snatAddr = prepareSnatAddr(t, t.l, c, routes)
}
routeTree, err := makeRouteTree(t.l, routes, false)
if err != nil {
return err