sd-ndisc: Implement Router Solicitation backoff method
authorPatrik Flykt <patrik.flykt@linux.intel.com>
Fri, 19 May 2017 13:22:45 +0000 (16:22 +0300)
committerPatrik Flykt <patrik.flykt@linux.intel.com>
Tue, 30 May 2017 07:34:15 +0000 (10:34 +0300)
commit1bd6f8953dab8db9c05ea3e54a890486b1e1a56f
treefb60a36a21ea9a69ef33fd737acc66a2f0f97b52
parent0d6c68eba3188c3fea9731ba0828f04416ab7c04
sd-ndisc: Implement Router Solicitation backoff method

Instead of sending a fixed amount of Router Solicitiations, implement
the backoff algorithm proposed in RFC 7559. The backoff algorithm is
the same as used by DHCPv6.

Time out after 12s as specified in RFC 4861 in order not to delay
setting up a link for too long while sending Router Solicitations
in the background. Notice that after this change the callback will
receive a SD_NDISC_EVENT_TIMEOUT timeout event, and at a later point
when a router appears, a received Router Advertisment will cause the
callback to be called again with the SD_NDISC_EVENT_ROUTER event.
src/libsystemd-network/ndisc-internal.h
src/libsystemd-network/sd-ndisc.c