Commit Graph

45 Commits

Author SHA1 Message Date
Jack O'Sullivan
9db70c6970 Initial working DHCP address allocation 2021-06-07 19:03:09 +01:00
Jack O'Sullivan
9731c47a8b Add access logging 2020-06-27 14:08:32 +01:00
Jack O'Sullivan
f8a70d5222 Implement CreateNetwork and DeleteNetwork 2020-05-18 22:02:23 +01:00
Jack O'Sullivan
bd8e73f41a Initial Go rewrite 2020-05-18 17:39:32 +01:00
Jack O'Sullivan
866bb1b5cd Minor fixes 2019-09-22 04:09:56 +01:00
Jack O'Sullivan
7afa8efbd6 Further work reducing file descriptor leaks
The file descriptor problem is multi-tiered... Maintaining pyroute2 NDB
sources in namespaces keeps a proxy process running in each namespace,
wasting a lot of file descriptors on pipes. It also leaks some of these
pipes upon removal of sources! Even the Python Docker client leaks its
sockets! (https://github.com/docker/docker-py/issues/1293)
2019-09-22 03:07:50 +01:00
Jack O'Sullivan
0711a747bd Increase file descriptor limit
TODO: Fix this hack
2019-09-21 23:37:48 +01:00
Jack O'Sullivan
717d856e50 Use single-threaded WSGI server and fix mqissues 2019-09-21 13:51:56 +01:00
Jack O'Sullivan
1c3c2ec5d5 Fix NSPopen proxy leaks 2019-09-20 12:21:18 +01:00
Jack O'Sullivan
3e15f5c7aa Fix Makefile 2019-09-20 12:11:54 +01:00
Jack O'Sullivan
6a6a105e9a Use container hostname instead of container name 2019-09-19 21:03:56 +01:00
Jack O'Sullivan
4072ce8de4 Manually apply MAC address when supplied (fixes #1)
If specified (via `--mac-address`), Docker only applies a user-selected
MAC address when moving the interface into the container's network
namespace. This means that the initial run of `udhcpc` will use the
random veth MAC address, breaking any statically configured leases
(since this is the IP address that Docker will assign to the container).
2019-09-01 12:55:12 +01:00
Jack O'Sullivan
7933149acf Send hostname with persistent DHCP requests 2019-08-26 22:46:54 +01:00
Jack O'Sullivan
010e9203a9 Send DHCPv4 vendor identifier 2019-08-26 20:55:10 +01:00
Jack O'Sullivan
aa9a72d1db Add some implementation details to README 2019-08-26 16:09:34 +01:00
Jack O'Sullivan
6c073e54b7 Add README 2019-08-26 15:50:48 +01:00
Jack O'Sullivan
d4e36dbe77 Only allow null IPAM driver 2019-08-26 15:33:58 +01:00
Jack O'Sullivan
b2845f4924 Remove options prefix 2019-08-26 14:44:27 +01:00
Jack O'Sullivan
644731410b Support DHCPv6 2019-08-26 13:58:56 +01:00
Jack O'Sullivan
ec198aad67 Fix container DHCP gateway updates 2019-08-26 11:29:03 +01:00
Jack O'Sullivan
ab8336a5cb Fix container DHCP without gateway 2019-08-26 10:21:32 +01:00
Jack O'Sullivan
9887cfab30 Fix udhcpc event handling 2019-08-26 09:45:54 +01:00
Jack O'Sullivan
55070e3a6a Improve udhcpc event handling 2019-08-26 09:30:38 +01:00
Jack O'Sullivan
d9772c3ef7 Improved DHCP client messaging 2019-08-26 00:02:28 +01:00
Jack O'Sullivan
260d78f374 DHCP client cleanup 2019-08-25 18:12:19 +01:00
Jack O'Sullivan
aa269d25c2 Add DHCP client in container 2019-08-25 17:49:07 +01:00
Jack O'Sullivan
02d5109ced Use gateway from DHCP 2019-08-25 13:11:35 +01:00
Jack O'Sullivan
05aec4b0f8 Initial DHCP functionality 2019-08-25 12:48:03 +01:00
Jack O'Sullivan
f7d9086ec2 Support IPv6 routing 2019-08-24 14:14:01 +01:00
Jack O'Sullivan
b3d515389a Fix address assignment from IPAM 2019-08-24 13:54:06 +01:00
Jack O'Sullivan
1174d4e0da Fix IP address and route assignment 2019-08-23 22:38:09 +01:00
Jack O'Sullivan
bdb71ac8ca Use logging formatter 2019-08-23 22:21:43 +01:00
Jack O'Sullivan
d44058e63a Use pyroute2.NDB instead of pyroute2.IPDB 2019-08-23 22:17:17 +01:00
Jack O'Sullivan
04f93b16cc Broken routes 2019-08-23 17:25:55 +01:00
Jack O'Sullivan
b5844947e4 Initial Join / Leave implementation 2019-08-23 17:07:54 +01:00
Jack O'Sullivan
60df595be3 Fix CreateEndpoint 2019-08-23 16:57:27 +01:00
Jack O'Sullivan
a7eb94c9fa Initial endpoint creation / deletion implementations 2019-08-23 16:47:37 +01:00
Jack O'Sullivan
06e9809b0c Fix CreateNetwork 2019-08-23 14:48:49 +01:00
Jack O'Sullivan
895e9aa9c4 Log exceptions 2019-08-23 14:38:13 +01:00
Jack O'Sullivan
ec164efe30 Add .dockerignore 2019-08-23 14:34:20 +01:00
Jack O'Sullivan
272eea0d55 Remove IPAM driver and implement CreateNetwork / DeleteNetwork 2019-08-23 14:26:58 +01:00
Jack O'Sullivan
92dfd90ea0 Add newlines to files 2019-08-23 13:02:24 +01:00
Jack O'Sullivan
10005d74d3 Add 404 and server error handlers 2019-08-23 13:01:28 +01:00
Jack O'Sullivan
a616342e2e Implement IpamDriver.GetDefaultAddressSpace 2019-08-23 12:55:35 +01:00
Jack O'Sullivan
22f8e24549 Initial commit 2019-08-22 15:34:10 +01:00