Commit Graph

59 Commits

Author SHA1 Message Date
Sebastiaan van Stijn 95c0705164 make tests linux-only
These tests were testing functionality that was only supported on
Linux, but stubbed for other platforms, so move them to a linux-only
file.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2023-01-13 09:56:59 -08:00
Sebastiaan van Stijn 22a9216d17 remove redundant build-tag comments
- The "linux" build tags were redundant as they were in a _linux file
- The project already states that go1.10 is a minimum (and long obsolete,
  so unlikely to be used still).
- Format the remaining build-tags for current go versions.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2023-01-13 09:56:59 -08:00
Pratik Raj 43aa913982 feat: dependabot workflow automation for updating dependency
Signed-off-by: Pratik Raj <Rajpratik71@gmail.com>
2022-11-02 13:11:37 -07:00
Will Fantom e414ad8e04 Expose named functions when not linux 2022-10-27 17:28:47 -07:00
Stephan Boyer 0c37222dc3 Update the documentation for `netns.NewNamed`
Update the documentation for `netns.NewNamed` to fix https://github.com/vishvananda/netns/issues/50.
2022-10-27 17:28:32 -07:00
Jeff Widman 18c4f42342 Migrate `syscall` --> `golang.org/x/sys/unix`, redux
This completes the migration from `syscall` --> `golang.org/x/sys/unix`
which was started in https://github.com/vishvananda/netns/pull/40:
> The syscall package is deprecated and no longer updated as per
https://golang.org/pkg/syscall/. Use the golang.org/x/sys/unix package
instead.
2022-09-13 08:08:50 -07:00
Steffen Vogel 50045581ed extend GetFromDocker() to support also newer distros with cgroup v2 support 2021-11-01 11:37:01 -05:00
Alessandro Boch 2eb08e3e57
Merge pull request #47 from imilchev/upstream
Add support for detecting netns for all possible QoS in Kubernetes
2021-01-04 10:30:10 -08:00
Alessandro Boch c4f3ca719c
Merge pull request #30 from brb/safer-netns
Add go1.10 build constraint
2020-12-29 17:22:02 -08:00
Ivan Milchev dc62fc17c5 Add support for detecting netns for all possible QoS in Kubernetes 2020-12-28 13:01:43 +01:00
Thomas Maurice db3c7e526a Allows to create and delete named network namespaces 2020-07-28 12:18:58 -07:00
fanjiyun 1e46305e59 Set O_CLOEXEC when opening a network namespace
Signed-off-by: fanjiyun <fan.jiyun@zte.com.cn>
2020-07-28 12:17:46 -07:00
Tobias Klauser 52d707b772 Use golang.org/x/sys/unix instead of syscall
The syscall package is deprecated and no longer updated as per
https://golang.org/pkg/syscall/. Use the golang.org/x/sys/unix package
instead, which also provides a wrapper for SYS_SETNS, so the syscall
number encoding depending on runtime.GOARCH can be dropped.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2020-05-19 21:18:08 -07:00
Tobias Klauser 0a2b9b5464 Add support for Go modules
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2019-11-06 09:42:02 -08:00
matte21 7109fa855b Remove useless setting of new netns from README.md
Remove from the README.md example the instruction which explicitly sets
the newly created netns as the netns of the current OS Thread. The removed
instruction is not needed because the setting is implicitly done by netns.New().
2019-06-25 16:32:34 -07:00
Damon Wang 4eab129c9c add ns support mips64le arch
go env info
[root@node152 weaver]# go env
GOARCH="mips64le"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOEXE=""
GOHOSTARCH="mips64le"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/root/goworkspace"
GORACE=""
GOROOT="/home/longxin/workspace/go"
GOTMPDIR=""
GOTOOLDIR="/home/longxin/workspace/go/pkg/tool/linux_mips64le"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -mabi=64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build929428261=/tmp/go-build -gno-record-gcc-switches"
2019-06-25 16:30:54 -07:00
Martin Povišer 6ed29a60d4 Document that New() changes the current ns 2019-06-25 16:29:52 -07:00
Tonis Tiigi a1b8f1f3bd add riscv64 support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-06-25 16:29:20 -07:00
Martynas Pumputis b8d862b06e Add go1.10 build constraint
This prevents netns from being used on older Go runtimes on which it's
not safe to perform any state manipulations of a scheduling thread
(https://github.com/golang/go/issues/20676).

Signed-off-by: Martynas Pumputis <m@lambda.lt>
2018-12-21 10:35:45 +01:00
Serguei Bezverkhi 13995c7128 In contaner path fix
Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com>
2018-07-20 10:01:59 -07:00
Serguei Bezverkhi ef6f981729 Adding new location for containers in recent k8s 1.11+
Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com>
2018-07-18 18:39:51 -07:00
Yann Ramin be1fbeda19 Search kubepods for Docker containers
When using Kubernetes with CNI and Docker, the cgroup entries are
dropped in yet another creative place. This adds yet another attempt
to locate the container within `kubepods`. All of this because there
are no named network namespaces created.
2017-11-11 00:15:04 +00:00
Lars Lehtonen 86bef332bf fixed swallowed err variable 2017-07-06 18:15:35 -07:00
harche 54f0e4339c Fixing README.md
newly created ns must be set for net.Interfaces() to return interfaces from that ns.
2017-02-19 15:34:38 -08:00
Vladimir Stefanovic 8d723eab75 Add mips, mipsle to the SYS_SETNS map 2017-02-19 15:33:56 -08:00
Zhang Wei 2c9454e4fc Fix typo
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-12-19 10:16:06 -08:00
Ethan J. Jackson 6dbaac84c5 Add missing stub functions to netns_unspecified.go 2016-12-19 10:15:34 -08:00
Lei Jitang 8ba1072b58 Typo: fix typo in readme (#16)
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-04-29 22:37:23 -07:00
Zhenfang Wei 11c323fbd3 Fixed the docker netns detection err on xenial (#15)
With ubuntu 16.04 and docker-engine 1.11, the docker netns detection
function failed to look for the correct location of task file. This
change fixed the issue.

Signed-off-by: Zhenfang Wei <kopkop@gmail.com>
2016-04-29 22:37:00 -07:00
Ashok Mudukutore 003a74c01d Added function UniqueId which returns a string that uniquely identifies (#14)
the namespace associated with a network handle.
2016-04-29 22:36:46 -07:00
Vish Ishaya 1fec6582c0 Merge pull request #13 from michelmno/master
netns add ppc64 same as ppc64le
2016-03-17 13:51:17 -07:00
Michel Normand b49e32fb51 netns add ppc64 same as ppc64le 2016-03-04 06:47:31 +01:00
Vish Ishaya b87167f660 Merge pull request #12 from tanksuzuki/fix-example-code
Fix example code
2016-02-26 09:07:17 -08:00
Asuka Suzuki dd823845f2 Fix example code 2016-02-24 23:51:21 +09:00
Vish Ishaya f0b8d0aad3 Merge pull request #11 from krhubert/master
refactor netns
2016-01-13 11:21:53 -08:00
Vish Ishaya b73cffff5a Merge pull request #10 from nickethier/docker-cgroup-mount
Container cgroup location under systemd
2015-12-03 08:41:21 -08:00
Hubert dff3fd240d docs: fix typo 2015-09-16 17:01:26 +02:00
Hubert f19e34ff16 dosc: fix golint errors 2015-09-16 16:52:32 +02:00
Hubert 3e1d42c9bc refactor: remove netns_linux_*.go files and use map instead 2015-09-16 16:47:11 +02:00
Hubert 3195ea9cc6 dosc: mark CLONE_ flags as deprecated 2015-09-16 16:44:12 +02:00
Nick Ethier 0591c3f637 Will always be under system.slice on systemd 2015-08-11 15:20:38 -06:00
Nick Ethier f345454358 Fix getPidForContainer for later releases of docker 2015-08-11 15:02:56 -06:00
Vish Ishaya 604eaf189e Merge pull request #9 from brahmaroutu/support_ibm_z
add support from IBM Z architecture
2015-07-10 15:24:25 -07:00
root 5d4cf093aa add support from IBM Z architecture
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-07-10 18:57:36 +00:00
Vish Ishaya 493029407e Merge pull request #8 from moul/patch-1
Using proper value for SYS_SETNS
2015-06-30 14:44:43 -07:00
Manfred Touron cbbe6847e6 Using proper value for SYS_SETNS
https://github.com/docker/libcontainer/blob/master/system/setns_linux.go#L17

For information: 374 is `sendmmsg`

Now passing tests on **armv7**

```console
$ uname -a
Linux docker-builder-34 4.0.5-235 #1 SMP Fri Jun 19 08:56:44 UTC 2015 armv7l armv7l armv7l GNU/Linux
$ go test github.com/vishvananda/netns
PASS
ok  	github.com/vishvananda/netns	0.013s
```

Should fix https://github.com/docker/docker/issues/14184
2015-06-30 22:23:27 +02:00
Vish Ishaya b7a04d6db3 Merge pull request #6 from glevand/for-merge-1
Add linux arm64 support
2015-06-24 14:57:55 -07:00
Geoff Levand f0c36f012d Add linux arm64 support
Signed-off-by: Geoff Levand <geoff@infradead.org>
2015-06-17 13:33:40 -07:00
Vish Ishaya ae73e06735 Merge pull request #5 from eyakubovich/get-from-path
Add GetFromPath to construct NsHandle from any path
2015-06-10 22:22:07 -07:00
Eugene Yakubovich be8852baf7 Add GetFromPath to construct NsHandle from any path
Also makes other Get functions utilize GetFromPath
to avoid duplication.
2015-06-07 13:25:43 -07:00