routes_windows.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package local
  2. import (
  3. "net"
  4. "time"
  5. "github.com/gravitl/netmaker/netclient/ncutils"
  6. )
  7. // GetDefaultRoute - Gets the default route (ip and interface) on a linux machine
  8. func GetDefaultRoute() (string, string, error) {
  9. var ipaddr string
  10. var iface string
  11. var err error
  12. return ipaddr, iface, fmt.Errorf("not written yet on windows")
  13. }
  14. func setRoute(iface string, addr *net.IPNet, address string) error {
  15. var err error
  16. _, err = ncutils.RunCmd("route ADD "+addr.String()+" "+address, false)
  17. time.Sleep(time.Second >> 2)
  18. ncutils.RunCmd("route CHANGE "+addr.IP.String()+" MASK "+addr.Mask.String()+" "+address, false)
  19. return err
  20. }
  21. func deleteRoute(iface string, addr *net.IPNet, address string) error {
  22. var err error
  23. _, err = ncutils.RunCmd("route DELETE "+addr.IP.String()+" MASK "+addr.Mask.String()+" "+address, false)
  24. return err
  25. }
  26. func setCidr(iface, address string, addr *net.IPNet) {
  27. ncutils.RunCmd("route ADD "+addr.String()+" "+address, false)
  28. time.Sleep(time.Second >> 2)
  29. ncutils.RunCmd("route CHANGE "+addr.IP.String()+" MASK "+addr.Mask.String()+" "+address, false)
  30. }
  31. func removeCidr(iface string, addr *net.IPNet, address string) {
  32. ncutils.RunCmd("route DELETE "+addr.String(), false)
  33. }