mirror of
https://github.com/systemd/systemd
synced 2024-10-15 12:34:37 +00:00
Merge pull request #29873 from yuwata/network-revert-hop-limit
network: several follow-ups for IPv6 hop limit
This commit is contained in:
commit
69c37b26a4
|
@ -864,9 +864,9 @@ Table=1234</programlisting></para>
|
|||
<varlistentry>
|
||||
<term><varname>IPv6HopLimit=</varname></term>
|
||||
<listitem>
|
||||
<para>Configures IPv6 Hop Limit. For each router that forwards the packet, the hop limit is
|
||||
decremented by 1. When the hop limit field reaches zero, the packet is discarded. When unset,
|
||||
the kernel's default will be used.</para>
|
||||
<para>Configures IPv6 Hop Limit. Takes an integer in the range 1…255. For each router that
|
||||
forwards the packet, the hop limit is decremented by 1. When the hop limit field reaches zero, the
|
||||
packet is discarded. When unset, the kernel's default will be used.</para>
|
||||
|
||||
<xi:include href="version-info.xml" xpointer="v228"/>
|
||||
</listitem>
|
||||
|
|
|
@ -199,11 +199,6 @@ 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;
|
||||
|
@ -217,7 +212,6 @@ static int ndisc_request_route(Route *in, Link *link, sd_ndisc_router *rt) {
|
|||
route->quickack = link->network->ipv6_accept_ra_quickack;
|
||||
if (route->mtu == 0)
|
||||
route->mtu = mtu;
|
||||
|
||||
if (route->hop_limit == 0)
|
||||
route->hop_limit = hop_limit;
|
||||
|
||||
|
|
|
@ -130,7 +130,7 @@ Network.IPv6PrivacyExtensions, config_parse_ipv6_privacy_extension
|
|||
Network.IPv6AcceptRA, config_parse_tristate, 0, offsetof(Network, ipv6_accept_ra)
|
||||
Network.IPv6AcceptRouterAdvertisements, config_parse_tristate, 0, offsetof(Network, ipv6_accept_ra)
|
||||
Network.IPv6DuplicateAddressDetection, config_parse_int, 0, offsetof(Network, ipv6_dad_transmits)
|
||||
Network.IPv6HopLimit, config_parse_int, 0, offsetof(Network, ipv6_hop_limit)
|
||||
Network.IPv6HopLimit, config_parse_uint8, 0, offsetof(Network, ipv6_hop_limit)
|
||||
Network.IPv6ProxyNDP, config_parse_tristate, 0, offsetof(Network, ipv6_proxy_ndp)
|
||||
Network.IPv6MTUBytes, config_parse_mtu, AF_INET6, offsetof(Network, ipv6_mtu)
|
||||
Network.IPv4AcceptLocal, config_parse_tristate, 0, offsetof(Network, ipv4_accept_local)
|
||||
|
|
|
@ -466,7 +466,6 @@ int network_load_one(Manager *manager, OrderedHashmap **networks, const char *fi
|
|||
.ipv4_route_localnet = -1,
|
||||
.ipv6_privacy_extensions = _IPV6_PRIVACY_EXTENSIONS_INVALID,
|
||||
.ipv6_dad_transmits = -1,
|
||||
.ipv6_hop_limit = -1,
|
||||
.ipv6_proxy_ndp = -1,
|
||||
.proxy_arp = -1,
|
||||
.ipv4_rp_filter = _IP_REVERSE_PATH_FILTER_INVALID,
|
||||
|
|
|
@ -323,7 +323,7 @@ struct Network {
|
|||
int ipv4_accept_local;
|
||||
int ipv4_route_localnet;
|
||||
int ipv6_dad_transmits;
|
||||
int ipv6_hop_limit;
|
||||
uint8_t ipv6_hop_limit;
|
||||
int proxy_arp;
|
||||
uint32_t ipv6_mtu;
|
||||
IPv6PrivacyExtensions ipv6_privacy_extensions;
|
||||
|
|
|
@ -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 */
|
||||
|
@ -178,7 +178,7 @@ int link_set_ipv6_hop_limit(Link *link) {
|
|||
if (!link->network)
|
||||
return 0;
|
||||
|
||||
if (link->network->ipv6_hop_limit < 0)
|
||||
if (link->network->ipv6_hop_limit <= 0)
|
||||
return 0;
|
||||
|
||||
return sysctl_write_ip_property_int(AF_INET6, link->ifname, "hop_limit", link->network->ipv6_hop_limit);
|
||||
|
|
|
@ -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_;
|
||||
|
|
Loading…
Reference in a new issue