Systemd/src/network
Richard Maw 410a7f15f0 networkd: Clean up pool addresses on link down
When the link comes up it assigns addresses
by checking whether the address is 0.0.0.0,
and if so pulling a new address range out of the pool.

If the addresses aren't removed from the pool when the link goes down
then the set of addresses allocated will grow
until all the local address ranges are exhausted,
while it gets a different IP address every time.

This patch frees the addresses when link config is dropped
to fix the address leak,
and on systems which can expect all interfaces to be brought up or down
in a deterministic order this conveniently makes use the same address each time.
2017-06-12 16:20:49 +01:00
..
netdev network: bridge vlan without PVID (#5899) 2017-05-29 17:20:01 +02:00
wait-online networkd: add symlinks to the Makefile for dir netdev and wait-online 2017-02-25 00:32:43 +05:30
.gitignore networkd: netdev - move to separate subdirectory 2016-11-13 05:16:49 +01:00
Makefile networkd: add a basic network daemon 2013-11-09 23:41:17 +01:00
meson.build meson: add rules for RA sources 2017-05-15 14:49:50 +03:00
networkctl.c systemctl,networkctl,busctl,backlight: use STRPTR_IN_SET 2016-09-24 20:22:05 -04:00
networkd-address-label.c socket-util: add parse_ip_prefix (#5867) 2017-05-05 20:04:07 -04:00
networkd-address-label.h socket-util: add parse_ip_prefix (#5867) 2017-05-05 20:04:07 -04:00
networkd-address-pool.c networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
networkd-address-pool.h networkd: rework headers to avoid circular includes 2016-04-29 19:01:28 -04:00
networkd-address.c networkd: Add Router Advertisement variables 2017-05-15 14:49:50 +03:00
networkd-address.h networkd: Add Router Advertisement variables 2017-05-15 14:49:50 +03:00
networkd-brvlan.c networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
networkd-brvlan.h networkd: apply bridge vlan configuration correct 2016-08-04 17:14:18 +02:00
networkd-conf.c tree-wide: fix wrong indent (#5757) 2017-04-19 08:48:29 +02:00
networkd-conf.h build-sys: add check for gperf lookup function signature (#5055) 2017-01-10 08:39:05 +01:00
networkd-dhcp4.c DHCP: Fail link_dhcp_set_routes promotely if no address is assigned from lease (#6009) 2017-05-24 14:05:49 +02:00
networkd-dhcp6.c networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
networkd-fdb.c networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
networkd-fdb.h networkd: drop weird "const" usage in function parameters 2016-06-03 19:20:46 +02:00
networkd-gperf.gperf networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
networkd-ipv4ll.c libsystemd-network: sd-ipv4ll: acquire new address after claimed address conflict 2017-03-31 15:40:18 -05:00
networkd-ipv6-proxy-ndp.c networkd: add IPv6ProxyNDP (#5913) 2017-05-09 20:04:55 +02:00
networkd-ipv6-proxy-ndp.h networkd: add IPv6ProxyNDPAddress support (#5174) 2017-02-11 00:47:55 +01:00
networkd-link-bus.c networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
networkd-link.c networkd: Clean up pool addresses on link down 2017-06-12 16:20:49 +01:00
networkd-link.h networkd-radv: Helper function for Router Advertisement initialization 2017-05-15 14:49:50 +03:00
networkd-lldp-tx.c networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
networkd-lldp-tx.h networkd: reworkd LLDP emission to allow control of propagation level 2016-05-09 15:45:31 +02:00
networkd-manager-bus.c networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
networkd-manager.c network: Implement DHCP Option 119 (Domain Search List) (#5932) 2017-05-13 10:19:32 -04:00
networkd-manager.h networkd: move event loop handling out of the manager (#4723) 2016-11-28 20:42:40 +01:00
networkd-ndisc.c networkd: RFC compliant autonomous prefix handling (#5636) 2017-03-31 15:10:59 +02:00
networkd-ndisc.h networkd: flush DNSSL/RDNSS lists when we lose carrier 2016-11-02 11:39:49 -06:00
networkd-network-bus.c networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
networkd-network-gperf.gperf networkd: Add Router Advertisement variables 2017-05-15 14:49:50 +03:00
networkd-network.c networkd: Add Router Advertisement variables 2017-05-15 14:49:50 +03:00
networkd-network.h networkd: Add Router Advertisement variables 2017-05-15 14:49:50 +03:00
networkd-radv.c networkd-radv: Helper function for Router Advertisement initialization 2017-05-15 14:49:50 +03:00
networkd-radv.h networkd-radv: Helper function for Router Advertisement initialization 2017-05-15 14:49:50 +03:00
networkd-route.c networkd: fix route table from unsigned char to uint32_t (#6083) 2017-06-06 12:02:31 -04:00
networkd-route.h networkd: fix route table from unsigned char to uint32_t (#6083) 2017-06-06 12:02:31 -04:00
networkd-util.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
networkd-util.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
networkd.c networkd: move event loop handling out of the manager (#4723) 2016-11-28 20:42:40 +01:00
org.freedesktop.network1.conf networkd: add basic dbus API 2015-02-05 11:50:34 +01:00
org.freedesktop.network1.service networkd: add basic dbus API 2015-02-05 11:50:34 +01:00
systemd-networkd.pkla networkd: allow networkd to set the timezone in timedated 2016-11-23 16:32:06 +01:00
systemd-networkd.rules networkd: allow networkd to set the timezone in timedated 2016-11-23 16:32:06 +01:00
test-network-tables.c networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
test-network.c networkd: move event loop handling out of the manager (#4723) 2016-11-28 20:42:40 +01:00
test-networkd-conf.c network: test MAC address parsing 2016-05-17 16:55:20 -04:00