Systemd/src/libsystemd-network
Beniamino Galvani 1d1a3e0afb dhcp: delay restarts after NAKs
The server might answer to a DHCPREQUEST with a NAK and currently the
client restarts the configuration process immediately.  It was
observed that this can easily generate loops in which the network is
flooded with DISCOVER,OFFER,REQUEST,NAK sequences.

RFC 2131 only states that "if the client receives a DHCPNAK message,
the client restarts the configuration process" without further
details.

Add a delay with exponential backoff between retries after NAKs to
limit the number of requests and cap the delay to 30 minutes.
2016-02-02 15:23:34 +01:00
..
arp-util.c util-lib: split out fd-related operations into fd-util.[ch] 2015-10-25 13:19:18 +01:00
arp-util.h tree-wide: sort includes in *.h 2015-11-18 23:09:02 +01:00
dhcp-identifier.c tree-wide: group include of libudev.h with sd-* 2015-11-17 07:06:08 +01:00
dhcp-identifier.h util-lib: split our string related calls from util.[ch] into its own file string-util.[ch] 2015-10-24 23:05:02 +02:00
dhcp-internal.h tree-wide: expose "p"-suffix unref calls in public APIs to make gcc cleanup easy 2015-11-27 19:19:36 +01:00
dhcp-lease-internal.h tree-wide: expose "p"-suffix unref calls in public APIs to make gcc cleanup easy 2015-11-27 19:19:36 +01:00
dhcp-network.c util-lib: split out fd-related operations into fd-util.[ch] 2015-10-25 13:19:18 +01:00
dhcp-option.c dhcp: make DHCP_OPTION_* enum public 2016-01-20 17:25:16 +01:00
dhcp-packet.c dhcp: make DHCP_OPTION_* enum public 2016-01-20 17:25:16 +01:00
dhcp-protocol.h dhcp: make DHCP_OPTION_* enum public 2016-01-20 17:25:16 +01:00
dhcp-server-internal.h tree-wide: expose "p"-suffix unref calls in public APIs to make gcc cleanup easy 2015-11-27 19:19:36 +01:00
dhcp6-internal.h util-lib: split our string related calls from util.[ch] into its own file string-util.[ch] 2015-10-24 23:05:02 +02:00
dhcp6-lease-internal.h tree-wide: expose "p"-suffix unref calls in public APIs to make gcc cleanup easy 2015-11-27 19:19:36 +01:00
dhcp6-network.c sd-dhcp6-client: bind to link-local address 2015-11-17 14:17:41 +01:00
dhcp6-option.c dhcp: make DHCP6_OPTION_* enum public 2016-01-20 17:25:16 +01:00
dhcp6-protocol.h dhcp: make DHCP6_OPTION_* enum public 2016-01-20 17:25:16 +01:00
icmp6-util.c sd-ndisc: better validate RA packets 2015-11-25 18:30:31 +01:00
icmp6-util.h libsystemd-network: split icm6-util.[ch] out of dhcp6 code 2015-10-22 17:19:54 +02:00
lldp-internal.c tree-wide: expose "p"-suffix unref calls in public APIs to make gcc cleanup easy 2015-11-27 19:19:36 +01:00
lldp-internal.h util-lib: split our string related calls from util.[ch] into its own file string-util.[ch] 2015-10-24 23:05:02 +02:00
lldp-network.c util-lib: split out fd-related operations into fd-util.[ch] 2015-10-25 13:19:18 +01:00
lldp-network.h lldp: move lldp_receive_packet() to lldp-internal.c 2015-10-02 17:39:22 +02:00
lldp-port.c tree-wide: sort includes 2015-11-16 22:09:36 +01:00
lldp-port.h sd-lldp: hide internal information 2015-09-22 15:14:49 +02:00
lldp-tlv.c tree-wide: sort includes 2015-11-16 22:09:36 +01:00
lldp-tlv.h tree-wide: expose "p"-suffix unref calls in public APIs to make gcc cleanup easy 2015-11-27 19:19:36 +01:00
lldp.h lldp: add support for organizationally specific TLVs 2015-10-02 17:39:22 +02:00
Makefile sd-network: add new library 2014-02-28 01:01:13 +01:00
network-internal.c dhcp: export routes as opaque objects 2016-01-20 17:25:16 +01:00
network-internal.h dhcp: export routes as opaque objects 2016-01-20 17:25:16 +01:00
sd-dhcp-client.c dhcp: delay restarts after NAKs 2016-02-02 15:23:34 +01:00
sd-dhcp-lease.c dhcp: make host/domain name validity checks stricter 2016-01-26 14:42:04 +01:00
sd-dhcp-server.c dhcp: make DHCP_OPTION_* enum public 2016-01-20 17:25:16 +01:00
sd-dhcp6-client.c dhcp: make DHCP6_OPTION_* enum public 2016-01-20 17:25:16 +01:00
sd-dhcp6-lease.c libsystemd-network: avoid double free on error 2016-01-20 18:55:55 -05:00
sd-ipv4acd.c tree-wide: expose "p"-suffix unref calls in public APIs to make gcc cleanup easy 2015-11-27 19:19:36 +01:00
sd-ipv4ll.c tree-wide: expose "p"-suffix unref calls in public APIs to make gcc cleanup easy 2015-11-27 19:19:36 +01:00
sd-lldp.c Merge pull request #2223 from ssahani/lldp 2015-12-25 00:40:07 -05:00
sd-ndisc.c sd-ndisc: simplify if stmt and reindent log messages 2016-01-18 15:21:28 -05:00
test-acd.c tree-wide: expose "p"-suffix unref calls in public APIs to make gcc cleanup easy 2015-11-27 19:19:36 +01:00
test-dhcp-client.c dhcp: make DHCP_OPTION_* enum public 2016-01-20 17:25:16 +01:00
test-dhcp-option.c dhcp: make DHCP_OPTION_* enum public 2016-01-20 17:25:16 +01:00
test-dhcp-server.c dhcp: make DHCP_OPTION_* enum public 2016-01-20 17:25:16 +01:00
test-dhcp6-client.c dhcp: make DHCP6_OPTION_* enum public 2016-01-20 17:25:16 +01:00
test-ipv4ll-manual.c tree-wide: expose "p"-suffix unref calls in public APIs to make gcc cleanup easy 2015-11-27 19:19:36 +01:00
test-ipv4ll.c tree-wide: expose "p"-suffix unref calls in public APIs to make gcc cleanup easy 2015-11-27 19:19:36 +01:00
test-lldp.c tree-wide: expose "p"-suffix unref calls in public APIs to make gcc cleanup easy 2015-11-27 19:19:36 +01:00
test-ndisc-rs.c sd-ndisc: introduce separate callbacks 2015-11-11 15:42:38 +01:00