888 Commits

Author SHA1 Message Date
Casey Callendrello
9e5836047c
Merge pull request #104 from mzahorik/master
Append default route and process route options in compliance with RFC 3442
2018-01-31 15:08:57 +01:00
Matt Zahorik
808d4e20ae Append a default route to the CNI reply if there's a gateway advertised.
Classless static routes (DHCP option 121) are now processed first.
If CSRs exist, static routes (DHCP option 33) and the gateway default
route are ignored as per RFC 3442.
2018-01-26 10:06:26 -05:00
Casey Callendrello
412b6d3128
Merge pull request #111 from s1061123/add_procfsprefx
Add -hostprefix in DHCP daemon to run the daemon as container
2018-01-25 12:00:51 +01:00
Tomofumi Hayashi
9604565b22 Add -hostprefix in DHCP daemon to run the daemon as container
This diff adds -hostprefix option in dhcp daemon. This option
could be used to run dhcp daemon as container because container
cannot touch host's netns directly. The diff changes dhcp daemon
to touch procfs mounted to another path, like '/hostfs/proc'.
2018-01-25 02:00:43 +09:00
Bryan Boreham
2a0736c748
Merge pull request #97 from oilbeater/fix/link-leak
delete link and ip if err when cmdAdd to avoid resource leak.
2018-01-24 16:38:44 +00:00
Casey Callendrello
2eba56ad52
Merge pull request #100 from squeed/range-arg
ipam/host-local: Accept ip ranges as a runtime argument
2018-01-24 15:45:39 +01:00
Casey Callendrello
d228f980e1
Merge pull request #103 from alice02/fix/skip_settleaddress
pkg/ipam: Skip ip.SettleAddresses if only IPv4 is used
2018-01-22 12:07:41 +01:00
Dan Williams
6aa21c431e
Merge pull request #107 from zhsj/fix-ipforward
pkg/ip: don't write to /proc/sys if ipforward enabled
2018-01-20 21:38:23 -06:00
Casey Callendrello
c42470bc79
Merge pull request #110 from dcbw/host-device-honor-ifname
host-device: respect CNI_IFNAME/args.IfName
2018-01-19 19:05:29 +01:00
Dan Williams
ffc591e242 host-device: respect CNI_IFNAME/args.IfName
On ADD save the host device's name into its IFLA_ALIAS property and
rename the device to the requested CNI_IFNAME inside the container
to conform to the CNI specification.  On DEL rename the device to
the original name and move it back into the host namespace.
2018-01-17 14:30:22 -06:00
Shengjing Zhu
59f9976017 pkg/ip: don't write to /proc/sys if ipforward enabled
This enables setup in a container env like systemd nspawn
where /proc/sys is mouted as read only.

Signed-off-by: Shengjing Zhu <i@zhsj.me>
2018-01-18 01:52:49 +08:00
Gabe Rosenhouse
c26961a990
Merge pull request #108 from jingax10/ipvlan_plugin_branch
Update IPVLAN modes by adding l3s in README.
2018-01-17 08:04:57 -08:00
Jing Ai
8ebea58550 Update IPVLAN modes by adding l3s in README. 2018-01-12 12:06:48 -08:00
alice02
97664d8a6a pkg/ipam: Skip ip.SettleAddresses if only IPv4 is used
This change improves the performance of the ipam.ConfigureIface.
Some plugins are slow because of the ip.SettleAddress in ipam.ConfigureIface.
It seems to be only needed for IPv6, so should be skipped if only IPv4 is used.
2017-12-26 16:48:57 +09:00
Casey Callendrello
b03d23a4fa ipam/host-local: Accept ip ranges as a runtime argument
This allows for the runtime to dynamically request IP ranges.

Fixes: #95
2017-12-11 13:51:01 +01:00
Casey Callendrello
03e316b07b
Merge pull request #99 from rosenhouse/add-appveyor-badge
README: add Windows CI badge
2017-12-06 18:21:47 +01:00
Gabe Rosenhouse
ecdd827d3a README: add badge for appveyor (Windows CI) 2017-12-03 14:22:36 -08:00
oilbeater
1f02326d56 delete link and ip if err when cmdAdd to avoid resource leak. 2017-11-27 15:26:07 +08:00
Dan Williams
92c634042c
Merge pull request #93 from squeed/host-device
plugins/main/host-device: generate result, fix DEL, other cleanups
2017-11-22 10:09:32 -06:00
Casey Callendrello
2c05055101
Merge pull request #81 from squeed/portmap-hairpin
portmap: support hairpin, improve performance
2017-11-15 17:34:35 +01:00
Casey Callendrello
5e830efb20 plugins/main/host-local: generate result, fix DEL, other cleanups
This plugin needed some cleaning up: it didn't generate output, and
didn't test DEL. Add those things, plus a README.
2017-11-15 16:00:32 +01:00
Gabe Rosenhouse
73fdc87395
Merge pull request #92 from squeed/host-device
plugins/host_device: move to "main" folder
2017-11-14 22:08:16 -08:00
Casey Callendrello
d07d2aaf71 plugins/host_device: move to "main" folder 2017-11-13 18:50:20 +01:00
Gabe Rosenhouse
6c2ef734c2
Merge pull request #77 from rakelkar/rakelkar/host-local-windows
host-local: Update host-local IPAM to support Windows
2017-11-13 07:37:10 -08:00
Rakesh Kelkar
47668f6d64 host-local: Update host-local IPAM to support Windows 2017-11-11 15:17:45 -08:00
Gabe Rosenhouse
fbced0cccb
Merge pull request #84 from rosenhouse/add-windows-ci
Enable Windows CI (Appveyor)
2017-11-10 18:59:16 -08:00
Gabriel Rosenhouse
99f6be0319 Enable Windows CI (Appveyor)
- start list of linux_only plugins; ignore them when testing on Windows
- Isolate linux-only code by filename suffix
- Remove stub (NotImplemented) functions
- other misc. fixes for Windows compatibility
2017-11-10 08:09:29 -08:00
Casey Callendrello
b09e0d28a7
Merge pull request #89 from dcbw/del-link-by-name-addr-fix
pkg/ip: don't return error from DelLinkByNameAddr() if no addresses exist
2017-11-10 17:06:29 +01:00
Casey Callendrello
5576f3120e portmap: support hairpin, improve performance
This change improves the performance of the portmap plugin and fixes
hairpin, when a container is mapped back to itself.

Performance is improved by using a multiport test to reduce rule
traversal, and by using a masquerade mark.

Hairpin is fixed by enabling masquerading for hairpin traffic.
2017-11-10 16:56:52 +01:00
Dan Williams
449700f7ea pkg/ip: don't return error from DelLinkByNameAddr() if no addresses exist
For some reason no addresses on the interface returned an error, despite
having a testcase that explicitly tested for success.
2017-11-07 16:07:04 -06:00
Gabe Rosenhouse
7f98c94613 Merge pull request #65 from rosenhouse/golang-to-1.9
Golang versions: add 1.9, drop 1.7
2017-10-18 15:36:34 -07:00
Gabriel Rosenhouse
596b44301b Vagrantfile: update to golang 1.9.1 2017-10-11 21:19:16 +02:00
Matt Dupre
0063a1b9d0 Merge pull request #78 from rmohr/dhcp
Don't let DHCP IPAM plugin fail on missing lease
2017-10-11 14:50:19 +01:00
Roman Mohr
cc71426592 Don't let DHCP delete fail on missing lease
There are at least two reasons why a lease is not present:

 * The dhcp ipam daemon was restarted
 * On add the IPAM plugin failed

Don't fail the IPAM invocation when the lease is not present, to allow
proper device cleanup on CNI delete invocations.
2017-10-11 14:29:16 +02:00
Casey Callendrello
e256564546 Merge pull request #74 from rosenhouse/host-device-fixes
Host-device fixes
2017-09-13 11:41:14 +02:00
Gabriel Rosenhouse
c238c93b5e host-device plugin: result is valid JSON
test:
- feed valid config JSON to plugin
- execute plugin inside the namespace with the test device
2017-09-12 21:01:58 -07:00
Gabriel Rosenhouse
25ca6ccb52 host-device: do not swallow netlink errors 2017-09-12 20:53:35 -07:00
Lantao Liu
5e46a66c89 Fix go get github.com/containernetworking/plugins.
Signed-off-by: Lantao Liu <lantaol@google.com>
2017-09-12 05:08:38 +00:00
Casey Callendrello
6be2e8a0e2 Merge pull request #3 from trusch/master
added host-device plugin which adds a specified link to container
2017-09-11 18:51:21 +02:00
Casey Callendrello
b24225fc17 Merge pull request #72 from rosenhouse/move-echosvr
testing: move echosvr into testutils
2017-09-07 14:22:03 +02:00
Gabriel Rosenhouse
d8f2fd7a3c testing: move echosvr into testutils 2017-09-06 19:10:48 -07:00
Dan Williams
1396ab0bab Merge pull request #63 from squeed/v6-fixes
Fix ipmasq teardown on v6-only interfaces
2017-09-06 15:36:24 -05:00
Dan Williams
92babd4a3d Merge pull request #71 from rosenhouse/fix-portmap-integ-test
portmap integration test: echo server runs in separate process
2017-09-06 13:13:03 -05:00
Casey Callendrello
7a62515407 pkg/ip: Fix ipmasq teardown on v6-only interfaces 2017-09-06 20:02:41 +02:00
Gabriel Rosenhouse
008024125a portmap integration test: echo server runs in separate process
this way we're not mixing goroutines and namespaces
2017-09-05 23:36:12 -07:00
Casey Callendrello
556e509097 Merge pull request #64 from rosenhouse/travis-ginkgo
travis: run with ginkgo -p instead of go test
2017-08-31 14:28:55 +02:00
Gabe Rosenhouse
dda9c2b1b0 travis: run with ginkgo -p instead of go test
may help reduce test-pollution due to namespace-affinity

see http://onsi.github.io/ginkgo/#parallel-specs
2017-08-30 20:22:12 -07:00
Gabe Rosenhouse
0e3df2961c Merge pull request #67 from rosenhouse/test-all-packages
Test all packages
2017-08-30 19:32:48 -07:00
Gabe Rosenhouse
e1ea7f5ecb Test all non-vendored packages 2017-08-30 14:47:10 -07:00
Gabe Rosenhouse
8fe8460c72 Merge pull request #66 from rosenhouse/filelock-vet
host-local FileLock is used by value instead of by reference
2017-08-30 08:21:28 -07:00