diff --git a/main b/main index 48ff4bd..613cdb0 100755 Binary files a/main and b/main differ diff --git a/main.go b/main.go index b81fc99..892b4f7 100644 --- a/main.go +++ b/main.go @@ -113,6 +113,25 @@ func main() { } peerFound = true + routes, _ := netlink.RouteList(nil, unix.AF_INET) + if len(routes) > 0 { + fmt.Println(" ", infoStyle.Render("Routes in namespace:"), entry.Name()) + for _, route := range routes { + dst := "default" + if route.Dst != nil { + dst = route.Dst.String() + } + via := "" + if route.Gw != nil { + via = "via " + route.Gw.String() + } + dev := "" + if link, err := netlink.LinkByIndex(route.LinkIndex); err == nil { + dev = "dev " + link.Attrs().Name + } + fmt.Printf(" %s %s %s\n", dst, via, dev) + } + } break } } @@ -121,6 +140,7 @@ func main() { nsHandle.Close() netns.Set(origNS) + if peerFound { break } @@ -133,5 +153,31 @@ func main() { fmt.Println() } + fmt.Println(headerStyle.Render("Routes in main namespace:")) + mainRoutes, err := netlink.RouteList(nil, unix.AF_INET) + if err == nil { + for _, route := range mainRoutes { + var dst string + if route.Dst == nil { + dst = "default" + } else { + dst = route.Dst.String() + } + + via := "" + if route.Gw != nil { + via = "via " + route.Gw.String() + } + + dev := "" + if link, err := netlink.LinkByIndex(route.LinkIndex); err == nil { + dev = "dev " + link.Attrs().Name + } + + fmt.Printf(" %s %s %s\n", dst, via, dev) + } + } + fmt.Println() + }