Revert "network/ndisc: ignore most fields of RA header when lifetime is zero"

This reverts commit ffef01acdd.

Similar to 2d393b1b6d ("network: IPv6 Compliance: Router Advertisement
Processing, Reachable Time [v6LC.2.2.15]"),

Extract from: https://www.ietf.org/rfc/rfc4861.html#section-4.2, p.21,
first paragraph:

    The Router Lifetime applies only to
    the router's usefulness as a default router; it
    does not apply to information contained in other
    message fields or options.

So it does not make sense to prevent DHCPv6 when Router Lifetime is 0.

Fixes #33357.
This commit is contained in:
Ivan Shapovalov
2024-06-16 10:46:34 +02:00
committed by Luca Boccassi
parent 9d7be044ca
commit 7767896d12

View File

@@ -2081,12 +2081,6 @@ static int ndisc_start_dhcp6_client(Link *link, sd_ndisc_router *rt) {
assert(link);
assert(link->network);
/* Do not start DHCPv6 client if the router lifetime is zero, as the message sent as a signal of
* that the router is e.g. shutting down, revoked, etc,. */
r = sd_ndisc_router_get_lifetime(rt, NULL);
if (r <= 0)
return r;
switch (link->network->ndisc_start_dhcp6_client) {
case IPV6_ACCEPT_RA_START_DHCP6_CLIENT_NO:
return 0;