Merge pull request #178046 from ncfavier/networkd-default-improvements

nixos/networkd: default DHCP network improvements
This commit is contained in:
Bernardo Meurer 2022-06-21 12:07:16 -04:00 committed by GitHub
commit d427d9c8e4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 8 deletions

View file

@ -8993,7 +8993,7 @@
githubId = 4323933; githubId = 4323933;
name = "Naïm Favier"; name = "Naïm Favier";
keys = [{ keys = [{
fingerprint = "51A0 705E 7DD2 3CBC 5EAA B43E 49B0 7322 580B 7EE2"; fingerprint = "F3EB 4BBB 4E71 99BC 299C D4E9 95AF CE82 1190 8325";
}]; }];
}; };
nckx = { nckx = {

View file

@ -88,20 +88,22 @@ in
# more likely to result in interfaces being configured to # more likely to result in interfaces being configured to
# use DHCP when they shouldn't. # use DHCP when they shouldn't.
# We set RequiredForOnline to false, because it's fairly # When wait-online.anyInterface is enabled, RequiredForOnline really
# common for such devices to have multiple interfaces and # means "sufficient for online", so we can enable it.
# only one of them to be connected (e.g. a laptop with # Otherwise, don't block the network coming online because of default networks.
# ethernet and WiFi interfaces). Maybe one day networkd will
# support "any"-style RequiredForOnline...
matchConfig.Name = ["en*" "eth*"]; matchConfig.Name = ["en*" "eth*"];
DHCP = "yes"; DHCP = "yes";
linkConfig.RequiredForOnline = lib.mkDefault false; linkConfig.RequiredForOnline =
lib.mkDefault config.systemd.network.wait-online.anyInterface;
networkConfig.IPv6PrivacyExtensions = "kernel";
}; };
networks."99-wireless-client-dhcp" = lib.mkIf cfg.useDHCP { networks."99-wireless-client-dhcp" = lib.mkIf cfg.useDHCP {
# Like above, but this is much more likely to be correct. # Like above, but this is much more likely to be correct.
matchConfig.WLANInterfaceType = "station"; matchConfig.WLANInterfaceType = "station";
DHCP = "yes"; DHCP = "yes";
linkConfig.RequiredForOnline = lib.mkDefault false; linkConfig.RequiredForOnline =
lib.mkDefault config.systemd.network.wait-online.anyInterface;
networkConfig.IPv6PrivacyExtensions = "kernel";
# We also set the route metric to one more than the default # We also set the route metric to one more than the default
# of 1024, so that Ethernet is preferred if both are # of 1024, so that Ethernet is preferred if both are
# available. # available.