Commit Graph
40 Commits
Author SHA1 Message Date
Martynas Pumputis 7670fed72c Add AWSVPC setup routines to the attach script
When running in the AWSVPC mode, we need to do the following:

- Keep the HW TX offloading on.
- Check that the allocated address belongs to the default subnet,
  because only one subnet is allowed and it should be the default one.

If it is not possible to determine whether AWSVPC is on, we ignore
all the steps, because the attachment routines have to work
regardless whether the router is running and the AWSVPC detection
is done by querying the /ipinfo/tracker endpoint served by
the router.
2016-06-08 16:44:54 +01:00
Bryan Boreham a1c3cba363 Invert multicast option in plugin
Now it's off by default, and there is an option to enable the
multicast route per-network.
We turn it on for the `weave` network created when we start the plugin.
2016-06-02 12:52:30 +01:00
Bryan Boreham 6dd109a5bb Only do ethtool tx off in bridged (pcap) mode.
Detect the bridge type in the same way the weave script does.
2016-05-25 17:34:13 +01:00
Bryan Boreham 2702b85ee5 Improve veth name construction; use a constant instead of "ethwe" 2016-05-25 17:34:13 +01:00
Bryan Boreham 8717fd15ed Use 'peer' and 'veth' instead of 'guest' and 'local', after review comments 2016-05-25 17:34:13 +01:00
Bryan Boreham ac14b19db8 Move attach() and detach() from shell script to Go 2016-05-25 17:34:13 +01:00
Bryan Boreham 4fc2835d92 Extract AddRoute function 2016-05-25 17:29:45 +01:00
Bryan Boreham 85023e0a76 Extract AttachContainer() function
Also move netlink and netns code from common to net

Creates interface if not already there
Adds addresses
Move the set link 'up' to after addresses are added
2016-05-25 17:29:45 +01:00
Bryan Boreham 0257274aa8 Extract basic veth setup 2016-05-25 17:23:49 +01:00
Bryan Boreham 9aaa7f19fd initialize via sub-function 2016-05-25 17:17:19 +01:00
Bryan Boreham 9f8b94645d Obtain IP address before setting up veth 2016-05-25 17:17:19 +01:00
Bryan Boreham c458deaf80 Slight cleanup 2016-05-25 17:17:19 +01:00
Bryan Boreham f11d91badf Extract veth creation and LinkSetUp to net package 2016-05-25 17:17:19 +01:00
Bryan Boreham ede00047db Send out arp update from CNI plugin 2016-05-25 12:05:20 +01:00
Matthias Radestock 984cad5b58 clean up network plugin logging
Consistency, consistency, consistency:

- prefix all log messages with "[net]" - important since the same
  process acts as both a network and ipam driver
- include the API function name in all log messages
- log request and response details at debug level
- log request summary at info level
- log ContainerStarted as a pseudo API function, but only at debug
  level (since it can be quite high volume)

And eliminate some dot imports.
2016-03-24 18:52:44 +00:00
Matthias Radestock de8c1d262f don't error log in 'createAndAttach'
It is a library function, so logging of any errors should be left to
the caller.

We also get rid of a logged warning which contained the complete data
structure returned by netlink.LinkByName.

So this function now does no logging at all. Which is how it should be.
2016-03-24 18:52:07 +00:00
Matthias Radestock 2d964bdc95 don't log in cni; just return errors
CNI is invoked from the command line; so there is no point in getting
clever about logging.
2016-03-24 18:51:34 +00:00
Matthias Radestock 91044ac0fa cosmetic: consistency 2016-03-24 18:51:08 +00:00
Matthias Radestock 98aeb674c4 cosmetic: more plugin error message/logging tweaks 2016-03-24 18:41:47 +00:00
Matthias Radestock ea11c5eedc cosmetic: some error logging message tweaks 2016-03-24 18:16:57 +00:00
Matthias Radestock c146ee142d Merge branch '1.4' 2016-03-24 17:26:00 +00:00
Matthias Radestock fce954192c fail plugin operation on bridge attachment error
Fixes #2097.
2016-03-24 17:01:15 +00:00
Bryan Boreham ecdd7aa7ce Configure arp cache on new interface 2016-03-17 14:29:33 +00:00
Bryan Boreham ac4e87418a Set a default route via bridge if config doesn't specify any 2016-03-17 12:41:14 +00:00
Bryan Boreham 42ff61f97c CNI net plugin 2016-03-17 12:41:14 +00:00
Bryan Boreham 08059412b5 Refactor so we can call parts individually 2016-03-17 12:41:14 +00:00
Matthias Radestock 0f9d9c77a3 remove cruft 2016-02-19 00:30:22 +00:00
Matthias Radestock ae725e333a make plugin pay attention to WEAVE_HTTP_ADDR 2016-02-03 11:54:05 +00:00
Bryan Boreham e4828ad30a Remove 'nameserver' option 2016-01-29 14:03:04 +00:00
Bryan Boreham 2970df4505 Revert "Refactor plugin to create veths in CreateEndpoint" 2016-01-25 17:57:53 +00:00
Adam Harrison 87f793f0e0 Merge pull request #1808 from weaveworks/1803-plugin-mac
Refactor plugin to create veths in CreateEndpoint
2016-01-25 11:53:17 +00:00
Bryan Boreham 7455a699c4 Use more chars from endpointID to reduce clashes 2016-01-21 12:36:58 +00:00
Bryan Boreham 5d598a1015 Refactor to make suffix part clearer 2016-01-20 16:50:42 +00:00
Bryan Boreham adafb79e34 Move endpoint creation into CreateEndpoint so we can return the MAC address 2016-01-20 16:45:08 +00:00
Bryan Boreham b2b293a8ee Added 'ContainerDestroyed()' callback from docker client 2016-01-12 14:38:44 +00:00
Bryan Boreham afcb84d42c Set up static route for multicast, with option to turn off 2015-12-16 12:17:25 +00:00
Bryan Boreham a4ca389f2e Make the plugin scope (local or global) an option 2015-12-15 16:31:07 +00:00
Bryan Boreham ecd93bbfe4 Resolve weave IP every time we need it, in case it changed 2015-12-08 16:59:34 +00:00
Bryan Boreham ec3de1a072 Introduce ipam plugin 2015-12-08 16:59:32 +00:00
Bryan Boreham 9f86e2ba43 Moved net plugin to its own directory 2015-12-08 16:58:53 +00:00