Commit Graph

806 Commits

Author SHA1 Message Date
74054da7c5 Merge pull request #28 from dcbw/update-for-interface-change
pkg,plugins: update for Result struct Interface index changes
2017-07-05 10:29:05 -05:00
f8134be6ef Merge pull request #33 from squeed/bump-iptables
vendor: bump go-iptables to 0.2.0
2017-06-30 11:59:44 +02:00
0da6780449 pkg,plugins: update for Result struct Interface index changes
It's a pointer now, so we need to use the helper function to set
the field and also test for nil before accessing it.
2017-06-29 13:40:36 -05:00
8185e7c59c vendor: bump go-iptables to 0.2.0 2017-06-29 16:12:17 +02:00
121362601b vendor: bump cni to 0.5.2-git49d814c 2017-06-28 12:06:37 -05:00
5a7a8b3069 Merge pull request #24 from squeed/flannel-return
flannel: set the cniVersion on the delegated config
2017-06-28 08:45:02 -05:00
f01230d75f Merge pull request #10 from leblancd/v6_bridge_plugin
bridge: Add support for IPv6 to bridge plugin
2017-06-28 08:34:53 -05:00
ffdc748861 bridge: Add support for IPv6 to bridge plugin
This change adds support for IPv6 container/pod addresses to the CNI
bridge plugin, both for dual-stack (IPv4 + IPv6) and for IPv6-only
network configurations.

The proposed changes support multiple IPv6 addresses on a container
interface. If isGW is configured, the bridge will also be configured with
gateway addresses for each IPv6 subnet.

Please note that both the dual-stack functionality and support for multiple
IPv6 container/gateway addresses depends upon containernetworking/cni
PR 451 "ipam/host-local: support multiple IP ranges".
This change could potentially be committed independently from this host-local
plugin change, however the dual-stack and multiple IPv6 address
functionality that is enabled by this change can't be exercised/tested
until the host-local plugin change is committed.

There are some IPv6 unit test cases that are currently commented out
in the proposed changes because these test cases will fail without the
prior commits of the multiple IP range host-local change.

This pull request includes a temporary workaround for Kubernetes
Issue #32291 (Container IPv6 address is marked as duplicate, or dadfailed).
The problem is that kubelet enables hairpin mode on bridge veth
interfaces. Hairpin mode causes the container/pod to see echos of its
IPv6 neighbor solicitation packets, so that it declares duplicate address
detection (DAD) failure. The long-term fix is to use enhanced-DAD
when that feature is readily available in kernels. The short-term fix is
to disable IPv6 DAD in the container. Unfortunately, this has to be done
unconditionally (i.e. without a check for whether hairpin mode is enabled)
because hairpin mode is turned on by kubelet after the CNI bridge plugin
has completed cmdAdd processing. Disabling DAD should be okay if
IPv6 addresses are guaranteed to be unique (which is the case for
host-local IPAM plugin).
2017-06-21 12:47:38 -04:00
8c5e754617 flannel: set the cniVersion on the delegated config
Fixes: #23
2017-06-16 19:04:07 +02:00
5bbff37294 Merge pull request #16 from squeed/gratuitous-arp
ptp, macvlan: don't change mac address; send gratuitous arp
2017-06-16 18:34:37 +02:00
485f151536 Merge pull request #22 from squeed/portmap-plugin
portmap: Don't accept a port number of 0
2017-06-16 18:33:40 +02:00
494053dd98 Merge pull request #11 from dcbw/dhcp-pidfile
dhcp: add --pidfile option to DHCP client daemon
2017-06-15 22:48:42 -07:00
83ec9bb73f portmap: Don't accept a port number of 0
This also adds more testing around configuration parsing.
2017-06-15 14:00:04 +02:00
e2558a03bb Merge pull request #12 from squeed/host-local-multi
ipam/host-local: support multiple IP ranges
2017-06-14 21:55:30 -05:00
a38dd5f7a0 dhcp: add --pidfile option to DHCP client daemon 2017-06-14 21:41:43 -05:00
45650feb32 Merge pull request #14 from rosenhouse/more-ns-warning-redux
pkg/ns readme: expand on danger of ns switching in long-lived programs
2017-06-14 16:18:26 +01:00
2e9e87732f ipam/host-local: support multiple IP ranges
This change allows the host-local allocator to allocate multiple IPs.
This is intended to enable dual-stack, but is not limited to only two
subnets or separate address families.
2017-06-12 21:14:44 +02:00
7cda9af13f Merge pull request #17 from tklauser/x-sys-unix-setns
pkg/ns: use unix.Setns() instead of open coding it
2017-06-08 08:39:41 -07:00
9c7aeff02c pkg/ns: use unix.Setns() instead of open coding it
Use unix.Setns() instead of manually re-implementing it using
unix.Syscall().
2017-06-08 14:48:58 +02:00
98cafb157c Merge pull request #15 from rosenhouse/contribute-vagrantfile
Add CONTRIBUTING and Vagrantfile
2017-06-07 07:26:01 -07:00
e76165b44f ptp, macvlan: don't change mac address; send gratuitous arp 2017-06-07 16:08:41 +02:00
94e6489466 vendor: add j-keck/arping 2017-06-07 15:40:26 +02:00
9a96aa2981 add Vagrantfile to support cross-platform development
Update CONTRIBUTING to reflect plugin split
2017-06-06 20:13:31 -07:00
a860d4d244 contributing doc: copy in from cni repo 2017-06-06 19:20:19 -07:00
6f45630cc1 pkg/ns readme: expand on danger of ns switching in long-lived programs
- redux of https://github.com/containernetworking/cni/pull/331 since the
plugin/lib split
- added link to new blog post about this from Weave folks (thanks!)
2017-06-06 19:05:00 -07:00
e8bea554c5 Merge pull request #13 from squeed/build-fixes
build: some minor post-repo-split fixes; add fastbuild
2017-06-02 10:23:03 +02:00
43a24515ee build: some minor post-repo-split fixes; add fastbuild 2017-06-01 18:51:46 +02:00
0997c532a1 Merge pull request #1 from squeed/portmap-plugin
iptables-based portmapping plugin
2017-06-01 13:05:29 +01:00
a7aaf0e377 plugins/meta/portmap: add an iptables-based host port mapping plugin 2017-06-01 10:06:28 +02:00
22cda76afb vendor: add mattn/go-shellwords 2017-05-31 19:21:03 +02:00
b47d5b7c0a vendor: add libcni 2017-05-31 18:32:38 +02:00
539174f8c8 vendor: update coreos/go-iptables 2017-05-31 18:32:38 +02:00
8816992fcb Merge pull request #9 from squeed/move-pkg
Move libraries from cni only used by plugins.
2017-05-31 10:11:59 -05:00
4e2f467e21 vendor: remove moved cni/pkg/... libraries 2017-05-23 16:12:53 +02:00
3c436520be move most of cni/pkg to plugins/pkg: delete code staying in cni/pkg
This moves the following packages to this repository:
* ip
* ipam
* ns
* testutils
* utils
2017-05-23 16:12:49 +02:00
8b43e90949 Add 'pkg/' from commit 'a11be4d7596203874b742b6597caf255204c56c3'
git-subtree-dir: pkg
git-subtree-mainline: dcf7368eea
git-subtree-split: a11be4d759
2017-05-19 19:43:02 +02:00
dcf7368eea Merge pull request #6 from squeed/merge-docs
Documentation folder merge
2017-05-19 16:16:01 +02:00
0c1c1b7d8c Merge pull request #8 from squeed/bump-cni
vendor: bump cni to v0.5.2
2017-05-19 15:54:54 +02:00
f5e4c117d1 vendor: bump cni to v0.5.2 2017-05-19 14:38:26 +02:00
c9e3fc4890 Add references to all plugins to the README 2017-05-16 16:46:24 +02:00
9f52fc0374 Move documentation folder to individual READMEs 2017-05-16 16:46:15 +02:00
3ac78df0b6 Add 'Documentation/' from commit '5bb59a12b80dc99552bebf0394a067807f72f947'
git-subtree-dir: Documentation
git-subtree-mainline: db8f94a509
git-subtree-split: 5bb59a12b8
2017-05-15 17:13:31 +02:00
db8f94a509 Rename build & test, take two 2017-05-15 16:50:24 +02:00
1430c43243 Rename build script to avoid conflict with bazel 2017-05-15 16:45:58 +02:00
f130db5b61 Merge pull request #5 from dcbw/add-cni-plugins
plugins: add plugins from containernetworking/cni
2017-05-15 12:27:40 +02:00
d2792f264e plugins: add plugins from containernetworking/cni
Plugins prepared from the containernetworking/cni repo as follows:

1) git reset --hard 1a9288c3c0
2) git remove everything not in plugins/
3) git remove plugins/test
4) git merge into containernetworking/plugins repo
5) adjust import paths for containernetworking/cni -> containernetworking/plugins
2017-05-14 23:12:45 -05:00
4e0349a7e7 Remove everything except for plugins in preparation for import to plugins repo 2017-05-14 23:04:53 -05:00
4af68521cd plugins: move vlan to plugins/main/ 2017-05-09 22:47:26 -05:00
7cab2fd317 vendor: add github.com/d2g 2017-05-09 22:45:44 -05:00
be5f1f723e vendor: add coreos/go-systemd 2017-05-09 22:45:44 -05:00