]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
Revert "ndisc: Also set link hoplimit"
authorYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 6 Nov 2023 06:28:12 +0000 (15:28 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 6 Nov 2023 06:33:10 +0000 (15:33 +0900)
This reverts commit 0ba8374bb8a7032ca13ba98d10e8d7c3378ca9c6.

- 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.

src/network/networkd-ndisc.c
src/network/networkd-sysctl.c
src/network/networkd-sysctl.h

index f4f662cf965e490485cdc9b6921821557d8eba60..08af9c73b9935321ace3af665ffc812683712458 100644 (file)
@@ -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;
index 1a5dffe6f59591cd8ca6b5cadc5d0f6e93992ab9..0b8169a0176626ae0322bf589dbea7c574391657 100644 (file)
@@ -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 */
index 99243f7a25d60d8fce4838f50312a0a16e0e3db7..064438462c014276faf0aa31a225d88903edca2d 100644 (file)
@@ -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_;