Commit Graph

902 Commits

Author SHA1 Message Date
00fbba085e Fix a typo s/IFF_POINTOPONT/IFF_POINTTOPOINT. 2018-03-15 22:47:54 -07:00
dd8ff8a5cf Merge pull request #113 from nyren/master
Explicitly enable IPv6 sysctl
v0.7.0
2018-02-14 16:11:11 +00:00
08ec2995ba Explicitly enable IPv6 sysctl
If CNI is about to configure an IPv6 address, make sure IPv6 is not
disabled through the "disable_ipv6" sysctl setting.

This is a workaround for Docker 17.06 and later which sets
disable_ipv6=1 for all interfaces even if ipv6 is enabled in Docker.
2018-02-13 20:11:06 +01:00
136399f078 Merge pull request #117 from dcbw/dhcp-cleanup
dhcp plugin testcases and bug fixes
v0.7.0-rc2
2018-02-09 19:23:51 +01:00
596480eadc dhcp: remove leases when they are released
Don't lock around the Stop() operation though, as that may take
a while and block other operations.  That may mean we call Stop()
multiple times, but the Lease object should handle that correctly
itself.
2018-02-08 11:17:38 -06:00
61c3c42107 dhcp: don't try to close the lease stop channel multiple times
Fixes: https://github.com/containernetworking/plugins/issues/105
2018-02-08 11:17:38 -06:00
b522ed6aae plugins/dhcp: add testcase 2018-02-08 11:17:38 -06:00
26ef6e312d vendor: add d2g/dhcp4server 2018-02-07 12:48:08 -06:00
461d433911 Merge pull request #116 from squeed/release-bump-go
release: bump golang version
v0.7.0-rc1
2018-02-07 14:44:43 +01:00
84a01001be release: bump golang version 2018-02-07 13:16:30 +01:00
e2f063b534 Merge pull request #88 from lyft/ipvlan-master-intf-ipam
ipvlan: support enslaving an interface returned by ipam
2018-01-31 17:17:13 +01:00
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
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
3468364f7e Merge branch 'master' into ipvlan-master-intf-ipam 2018-01-25 15:06:06 -08:00
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
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
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
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
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
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
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
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
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
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
8ebea58550 Update IPVLAN modes by adding l3s in README. 2018-01-12 12:06:48 -08:00
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
5c7e7c0913 ipvlan: support chaining for master interface and IP configuration
For IP allocation schemes that cannot be interface agnostic, the
ipvlan plugin can be chained with an earlier plugin that handles this
logic. If "master" is omitted from the ipvlan configuration, then the
previous Result must contain a single interface name for the ipvlan
plugin to enslave. If "ipam" is omitted, then the previous Result is
used to configure the ipvlan interface.
2017-12-23 10:59:48 -08:00
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
03e316b07b Merge pull request #99 from rosenhouse/add-appveyor-badge
README: add Windows CI badge
2017-12-06 18:21:47 +01:00
ecdd827d3a README: add badge for appveyor (Windows CI) 2017-12-03 14:22:36 -08:00
1f02326d56 delete link and ip if err when cmdAdd to avoid resource leak. 2017-11-27 15:26:07 +08:00
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
2c05055101 Merge pull request #81 from squeed/portmap-hairpin
portmap: support hairpin, improve performance
2017-11-15 17:34:35 +01:00
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
73fdc87395 Merge pull request #92 from squeed/host-device
plugins/host_device: move to "main" folder
2017-11-14 22:08:16 -08:00
d07d2aaf71 plugins/host_device: move to "main" folder 2017-11-13 18:50:20 +01:00
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
47668f6d64 host-local: Update host-local IPAM to support Windows 2017-11-11 15:17:45 -08:00
fbced0cccb Merge pull request #84 from rosenhouse/add-windows-ci
Enable Windows CI (Appveyor)
2017-11-10 18:59:16 -08:00
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
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
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
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
4779f1d2bf ipvlan: support enslaving an interface returned by ipam
For IP allocation schemes that cannot be interface agnostic, master can be set
to "ipam". In this configuration, the IPAM plugin is required to return a single
interface name for the ipvlan plugin to enslave.
2017-11-01 10:14:04 -07:00
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
596b44301b Vagrantfile: update to golang 1.9.1 2017-10-11 21:19:16 +02:00
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
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
e256564546 Merge pull request #74 from rosenhouse/host-device-fixes
Host-device fixes
2017-09-13 11:41:14 +02:00
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