浏览代码

Fix netlink dependency with new pkg

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Michael Crosby 9 年之前
父节点
当前提交
d0fdc3b5df
共有 1 个文件被更改,包括 10 次插入4 次删除
  1. 10 4
      daemon/daemon.go

+ 10 - 4
daemon/daemon.go

@@ -10,6 +10,7 @@ import (
 	"fmt"
 	"fmt"
 	"io"
 	"io"
 	"io/ioutil"
 	"io/ioutil"
+	"net"
 	"os"
 	"os"
 	"path/filepath"
 	"path/filepath"
 	"regexp"
 	"regexp"
@@ -52,7 +53,7 @@ import (
 	"github.com/docker/docker/volume/local"
 	"github.com/docker/docker/volume/local"
 	"github.com/docker/docker/volume/store"
 	"github.com/docker/docker/volume/store"
 	"github.com/docker/libnetwork"
 	"github.com/docker/libnetwork"
-	"github.com/opencontainers/runc/libcontainer/netlink"
+	"github.com/vishvananda/netlink"
 )
 )
 
 
 var (
 var (
@@ -1078,13 +1079,18 @@ var errNoDefaultRoute = errors.New("no default route was found")
 
 
 // getDefaultRouteMtu returns the MTU for the default route's interface.
 // getDefaultRouteMtu returns the MTU for the default route's interface.
 func getDefaultRouteMtu() (int, error) {
 func getDefaultRouteMtu() (int, error) {
-	routes, err := netlink.NetworkGetRoutes()
+	routes, err := netlink.RouteList(nil, 0)
 	if err != nil {
 	if err != nil {
 		return 0, err
 		return 0, err
 	}
 	}
 	for _, r := range routes {
 	for _, r := range routes {
-		if r.Default && r.Iface != nil {
-			return r.Iface.MTU, nil
+		// a nil Dst means that this is the default route.
+		if r.Dst == nil {
+			i, err := net.InterfaceByIndex(r.LinkIndex)
+			if err != nil {
+				continue
+			}
+			return i.MTU, nil
 		}
 		}
 	}
 	}
 	return 0, errNoDefaultRoute
 	return 0, errNoDefaultRoute