From d82b7a9573820059d895640a29f10fe241753a83 Mon Sep 17 00:00:00 2001 From: Madhu Venugopal Date: Tue, 30 Jun 2015 14:46:49 -0700 Subject: [PATCH] Updating to latest netns to fix amd64 / RPI issues Signed-off-by: Madhu Venugopal --- Godeps/Godeps.json | 2 +- .../vishvananda/netns/netns_linux.go | 27 +++++++++---------- .../vishvananda/netns/netns_linux_arm.go | 2 +- .../vishvananda/netns/netns_linux_arm64.go | 7 +++++ 4 files changed, 21 insertions(+), 17 deletions(-) create mode 100644 Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_arm64.go diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 65dd18b..b6e3428 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -84,7 +84,7 @@ }, { "ImportPath": "github.com/vishvananda/netns", - "Rev": "5478c060110032f972e86a1f844fdb9a2f008f2c" + "Rev": "493029407eeb434d0c2d44e02ea072ff2488d322" } ] } diff --git a/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux.go b/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux.go index c9170d6..abdc308 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux.go +++ b/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux.go @@ -52,33 +52,30 @@ func Get() (NsHandle, error) { return GetFromThread(os.Getpid(), syscall.Gettid()) } -// GetFromName gets a handle to a named network namespace such as one -// created by `ip netns add`. -func GetFromName(name string) (NsHandle, error) { - fd, err := syscall.Open(fmt.Sprintf("/var/run/netns/%s", name), syscall.O_RDONLY, 0) +// GetFromPath gets a handle to a network namespace +// identified by the path +func GetFromPath(path string) (NsHandle, error) { + fd, err := syscall.Open(path, syscall.O_RDONLY, 0) if err != nil { return -1, err } return NsHandle(fd), nil } +// GetFromName gets a handle to a named network namespace such as one +// created by `ip netns add`. +func GetFromName(name string) (NsHandle, error) { + return GetFromPath(fmt.Sprintf("/var/run/netns/%s", name)) +} + // GetFromPid gets a handle to the network namespace of a given pid. func GetFromPid(pid int) (NsHandle, error) { - fd, err := syscall.Open(fmt.Sprintf("/proc/%d/ns/net", pid), syscall.O_RDONLY, 0) - if err != nil { - return -1, err - } - return NsHandle(fd), nil + return GetFromPath(fmt.Sprintf("/proc/%d/ns/net", pid)) } // GetFromThread gets a handle to the network namespace of a given pid and tid. func GetFromThread(pid, tid int) (NsHandle, error) { - name := fmt.Sprintf("/proc/%d/task/%d/ns/net", pid, tid) - fd, err := syscall.Open(name, syscall.O_RDONLY, 0) - if err != nil { - return -1, err - } - return NsHandle(fd), nil + return GetFromPath(fmt.Sprintf("/proc/%d/task/%d/ns/net", pid, tid)) } // GetFromDocker gets a handle to the network namespace of a docker container. diff --git a/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_arm.go b/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_arm.go index fbf165e..9c74eb5 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_arm.go +++ b/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_arm.go @@ -3,5 +3,5 @@ package netns const ( - SYS_SETNS = 374 + SYS_SETNS = 375 ) diff --git a/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_arm64.go b/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_arm64.go new file mode 100644 index 0000000..741a302 --- /dev/null +++ b/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_arm64.go @@ -0,0 +1,7 @@ +// +build linux,arm64 + +package netns + +const ( + SYS_SETNS = 268 +)