network: Change IgnoreCarrierLoss default to value of ConfigureWithoutCarrier

It doesn't make much sense to have ConfigureWithoutCarrier set, but not
IgnoreCarrierLoss; all the configuration added during initial interface
bring-up will be lost at the first carrier up/down.
This commit is contained in:
Dan Streetman 2020-04-27 06:38:40 -04:00
parent 253acc229c
commit bd0d471c8f
4 changed files with 12 additions and 5 deletions

View File

@ -828,15 +828,17 @@
<term><varname>ConfigureWithoutCarrier=</varname></term> <term><varname>ConfigureWithoutCarrier=</varname></term>
<listitem> <listitem>
<para>Takes a boolean. Allows networkd to configure a specific link even if it has no carrier. <para>Takes a boolean. Allows networkd to configure a specific link even if it has no carrier.
Defaults to false. Defaults to false. If <option>IgnoreCarrierLoss=</option> is not explicitly set, it will
default to this value.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><varname>IgnoreCarrierLoss=</varname></term> <term><varname>IgnoreCarrierLoss=</varname></term>
<listitem> <listitem>
<para>A boolean. Allows networkd to retain both the static and dynamic configuration of the <para>Takes a boolean. Allows networkd to retain both the static and dynamic configuration
interface even if its carrier is lost. Defaults to false. of the interface even if its carrier is lost. When unset, the value specified with
<option>ConfigureWithoutCarrier=</option> is used.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>

View File

@ -102,7 +102,7 @@ Network.ProxyARP, config_parse_tristate,
Network.IPv6ProxyNDPAddress, config_parse_ipv6_proxy_ndp_address, 0, 0 Network.IPv6ProxyNDPAddress, config_parse_ipv6_proxy_ndp_address, 0, 0
Network.BindCarrier, config_parse_strv, 0, offsetof(Network, bind_carrier) Network.BindCarrier, config_parse_strv, 0, offsetof(Network, bind_carrier)
Network.ConfigureWithoutCarrier, config_parse_bool, 0, offsetof(Network, configure_without_carrier) Network.ConfigureWithoutCarrier, config_parse_bool, 0, offsetof(Network, configure_without_carrier)
Network.IgnoreCarrierLoss, config_parse_bool, 0, offsetof(Network, ignore_carrier_loss) Network.IgnoreCarrierLoss, config_parse_tristate, 0, offsetof(Network, ignore_carrier_loss)
Network.KeepConfiguration, config_parse_keep_configuration, 0, offsetof(Network, keep_configuration) Network.KeepConfiguration, config_parse_keep_configuration, 0, offsetof(Network, keep_configuration)
Address.Address, config_parse_address, 0, 0 Address.Address, config_parse_address, 0, 0
Address.Peer, config_parse_address, 0, 0 Address.Peer, config_parse_address, 0, 0

View File

@ -271,6 +271,9 @@ int network_verify(Network *network) {
if (network->dhcp_use_gateway < 0) if (network->dhcp_use_gateway < 0)
network->dhcp_use_gateway = network->dhcp_use_routes; network->dhcp_use_gateway = network->dhcp_use_routes;
if (network->ignore_carrier_loss < 0)
network->ignore_carrier_loss = network->configure_without_carrier;
if (network->dhcp_critical >= 0) { if (network->dhcp_critical >= 0) {
if (network->keep_configuration >= 0) if (network->keep_configuration >= 0)
log_warning("%s: Both KeepConfiguration= and deprecated CriticalConnection= are set. " log_warning("%s: Both KeepConfiguration= and deprecated CriticalConnection= are set. "
@ -460,6 +463,8 @@ int network_load_one(Manager *manager, OrderedHashmap **networks, const char *fi
.ipv6_accept_ra_route_table_set = false, .ipv6_accept_ra_route_table_set = false,
.ipv6_accept_ra_start_dhcp6_client = true, .ipv6_accept_ra_start_dhcp6_client = true,
.configure_without_carrier = false,
.ignore_carrier_loss = -1,
.keep_configuration = _KEEP_CONFIGURATION_INVALID, .keep_configuration = _KEEP_CONFIGURATION_INVALID,
.ipv6_address_gen_mode = _LINK_IPV6_ADDRESS_GEN_MODE_INVALID, .ipv6_address_gen_mode = _LINK_IPV6_ADDRESS_GEN_MODE_INVALID,
.can_triple_sampling = -1, .can_triple_sampling = -1,

View File

@ -257,7 +257,7 @@ struct Network {
int allmulticast; int allmulticast;
bool unmanaged; bool unmanaged;
bool configure_without_carrier; bool configure_without_carrier;
bool ignore_carrier_loss; int ignore_carrier_loss;
KeepConfiguration keep_configuration; KeepConfiguration keep_configuration;
LinkIPv6AddressGenMode ipv6_address_gen_mode; LinkIPv6AddressGenMode ipv6_address_gen_mode;
uint32_t iaid; uint32_t iaid;