NetworkManager/shared/n-dhcp4/src
Beniamino Galvani 5a7b83ea0a n-dhcp4: keep trying after a failure in send()
Currently if an error is encountered during a send() of a message, the
client fails and there is no possibility of recover, since no timers
are armed after a failed event dispatch. An easy way to reproduce a
failure is to add a firewall rule like:

  iptables -A OUTPUT -p udp --dport 67 -j REJECT

which makes the send() fail with EPERM during the renew. In such case,
the client should continue (failing) until it reaches the rebind phase
at T2, when it will be able to renew the lease using the packet
socket.

In general, a failure to send a packet should not cause the failure of
the client.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/419
https://bugzilla.redhat.com/show_bug.cgi?id=1806516
2020-02-24 14:58:33 +01:00
..
util n-dhcp4: util/link: suppress gcc warning 2019-11-20 10:42:57 +01:00
libndhcp4.sym n-dhcp4/lease: expose the server IP address 2019-11-18 13:34:09 +01:00
meson.build Merge commit 'e23b3c9c3ac86b065eef002fa5c4321cc4a87df2' as 'shared/n-dhcp4' 2019-05-25 02:02:04 +02:00
n-dhcp4-c-connection.c n-dhcp4: keep trying after a failure in send() 2020-02-24 14:58:33 +01:00
n-dhcp4-c-lease.c lease: add n_dhcp4_client_lease_get_basetime() 2019-11-20 10:58:51 +01:00
n-dhcp4-c-probe.c n-dhcp4: request previous address after expiration 2020-02-17 18:58:47 +01:00
n-dhcp4-client.c n-dhcp4: handle invalid return codes gracefully 2019-12-23 16:19:35 +01:00
n-dhcp4-incoming.c n-dhcp4: accept options that are longer than requested 2020-01-25 11:31:58 +01:00
n-dhcp4-outgoing.c n-dhcp4: fix initialization of the 'secs' DHCP header field 2020-02-10 16:36:25 +01:00
n-dhcp4-private.h n-dhcp4: fix logging macro 2020-02-24 14:58:24 +01:00
n-dhcp4-s-connection.c Merge commit 'e23b3c9c3ac86b065eef002fa5c4321cc4a87df2' as 'shared/n-dhcp4' 2019-05-25 02:02:04 +02:00
n-dhcp4-s-lease.c Merge commit 'e23b3c9c3ac86b065eef002fa5c4321cc4a87df2' as 'shared/n-dhcp4' 2019-05-25 02:02:04 +02:00
n-dhcp4-server.c Merge commit 'e23b3c9c3ac86b065eef002fa5c4321cc4a87df2' as 'shared/n-dhcp4' 2019-05-25 02:02:04 +02:00
n-dhcp4-socket.c n-dhcp4/socket: use SO_REUSEADDR on UDP socket 2019-12-11 09:25:05 +01:00
n-dhcp4.h n-dhcp4: add logging API 2019-11-22 10:24:49 +01:00
test-api.c n-dhcp4/lease: expose the server IP address 2019-11-18 13:34:09 +01:00
test-connection.c Merge commit 'e23b3c9c3ac86b065eef002fa5c4321cc4a87df2' as 'shared/n-dhcp4' 2019-05-25 02:02:04 +02:00
test-message.c Merge commit 'e23b3c9c3ac86b065eef002fa5c4321cc4a87df2' as 'shared/n-dhcp4' 2019-05-25 02:02:04 +02:00
test-run-client.c Merge commit 'e23b3c9c3ac86b065eef002fa5c4321cc4a87df2' as 'shared/n-dhcp4' 2019-05-25 02:02:04 +02:00
test-socket.c Merge commit 'e23b3c9c3ac86b065eef002fa5c4321cc4a87df2' as 'shared/n-dhcp4' 2019-05-25 02:02:04 +02:00
test.h Merge commit 'e23b3c9c3ac86b065eef002fa5c4321cc4a87df2' as 'shared/n-dhcp4' 2019-05-25 02:02:04 +02:00