Commit Graph

271 Commits

Author SHA1 Message Date
Wolfgang Walther
91a8fee3aa treewide: remove redundant parentheses
Auto-fixed by nixf-diagnose.
2025-10-05 10:52:03 +02:00
budimanjojo
59f0f1e7ea nixos/networkd: allow setting ManageForeignNextHops option
Signed-off-by: budimanjojo <budimanjojo@gmail.com>
2025-08-21 02:22:06 +07:00
nikstur
bb954cddf5 nixos/network-interfaces: let networkd handle privacy extensions
This removes bash from the mandatory system closure.
2025-08-09 00:10:13 +02:00
Wolfgang Walther
5a0711127c treewide: run nixfmt 1.0.0 2025-07-24 13:55:40 +02:00
Philip Taron
1755d9399b nixos/networkd: update valid KeepConfiguration values (#395621) 2025-06-05 16:17:48 -07:00
Charlie Moog
5781ef6de9 nixos/systemd/networkd: allow passing flow control fields to link 2025-05-03 18:18:30 +00:00
Jared Baur
d8f9c63512 nixos/networkd: update valid KeepConfiguration values
These changed with the release of systemd v257 from "dhcp*" to
"dynamic*".
2025-04-02 16:27:33 -07:00
Silvan Mosberger
374e6bcc40 treewide: Format all Nix files
Format all Nix files using the officially approved formatter,
making the CI check introduced in the previous commit succeed:

  nix-build ci -A fmt.check

This is the next step of the of the [implementation](https://github.com/NixOS/nixfmt/issues/153)
of the accepted [RFC 166](https://github.com/NixOS/rfcs/pull/166).

This commit will lead to merge conflicts for a number of PRs,
up to an estimated ~1100 (~33%) among the PRs with activity in the past 2
months, but that should be lower than what it would be without the previous
[partial treewide format](https://github.com/NixOS/nixpkgs/pull/322537).

Merge conflicts caused by this commit can now automatically be resolved while rebasing using the
[auto-rebase script](8616af08d9/maintainers/scripts/auto-rebase).

If you run into any problems regarding any of this, please reach out to the
[formatting team](https://nixos.org/community/teams/formatting/) by
pinging @NixOS/nix-formatting.
2025-04-01 20:10:43 +02:00
Fernando Rodrigues
cf4c8e97ad nixos/networkd: add new options introduced in systemd 257
The Wireguard public key can now be read from a file.

Signed-off-by: Fernando Rodrigues <alpha@sigmasquadron.net>
2025-02-17 21:51:40 +00:00
Andreas Fuchs
0c5719fe0e Don't stop systemd-{networkd,resolved,udevd} on config switch
These daemons should not be stopped, as they're foundational to a
proper functioning of the system. When switching configurations, they
only need a restart instead of that stop/start cycle.
2025-01-08 13:05:27 -05:00
Will Fancher
15be453e9a switch-to-configuration: Better handling of socket-activated units (#359724) 2025-01-04 11:51:21 -05:00
Christian Kögler
1c9a0c2c1b nixos/networkd: add RequestAddress to network sectionDHCPv4 (#366864) 2024-12-31 11:22:15 +01:00
Franz Pletz
18a943798a nixos/networkd: add NetLabel & NFTSet options 2024-12-23 12:29:58 +01:00
FlafyDev
40086fb0ea nixos/networkd: add RequestAddress to network sectionDHCPv4 2024-12-20 18:22:47 +02:00
Logan Attwood
6c324710e3 nixos/networkd: expose RapidCommit in DHCPv4 network unit section
Disabling this option is required to obtain a DHCPv4 lease from
some old/misconfigured DHCP servers. This was already exposed for
DHCPv6.
2024-12-18 01:03:54 -04:00
Franz Pletz
f9f7d7b58c nixos/networkd: use upstream wait-online@ unit (#360319) 2024-12-03 21:40:30 +01:00
Franz Pletz
357fff0f44 nixos/networkd: allow configuring RTTSec for CAKE qdisc (#285737) 2024-11-30 07:25:54 +01:00
Franz Pletz
0d48c50f4b nixos/networkd: use upstream wait-online@ unit
Use the upstream unit for systemd-networkd-wait-online@.service and fix
the spelling.
2024-11-30 07:15:46 +01:00
Franz Pletz
18cf9ad14b nixos/networkd: fix eval
Broken by #330662.
2024-11-30 07:08:18 +01:00
Franz Pletz
e383460f09 nixos/networkd: add dhcpServerConfig.PersistLeases option (#353189) 2024-11-30 06:46:51 +01:00
Franz Pletz
e5a4cc81ab nixos/networkd: add some new options in systemd 256 (#330662) 2024-11-30 06:44:55 +01:00
Andreas Fuchs
bf9c6c9861 switch-to-configuration-ng: Better handling of socket-activated units
Previously, if any unit had a socket associated with it, stc-ng
counted it as "socket-activated", meaning that the unit would get
stopped and the socket get restarted. That can wreak havoc on units
like systemd-udevd and systemd-networkd.

Instead, let units set the new flag notSocketActivated, which sets a
boolean on the unit indicating to stc-ng that the unit wants to be
treated like any other non-socket-activated unit instead. That will
stop/start or restart these units on upgrades, without unnecessarily
tearing down any machinery that the system needs to run.
2024-11-27 21:36:09 -05:00
Maximilian Bosch
06f50f4adf nixos/networkd: warn about naively replacing IPForward
See https://github.com/systemd/systemd/issues/33414.

The way this was phrased sounded like a dumb search/replace operation to
me. This resulted in random parts of my routing being broken (forward
from if X -> Y being fine, but the opposite direction being broken).

This change makes it explicit that it's a little more complicated and
you should really consult the docs before making that change.
2024-11-18 14:16:38 +01:00
Matt Perlman
42ac7b2428 nixos/networkd: add dhcpServerConfig.PersistLeases option
PersistLeases was added to networkd version 256 (https://www.freedesktop.org/software/systemd/man/latest/systemd.network.html#PersistLeases=)
2024-11-02 13:55:14 -04:00
Christian Kögler
209e69f969 networkd: add missing option SendHostname and Hostname for dhcpV6Config (#348306) 2024-11-01 21:49:04 +01:00
Christian Kögler
5082384e7d networkd: add missing option SendHostname and Hostname for dhcpV6Config 2024-10-13 18:44:25 +02:00
James Atkins
42f5ecde9d nixos/networkd: support systemd-creds in WireGuard
systemd 256 supports network.wireguard.* credentials (https://github.com/systemd/systemd/pull/30826).
Check whether PrivateKey / PresharedKey starts with an @, if so it is a credential.
2024-10-06 18:38:40 -05:00
Tom Herbers
342a47f9bc nixos/networkd: add DHCPv4 - IPv6OnlyMode toggle
The option was introduced in systemd version 255.

https://www.freedesktop.org/software/systemd/man/latest/systemd.network.html#IPv6OnlyMode=
2024-09-21 02:11:00 +02:00
Franz Pletz
83cd05ff59 Merge pull request #335976 from poscat0x04/nixos-networkd-ipv6ra 2024-08-25 01:51:36 +02:00
Felix Stupp
4b998d179f nixos/systemd.network: add support for UseDomains= in [Network] sections
Those options were also added with systemd 256, but sadly were missed out in #307068.

These options are documented in:
- [systemd 256 changelog](https://github.com/systemd/systemd/releases/tag/v256) (search for `UseDomains=`)
- [networkd.conf(5)](https://www.freedesktop.org/software/systemd/man/256/networkd.conf.html#UseDomains=)
- [systemd.network(5)](https://www.freedesktop.org/software/systemd/man/256/systemd.network.html#UseDomains=)
2024-08-21 19:48:29 +00:00
poscat
712e039585 nixos/networkd: add IPv6SendRA options added in systemd 255 2024-08-21 15:59:33 +08:00
Will Fancher
bcd1d9cf54 Merge pull request #312755 from tomfitzhenry/systemd-dhcp108
nixos/networkd: allow IPv6OnlyPreferredSec in networkd.conf
2024-08-12 19:19:34 -04:00
František Hanzlík
8b4cd01f90 nixos/networkd: allow specifying FirewallMark mask 2024-08-01 22:22:01 +02:00
Nick Cao
ee051d65f3 nixos/networkd: add L3MasterDevice option to [RoutingPolicyRule] section 2024-07-28 10:25:35 -04:00
Nick Cao
38d02e4ecd nixos/networkd add IPv4ProxyARPPrivateVLAN option to [Network] section 2024-07-28 10:25:34 -04:00
Nick Cao
402699d00e nixos/networkd: add IPv6RetransmissionTimeSec option to [Network] section 2024-07-28 10:25:33 -04:00
nikstur
d4a80b6d0c systemd: 255.6 -> 256.2 2024-07-21 06:31:37 -04:00
Franz Pletz
aa8c9e6f2d Merge pull request #317642 from melvyn2/systemd-networkd-network-options 2024-07-04 20:21:37 +02:00
Franz Pletz
a1ecdd6b1a Merge pull request #276135 from nbdd0121/netdev 2024-07-04 18:35:15 +02:00
Jared Baur
b867cc215f nixos/systemd-networkd: add PREF64 related options 2024-06-09 20:41:32 -07:00
melvyn
d4f459fa89 nixos/networkd: add new Network section options
Adds IPv4LLStartAddress, IPv4ReversePathFilter, IPv4ReversePathFilter, IPv4RouteLocalnet, and IPv4RouteLocalnet
2024-06-05 21:45:03 -07:00
Maximilian Bosch
c4fd7cf16d nixos/networkd: get rid of *Config attributes in lists
This patch is about removing `wireguardPeerConfig`,
`dhcpServerStaticLeaseConfig` - a.k.a. the
AbstractSingletonProxyFactoryBean of nixpkgs - and friends.

As a former colleague said

> worst abstraction ever

I second that. I've written enough networkd config for NixOS systems so
far to have a strong dislike. In fact, these don't even make sense:
`netdevs.wireguardPeers._.wireguardPeerConfig` will be rendered into
the key `[WireGuardPeer]` and every key from `wireguardPeerConfig` is in
there. Since it's INI, there's no place where sections on the same level
as wireguardPeerConfig fit into. Hence, get rid of it all.

For the transition, using the old way is still allowed, but gives a
warning. I think we could drop this after one release.

The tests of rosenpass and systemd-networkd-dhcpserver-static-leases
were broken on the rev before, hence they were updated, but are still
not building.
2024-05-20 17:26:42 +02:00
Tom Fitzhenry
535ceaaa0e nixos/networkd: allow IPv6OnlyPreferredSec in networkd.conf
https://www.freedesktop.org/software/systemd/man/latest/systemd.network.html#IPv6OnlyPreferredSec=

https://datatracker.ietf.org/doc/html/rfc8925
2024-05-19 10:09:14 +10:00
Ivan Trubach
37a3ad0c01 nixos/networkd: allow IPv6PrivacyExtensions in networkd.conf
This change adds support for setting IPv6PrivacyExtensions= in
systemd.network.config.networkConfig.

https://www.freedesktop.org/software/systemd/man/latest/networkd.conf.html#IPv6PrivacyExtensions=

Added in systemd version 254.
2024-04-26 10:30:19 +03:00
Astrid Yu
ed854ed0e3 nixos/networkd: add [Bridge] section to netdev conf
This setting was missing from netdev.

This commit additionally adds a test using the new
section, ensuring that STP can be enabled.
2024-04-14 15:16:44 -07:00
stuebinm
6afb255d97 nixos: remove all uses of lib.mdDoc
these changes were generated with nixq 0.0.2, by running

  nixq ">> lib.mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> Inherit >> mdDoc[remove]" --batchmode nixos/**.nix

two mentions of the mdDoc function remain in nixos/, both of which
are inside of comments.

Since lib.mdDoc is already defined as just id, this commit is a no-op as
far as Nix (and the built manual) is concerned.
2024-04-13 10:07:35 -07:00
Will Fancher
486e837cbe Merge pull request #293710 from B4dM4n/networkd-policy-rule-port-range
nixos/networkd: allow RoutingPolicyRule port ranges
2024-03-17 12:36:30 -07:00
r-vdp
4c26c97d21 nixos/networkd: add missing UseGateway key in the DHCPv4 section 2024-03-08 10:54:03 +01:00
Fabian Möller
f753e58e6e nixos/networkd: allow RoutingPolicyRule port ranges
Linux and Systemd allow port ranges to be used in routing policy rules.

https://www.freedesktop.org/software/systemd/man/latest/systemd.network.html#SourcePort=
2024-03-06 09:11:54 +01:00
Philip Taron
27d6c242ea nixos/networkd: accept true and false in addition to "yes" and "no" for DHCP= and LinkLocalAddressing=
These were the only two systemd configuration values that were missing the `boolValues ++` treatment, according to my `rg` through the codebase.
2024-02-27 08:53:32 -08:00