Revert "ndisc: Also set link hoplimit"
This reverts commit 0ba8374bb8.
- link->network->ipv6_hop_limit must not be updated, as it may be used
by multiple interfaces,
- We may receive multiple RA from multiple routers with different hop
limit, and we should not make the default hop limit flicking,
- First of all, there is no reason that we need to update the default hop
limit,
- The original issue should be caused by the hash and compare functions
for Route object.
This commit is contained in:
@@ -199,12 +199,7 @@ static int ndisc_request_route(Route *in, Link *link, sd_ndisc_router *rt) {
|
||||
r = sd_ndisc_router_get_hop_limit(rt, &hop_limit);
|
||||
if (r < 0 && r != -ENODATA)
|
||||
return log_link_warning_errno(link, r, "Failed to get default router hop limit from RA: %m");
|
||||
|
||||
link->network->ipv6_hop_limit = hop_limit;
|
||||
r = link_set_ipv6_hop_limit(link);
|
||||
if (r < 0)
|
||||
log_link_warning_errno(link, r, "Cannot set IPv6 hop limit for interface, ignoring: %m");
|
||||
}
|
||||
}
|
||||
|
||||
route->source = NETWORK_CONFIG_SOURCE_NDISC;
|
||||
route->provider.in6 = router;
|
||||
|
||||
@@ -165,7 +165,7 @@ static int link_set_ipv6_dad_transmits(Link *link) {
|
||||
return sysctl_write_ip_property_int(AF_INET6, link->ifname, "dad_transmits", link->network->ipv6_dad_transmits);
|
||||
}
|
||||
|
||||
int link_set_ipv6_hop_limit(Link *link) {
|
||||
static int link_set_ipv6_hop_limit(Link *link) {
|
||||
assert(link);
|
||||
|
||||
/* Make this a NOP if IPv6 is not available */
|
||||
|
||||
@@ -28,7 +28,6 @@ typedef enum IPReversePathFilter {
|
||||
|
||||
int link_set_sysctl(Link *link);
|
||||
int link_set_ipv6_mtu(Link *link);
|
||||
int link_set_ipv6_hop_limit(Link *link);
|
||||
|
||||
const char* ipv6_privacy_extensions_to_string(IPv6PrivacyExtensions i) _const_;
|
||||
IPv6PrivacyExtensions ipv6_privacy_extensions_from_string(const char *s) _pure_;
|
||||
|
||||
Reference in New Issue
Block a user