Commit Graph

919 Commits

Author SHA1 Message Date
e7328869fa Merge pull request #39 from dcbw/ptp-fix-test
ptp: fix testcase for Interface int-pointer changes
2017-07-05 16:39:48 -05:00
3c9f1b16d6 Merge pull request #36 from tomdee/vendor-libcni-v0.6.0-rc1
Update vendor to v0.6.0-rc1
2017-07-05 16:36:50 -05:00
0b9dbef185 ptp: fix testcase for Interface int-pointer changes 2017-07-05 16:26:19 -05:00
55cdf255db README.md: Add travis badge 2017-07-05 11:49:07 -07:00
ba6a709062 Update vendor to v0.6.0-rc1 2017-07-05 11:46:00 -07:00
9d08b04a3a bridge: add support for promiscuous mode 2017-07-05 09:51:10 -07:00
a690f775ae Merge pull request #25 from squeed/ptp-v6
ptp: add ipv6 support
2017-07-05 17:30:23 +02:00
15f6798bf9 Merge pull request #34 from dnardo/netlink-update
vendor: Update vishvanana/netlink dependency.
2017-07-05 08:29:53 -07:00
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
7716c027cf vendor: Update vishvanana/netlink dependency.
This updates the netlink dependency to include recent updates, including a fix when setting prosmic mode on a bridge and additions for creating qdisc/classes/filters. This is necessary for some upcoming additions to CNI
2017-06-30 15:18:01 -07:00
3daee3214d ptp: add ipv6 support
* Wait for addresses to leave tentative state before setting routes
* Enable forwarding correctly
* Set up masquerading according to the active protocol
2017-06-30 12:06:57 +02: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
ca3f28fa9e host-device: cleanup + completed tests; 2017-06-29 11:44:59 +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