1144 Commits

Author SHA1 Message Date
Eugene Yakubovich
7d8d6b2a7e Use single IP on the host for ptp veths
Instead of allocating a /31 for each container,
use the same IP on the host side for all veths.
This is very similar how real point-to-point
devices work (using donor IPs).
2015-09-23 11:04:38 +02:00
Eugene Yakubovich
94be1cfaab revendoring netlink 2015-09-23 11:04:38 +02:00
Michael Bridgen
2a58bd9379 Merge pull request #60 from eyakubovich/fix-plugin-del
bug fix: exec of DEL cmd caused JSON decode error
2015-09-22 16:39:59 +01:00
Eugene Yakubovich
ae3ceedd69 bug fix: exec of DEL cmd caused JSON decode error
When plugin is executed with a DEL command, it does not
print result to stdout unless there is an error. Therefore
it stdout bytes should not be passed to json.Unmarshal.
2015-09-18 10:30:10 -07:00
Eugene Yakubovich
9ea56937d4 bug fix: exec of DEL cmd caused JSON decode error
When plugin is executed with a DEL command, it does not
print result to stdout unless there is an error. Therefore
it stdout bytes should not be passed to json.Unmarshal.
2015-09-18 10:30:10 -07:00
Michael Bridgen
cc918a1aea Merge pull request #59 from squaremo/factor-out-libcni
Factor an API out into a module
2015-09-17 00:06:54 +01:00
Michael Bridgen
09a8148e36 Factor an API out into a module
This takes some of the machinery from CNI and from the rkt networking
code, and turns it into a library that can be linked into go apps.

Included is an example command-line application that uses the library,
called `cnitool`.

Other headline changes:

 * Plugin exec'ing is factored out

The motivation here is to factor out the protocol for invoking
plugins. To that end, a generalisation of the code from api.go and
pkg/plugin/ipam.go goes into pkg/invoke/exec.go.

 * Move argument-handling and conf-loading into public API

The fact that the arguments get turned into an environment for the
plugin is incidental to the API; so, provide a way of supplying them
as a struct or saying "just use the same arguments as I got" (the
latter is for IPAM plugins).
2015-09-16 10:14:39 +01:00
Michael Bridgen
b88f173c43 Factor an API out into a module
This takes some of the machinery from CNI and from the rkt networking
code, and turns it into a library that can be linked into go apps.

Included is an example command-line application that uses the library,
called `cnitool`.

Other headline changes:

 * Plugin exec'ing is factored out

The motivation here is to factor out the protocol for invoking
plugins. To that end, a generalisation of the code from api.go and
pkg/plugin/ipam.go goes into pkg/invoke/exec.go.

 * Move argument-handling and conf-loading into public API

The fact that the arguments get turned into an environment for the
plugin is incidental to the API; so, provide a way of supplying them
as a struct or saying "just use the same arguments as I got" (the
latter is for IPAM plugins).
2015-09-16 10:14:39 +01:00
Stefan Junker
5da5738456 Merge pull request #58 from steveeJ/remove-ipmasq-ifneedbe
ipvlan/macvlan: remove ipMasq related code
2015-09-10 22:08:57 +02:00
Stefan Junker
d896b82816 ipvlan/macvlan: remove ipMasq related code
Luckily the docs haven't mentioned support for ipMasq for both plugins so far.
Even if anyone has attempted to enable the feature in their configuration files it didn't have the desired effect for the network.
2015-09-09 14:16:39 +02:00
Stefan Junker
75657b0aac Merge pull request #57 from eyakubovich/maintainers
Add MAINTAINERS file
2015-09-09 12:05:35 +02:00
Eugene Yakubovich
c4808e616d Add MAINTAINERS file 2015-09-08 15:58:00 -07:00
Jonathan Boulle
06967ea734 Merge pull request #53 from NeilW/master
IPAM plugin: improve error messages
2015-09-08 14:26:11 -07:00
Neil Wilson
104e8b483e plugin/ipam: correct formatting of error message 2015-09-08 18:08:15 +00:00
Neil Wilson
2d0d4b35e1 plugin/ipam: correct formatting of error message 2015-09-08 18:08:15 +00:00
Neil Wilson
b5db5d3075 IPAM plugin: improve error messages
Make it more clear that we failed to find an IPAM plugin.
Check for a missing plugin name and issue a more helpful error.
2015-09-08 18:08:15 +00:00
Neil Wilson
8462a3f607 IPAM plugin: improve error messages
Make it more clear that we failed to find an IPAM plugin.
Check for a missing plugin name and issue a more helpful error.
2015-09-08 18:08:15 +00:00
Jonathan Boulle
fb9b8ad1bc Merge pull request #55 from jonboulle/travis
*: add basic test script + travis hook
2015-09-07 16:28:35 -07:00
Jonathan Boulle
d10d1a148e *: add basic test script + travis hook
Adds a simple test script, mostly to perform gofmt and govet checking;
currently tests only exist for the DHCP plugin.
2015-09-07 16:21:53 -07:00
Stefan Junker
69d50f545d Merge pull request #54 from jonboulle/master
plugin/ipam: fix typo in error message
2015-09-08 00:49:28 +02:00
Jonathan Boulle
ac7cd562fd plugin/ipam: fix typo in error message 2015-09-07 15:43:34 -07:00
Jonathan Boulle
7478744cf5 plugin/ipam: fix typo in error message 2015-09-07 15:43:34 -07:00
Stefan Junker
ef820646c5 Merge pull request #51 from steveeJ/plugins-args
CNI_ARGS: use ';' to split args as documented
2015-09-05 19:00:53 +02:00
Stefan Junker
169f8e0a52 CNI_ARGS: use ';' to split args as documented 2015-09-05 18:58:58 +02:00
Stefan Junker
8b634b90da CNI_ARGS: use ';' to split args as documented 2015-09-05 18:58:58 +02:00
Stefan Junker
fbd828cf60 Merge pull request #42 from steveeJ/plugins-args
host-local: allow ip request via CNI_ARGS
2015-09-04 01:42:11 +02:00
Stefan Junker
a75401a13b host-local: allow ip request via CNI_ARGS
A specific IP can now be requested via the environment variable CNI_ARGS, e.g.
`CNI_ARGS=ip=1.2.3.4`.
The plugin will try to reserve the specified IP.
If this is not successful the execution will fail.
2015-09-04 01:38:22 +02:00
Stefan Junker
d1a0905345 host-local: allow ip request via CNI_ARGS
A specific IP can now be requested via the environment variable CNI_ARGS, e.g.
`CNI_ARGS=ip=1.2.3.4`.
The plugin will try to reserve the specified IP.
If this is not successful the execution will fail.
2015-09-04 01:38:22 +02:00
Stefan Junker
1d398af124 host-local: allow ip request via CNI_ARGS
A specific IP can now be requested via the environment variable CNI_ARGS, e.g.
`CNI_ARGS=ip=1.2.3.4`.
The plugin will try to reserve the specified IP.
If this is not successful the execution will fail.
2015-09-04 01:38:22 +02:00
Eugene Yakubovich
59f58fb974 Merge pull request #49 from eyakubovich/dco
Add DCO and CONTRIBUTING.md
2015-09-02 11:01:42 -07:00
Eugene Yakubovich
d1ccecf88f Add DCO and CONTRIBUTING.md 2015-09-02 11:00:27 -07:00
Jonathan Boulle
4f6ab3c2ad Merge pull request #43 from alexwlchan/master
Fix a few spelling mistakes in the docs
2015-08-20 09:17:56 -07:00
Alex Chan
a41e1a699e Fix a few spelling mistakes in the docs 2015-08-20 16:41:25 +01:00
Alex Chan
ac0b5177a4 Fix a few spelling mistakes in the docs 2015-08-20 16:41:25 +01:00
Eugene Yakubovich
34be862dc3 Merge pull request #41 from eyakubovich/flannel-route
flannel: set up route for the entire flannel network
2015-08-15 16:28:09 -07:00
Eugene Yakubovich
e38572b967 flannel: set up route for the entire flannel network
Without it, packets leave via default route iface
and come back via interface added by flannel plugin.
If rp_filter=1, the packets are dropped.
2015-08-10 14:13:06 -07:00
Jonathan Boulle
4be9a4f771 Merge pull request #37 from steveeJ/fix-docs
host-local: fix routes in README examples
2015-08-03 15:12:07 -07:00
Stefan Junker
d961f6cd39 host-local: fix routes in README examples 2015-08-03 15:37:14 +02:00
Eugene Yakubovich
77a2e9727c Merge pull request #34 from eyakubovich/document-plugins
Document the plugins
2015-07-22 09:02:39 -07:00
Eugene Yakubovich
8c8753e409 Merge pull request #34 from eyakubovich/document-plugins
Document the plugins
v0.1.0
2015-07-22 09:02:39 -07:00
Eugene Yakubovich
f8000548d3 Merge pull request #33 from eyakubovich/veth-to-ptp-rename
Rename veth plugin to ptp and add docs.
2015-07-21 17:20:37 -07:00
Eugene Yakubovich
f741bc324b Rename veth plugin to ptp and add docs.
ptp (point-to-point) better describes the nature of the plugin
as veth pairs are also used by the bridge plugin.
2015-07-21 17:20:11 -07:00
Eugene Yakubovich
64f5cf9e82 Rename veth plugin to ptp and add docs.
ptp (point-to-point) better describes the nature of the plugin
as veth pairs are also used by the bridge plugin.
2015-07-21 17:20:11 -07:00
Eugene Yakubovich
507805f8c4 Document the plugins
Adds a .md file to the Documentation/ folder for each plugin.

Fixes #16
2015-07-21 17:19:18 -07:00
Eugene Yakubovich
9751c80740 Document the plugins
Adds a .md file to the Documentation/ folder for each plugin.

Fixes #16
2015-07-21 17:19:18 -07:00
Eugene Yakubovich
d053cd7184 Merge pull request #35 from eyakubovich/ip_forward
enable net.ipv4.ip_forward in plugins that need it
2015-07-21 17:12:04 -07:00
Eugene Yakubovich
b5e7847649 Merge pull request #29 from eyakubovich/spec-fmt-fixes
spec: fix fmt issues and example JSON
2015-07-16 20:18:33 -07:00
Eugene Yakubovich
77fc4ad0d6 Merge pull request #32 from eyakubovich/ipvlan-fix
ipvlan: wrong name was used during link creation
2015-07-15 10:25:07 -07:00
Eugene Yakubovich
4f74b78041 enable net.ipv4.ip_forward in plugins that need it 2015-07-13 15:41:02 -07:00
Eugene Yakubovich
91454b6ebb enable net.ipv4.ip_forward in plugins that need it 2015-07-13 15:41:02 -07:00