Commit Graph

17 Commits

Author SHA1 Message Date
Alessandro Boch 46f525c7d6 Overlay driver to cleanup stale endpoints
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-07-13 10:56:57 -07:00
sainath e2b0934ac2 Delete endpoint from network map for macvlan driver upon endpoint deletion
Signed-off-by: Sainath Grandhi <sainath.grandhi@intel.com>
2016-06-14 13:50:43 -07:00
Alessandro Boch 8ca4ed0c68 IPvlan and macvlan driver to persist endpoints
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-06-13 23:48:00 -07:00
Alessandro Boch 6d3fa9e0f2 Migrate libnetwork to use netlink.Handle
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-06-08 21:05:36 -07:00
Jana Radhakrishnan 6fb69f0816 Add driver api enhancements for gossip
With the introduction of a driver generic gossip in libnetwork it is not
necessary for drivers to run their own gossip protocol (like what
overlay driver is doing currently) but instead rely on the gossip
instance run centrally in libnetwork. In order to achieve this, certain
enhancements to driver api are needed. This api aims to provide these
enhancements.

The new api provides a way for drivers to register interest on table
names of their choice by returning a list of table names of interest as
a response to CreateNetwork. By doing that they will get notified if a
CRUD operation happened on the tables of their interest, via the newly
added EventNotify call.

Drivers themselves can add entries to any table during a Join call by
invoking AddTableEntry method any number of times during the Join
call. These entries lifetime is the same as the endpoint itself. As soon
as the container leaves the endpoint, those entries added by driver
during that endpoint's Join call will be automatically removed by
libnetwork. This action may trigger notification of such deletion to all
driver instances in the cluster who have registered interest in that
table's notification.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-04-18 19:55:39 -07:00
Alessandro Boch 216def1e1b Merge pull request #1120 from mrjana/store
Remove kvstore backend deps from datastore package
2016-04-15 15:50:46 -07:00
Jana Radhakrishnan 89e72d8888 Remove kvstore deps from datastore package
Currently datastore has dependencies on various kv backends.
This is undesirable if datastore had to be used as a backend
agnostic store management package with it's cache layer. This
PR aims to achieve that.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-04-15 15:36:44 -07:00
Jana Radhakrishnan c0162f53a6 Add overlay manager driver
Because overlay is a builtin driver and global allocation of overlay
resources is probably going to happen in a different node (a single
node) and the actual plumbing of the network is probably going to happen
in all nodes, it makes sense to split the functionality of allocation
into two different packages. The central component(this package) only
implements the NetworkAllocate/Free apis while the distributed
component(the existing overlay driver) implements the rest of the driver
api. This way we can reduce the memory footprint overall.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-04-14 10:37:42 -07:00
Jana Radhakrishnan b6d5c12ea2 Add NetworkAllocate/Free to driver api
Added NetworkAllocate and NetworkFree apis to the list of
driver apis. The intention of the api is to provide a
centralized way of allocating and freeing network resources
for a network which is cross-host.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-04-11 16:38:22 -07:00
Brent Salisbury 2b2d011899 Reject a null v4 IPAM slice in exp vlan drivers
Issue #1018

Signed-off-by: Brent Salisbury <brent@docker.com>
2016-03-13 00:42:00 -05:00
Brent Salisbury dda75448c3 Removed experimental drivers modprobe check
- Kernel requirements are checked w/o modprobe now

Signed-off-by: Brent Salisbury <brent@docker.com>
2016-03-11 17:00:36 -05:00
Brent Salisbury fcf79b55ff Bumped ipvlan kernel version to >= 4.2
- ipvlan l2 mode is buggy in < 4.2

Signed-off-by: Brent Salisbury <brent@docker.com>
2016-03-11 14:28:32 -05:00
Madhu Venugopal 64edd40fcc Use osl.InitOSContext appropriately
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-03-10 16:30:10 -08:00
Brent Salisbury af75e8a624 Added kernel version checks for macvlan/ipvlan
ipvlan >= 4.0.0 due to early instability
macvlan >= 3.9

Signed-off-by: Brent Salisbury <brent@docker.com>
2016-03-10 17:09:48 -05:00
Madhu Venugopal fe10aae30b Adding the missing ExternalConnectivity driver methods
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-03-09 19:35:44 -08:00
Madhu Venugopal ed9601e4c6 Make macvlan and ipvlan drivers as experimental
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-03-09 19:43:20 -05:00
Brent Salisbury ea30113303 Added macvlan and ipvlan drivers
- Notes at: https://gist.github.com/nerdalert/c0363c15d20986633fda

Signed-off-by: Brent Salisbury <brent@docker.com>
2016-03-02 06:22:36 -05:00