network: use in6_addr_hash_ops_free in Network.ipv6_proxy_ndp_addresses
This also one adjustment to network_adjust_ipv6_proxy_ndp().
This commit is contained in:
@@ -22,7 +22,13 @@ void network_adjust_ipv6_proxy_ndp(Network *network) {
|
||||
log_once(LOG_WARNING,
|
||||
"%s: IPv6 proxy NDP addresses are set, but IPv6 is not supported by kernel, "
|
||||
"Ignoring IPv6 proxy NDP addresses.", network->filename);
|
||||
network->ipv6_proxy_ndp_addresses = set_free_free(network->ipv6_proxy_ndp_addresses);
|
||||
network->ipv6_proxy_ndp_addresses = set_free(network->ipv6_proxy_ndp_addresses);
|
||||
return;
|
||||
}
|
||||
|
||||
if (network->ipv6_proxy_ndp == 0) {
|
||||
log_warning("%s: IPv6ProxyNDP= is disabled. Ignoring IPv6ProxyNDPAddress=.", network->filename);
|
||||
network->ipv6_proxy_ndp_addresses = set_free(network->ipv6_proxy_ndp_addresses);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -149,7 +155,7 @@ int config_parse_ipv6_proxy_ndp_address(
|
||||
assert(rvalue);
|
||||
|
||||
if (isempty(rvalue)) {
|
||||
network->ipv6_proxy_ndp_addresses = set_free_free(network->ipv6_proxy_ndp_addresses);
|
||||
network->ipv6_proxy_ndp_addresses = set_free(network->ipv6_proxy_ndp_addresses);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -170,11 +176,9 @@ int config_parse_ipv6_proxy_ndp_address(
|
||||
if (!address)
|
||||
return log_oom();
|
||||
|
||||
r = set_ensure_put(&network->ipv6_proxy_ndp_addresses, &in6_addr_hash_ops, address);
|
||||
r = set_ensure_consume(&network->ipv6_proxy_ndp_addresses, &in6_addr_hash_ops_free, TAKE_PTR(address));
|
||||
if (r < 0)
|
||||
return log_oom();
|
||||
if (r > 0)
|
||||
TAKE_PTR(address);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -291,11 +291,6 @@ int network_verify(Network *network) {
|
||||
if (network->keep_configuration < 0)
|
||||
network->keep_configuration = KEEP_CONFIGURATION_NO;
|
||||
|
||||
if (network->ipv6_proxy_ndp == 0 && !set_isempty(network->ipv6_proxy_ndp_addresses)) {
|
||||
log_warning("%s: IPv6ProxyNDP= is disabled. Ignoring IPv6ProxyNDPAddress=.", network->filename);
|
||||
network->ipv6_proxy_ndp_addresses = set_free_free(network->ipv6_proxy_ndp_addresses);
|
||||
}
|
||||
|
||||
r = network_drop_invalid_addresses(network);
|
||||
if (r < 0)
|
||||
return r; /* network_drop_invalid_addresses() logs internally. */
|
||||
@@ -828,7 +823,7 @@ static Network *network_free(Network *network) {
|
||||
hashmap_free_with_destructor(network->stacked_netdevs, netdev_unref);
|
||||
|
||||
/* static configs */
|
||||
set_free_free(network->ipv6_proxy_ndp_addresses);
|
||||
set_free(network->ipv6_proxy_ndp_addresses);
|
||||
ordered_hashmap_free(network->addresses_by_section);
|
||||
hashmap_free(network->routes_by_section);
|
||||
ordered_hashmap_free(network->nexthops_by_section);
|
||||
|
||||
Reference in New Issue
Block a user