Commit graph

63 commits

Author SHA1 Message Date
Robin Gloster a32b6d5c9a
networking.routes: static routes are proto static 2018-05-22 14:30:53 +02:00
Matthew Justin Bauer 9c66871784
Merge pull request #38094 from volth/patch-120
nixos/network-scripted: print error details
2018-04-08 21:27:38 -05:00
volth dd9f776509
network-interfaces-scripted: wlanInterfaces have .device, no "${dev}-netdev.service" 2018-04-03 20:00:12 +00:00
volth a6c8e48840
nixos/network-scripted: print error details 2018-03-30 01:18:18 +00:00
Frederik Rietdijk 8bcdb39a27
Merge pull request #27678 from volth/restore-bridge-slaves-dynamically-added-by-libvirt
nixos/networking-scripted: restore bridge slaves dynamically added by…
2018-03-05 17:31:22 +00:00
Franz Pletz 17952ee589
Merge pull request #35141 from abbradar/dhcpcd-order
dhcpcd service: fix service dependencies when default gateways are set
2018-02-20 16:07:49 +00:00
Nikolay Amiantov d77984f571 network-interfaces-scripted service: delay setup if IPv6 is disabled
Even if IPv6 gateway is set, there's no need to set it early if IPv6 is disabled.
2018-02-19 23:33:54 +03:00
rnhmjoj c1bed05e34
nixos/networking-interfaces: rename IP addresses/routes options 2018-02-17 14:01:24 +01:00
rnhmjoj f41111c4da
nixos/tests: add test for static routes 2018-02-17 14:01:23 +01:00
rnhmjoj d00c91c5da
nixos/networking-interfaces: make static routes configurable 2018-02-17 13:57:58 +01:00
rnhmjoj 46c158a32f
nixos/networking-interfaces: set default value for virtualType 2018-01-31 05:51:09 +01:00
Bas van Dijk 07e0c0e0a2 network-interfaces-scripted: fix NixOS/nixops#640
Reverse the PartOf dependency between network-setup and network-addresses-*

This was joint work of: @nh2, @domenkozar, @fpletz, @aszlig and @basvandijk
at the NixCon 2017 hackathon.
2017-10-30 20:45:32 +01:00
Franz Pletz d0435ba032
network-interfaces: device routes for default gateway
Iff interface is set, it makes sense to add device route by default.
2017-09-28 02:14:07 +02:00
Franz Pletz 263185aa68
nixos/network-interfaces: ensure slave interfaces are up
Fixes #28620.
2017-09-25 14:06:38 +02:00
Franz Pletz 13a110e696
nixos/network-interfaces: cannot delay device units
Systemd is complaining that it can't delay the startup of device units.
We have a before dependency on the respective device unit for every
netdev service, which doesn't make any sense because we create the
actual interface in this service.
2017-09-25 14:06:38 +02:00
Franz Pletz 3a670daa98
nixos/network-interfaces: IPs must always be set
Previously, depending on the environment and the type of interface that
was created, the configured IPs of an interface wouldn't be applied on a
nixos-rebuild switch. It works after a reboot.

This patch ensures that the network-addresses service is started
either via the network-link service or if the networking target is
activated (i.e. on system activation).

Fixes #28474 #16230.
2017-09-25 14:06:38 +02:00
Peter Simons 99f759de1c Revert "nixos: add option for bind to not resolve local queries (#29503)"
This reverts commit 670b4e29adc16e0a29aa5b4c126703dcca56aeb6. The change
added in this commit was controversial when it was originally suggested
in https://github.com/NixOS/nixpkgs/pull/29205. Then that PR was closed
and a new one opened, https://github.com/NixOS/nixpkgs/pull/29503,
effectively circumventing the review process. I don't agree with this
modification. Adding an option 'resolveLocalQueries' to tell the locally
running name server that it should resolve local DNS queries feels
outright nuts. I agree that the current state is unsatisfactory and that
it should be improved, but this is not the right way.

(cherry picked from commit 23a021d12e8f939cd0bfddb1c7adeb125028c1e3)
2017-09-23 16:41:34 +02:00
gwitmond bd52618c9d
nixos: add option for bind to not resolve local queries (#29503)
When the user specifies the networking.nameservers setting in the
configuration file, it must take precedence over automatically
derived settings.

The culprit was services.bind that made the resolver set to
127.0.0.1 and ignore the nameserver setting.

This patch adds a flag to services.bind to override the nameserver
to localhost. It defaults to true. Setting this to false prevents the
service.bind and dnsmasq.resolveLocalQueries settings from
overriding the users' settings.

Also, when the user specifies a domain to search, it must be set in
the resolver configuration, even if the user does not specify any
nameservers.

(cherry picked from commit 670b4e29adc16e0a29aa5b4c126703dcca56aeb6)

This commit was accidentally merged to 17.09 but was intended for
master. This is the cherry-pick to master.
2017-09-18 22:54:29 +02:00
Franz Pletz b179908414
nixos/networking: network is online if default gw set
Previously services depending on network-online.target would wait until
dhcpcd times out if it was enabled and a static network address
configuration was used. Setting the default gateway statically is enough
for the networking to be considered online.

This also adjusts the relevant networking tests to wait for
network-online.target instead of just network.target.
2017-09-18 14:51:38 +02:00
Jörg Thalheim 5d4a54ca4d network-interfaces-scripted: don't add 'lo' as device dependency
systemd does not create device units for loopback devices,
since they are not physical.
2017-08-30 13:01:47 +02:00
Volth e123631ed3 add separator in case if a VM connected to more than 1 bridge 2017-08-21 16:52:27 +00:00
Volth d48b12c27c support lxc:/// and ignore weird bridges (like openvswitch) 2017-08-01 10:30:58 +00:00
Volth 10cbb52ae7 nixos/networking-scripted: restore bridge slaves dynamically added by libvirt 2017-07-27 05:58:25 +00:00
Markus Mueller 5042e9d009
network-interfaces-scripted: Add static parameter for default gateway 2017-04-16 22:59:53 +02:00
Eelco Dolstra 01dbf03628
network-link-*.service: Set stopIfChanged = false
This reduces the time window during which IP addresses are gone during
switch-to-configuration. A complication is that with stopIfChanged =
true, preStop would try to delete the *new* IP addresses rather than
the old one (since the preStop script now runs after the switch to the
new configuration). So we now record the actually configured addresses
in /run/nixos/network/addresses/<interface>. This is more robust in
any case.

Issue https://github.com/NixOS/nixops/issues/640.
2017-04-04 15:13:49 +02:00
Arnold Krille 68729958e8
network-interfaces: reload bridges on conf changes
And adopt the tests to add an interface and remove it again.

It should work when deactivating rstp, it will not work when activating
rstp for the first bridge as then the userspace daemon is not yet
available. But once one bridge is active with stp, it should work with
the reload for any further bridge.

Fixes #21745. Also see #22547.
2017-03-26 18:47:43 +02:00
Jan Malakhovski 55996b8daf nixos: network-interfaces-scripted: don't require mstpd when rstp is off 2017-03-05 14:40:59 +00:00
Franz Pletz c4c23f36ca Merge pull request #22727 from mayflower/fix/netdev-master-bindsto
network-interfaces service: fix bindsTo deps for masters
2017-02-18 13:37:50 +01:00
Franz Pletz 741770c99a
network-interface service: tuntap ifs have netdev services 2017-02-18 13:36:37 +01:00
Profpatsch 9debdaf512 networking.bonds: add support for arbitrary driverOptions
Until now the four attributes available very selectively provided a small
subset, while copying upstream documentation.

We make driver options an arbitrary key-value set and point to kernel
documentation, which is always up-to-date. This way every option can be set.
The four already existing options are deprecated with a warning.
2017-02-16 21:24:40 +01:00
Franz Pletz 76a3c30471
network-interfaces service: fix bindsTo deps for masters
Previously, netdev units for network interfaces defined in the nixos
configurations would bindTo the systemd device unit of the interface if
not in a container.

In situations where you switch to a new nixos configration with changes
to network-setup.service (like nameservers) and have stacked interfaces
like vlans on a bond, it would fail to propagate restarts to the netdevs
correctly resulting with broken networking. The bond would be present
but no vlan interfaces rendering the machine unreachable.

My fear is that the udev events fail to propagate correctly while a systemd
transaction that is also restarting the triggered netdev service is running.
This commit changes this behaviour so netdev services bindTo other netdev
services if present and otherwise fall back to the previous behaviour.

We also noticed that stacked interfaces would sometimes seemingly be stopped
in the wrong order. For instance in the above example, the bond interface
would be deleted before the vlan interfaces resulting in the vlan interfaces
not being present when their service is being stopped. This would cause the
systemd transaction to fail and thus break networking. Their postStop hooks
are now allowed to fail as we have reached the desired state.
2017-02-13 01:57:25 +01:00
Franz Pletz 3fd44e2912
network-interfaces service: add metric option for defaultGateways 2017-02-11 04:53:56 +01:00
Nikolay Amiantov 0cb487ee04 network-interfaces service: add defaultGateway{,6}.interface 2017-02-02 01:53:00 +03:00
Arnold Krille f16f4daa5b sit interfaces: fix dependency tracking 2016-10-12 00:16:34 +02:00
Jörg Thalheim 550df4dc47 nixos network: fix evaluation after #19128 2016-10-12 00:06:34 +02:00
Arnold Krille cc91f274e0 containers: Improve device dependency tracking
Now the tracking works with aggregated devices on aggregated devices.

So container with physical device where the device is put in a bond
which is the basis for a bridge is now handled correctly.
2016-10-08 22:28:49 +02:00
Arnold Krille f0492bd53c containers: Do not wait for udev for network devices
Test that adding physical devices to containers works, find that network setup
then doesn't work because there is no udev in the container to tell systemd
that the device is present.
Fixed by not depending on the device in the container.

Activate the new container test for release

Bonds, bridges and other network devices need the underlying not as
dependency when used inside the container. Because the device is already
there.

But the address configuration needs the aggregated device itself.
2016-10-08 22:09:22 +02:00
Joachim Fasting fc0dc65f41 network-interfaces-scripted: DefaultDependencies is a unitConfig
Ref: 072c1dcc4a
2016-10-02 15:52:20 +02:00
Alexander Ried 072c1dcc4a network-interfaces-scripted: rework dependencies 2016-09-13 11:19:23 +02:00
Franz Pletz c58654e2b7
treewide: fix fallout of ip-up deprecation
See #18319 for details. Starting network-online.target manually does not
work as it hangs indefinitely.

Additionally, don't treat avahi and dhcpcd special and sync their systemd units
with the respective upstream suggestion.
2016-09-11 08:13:04 +02:00
Alexander Ried 27bc34f1e4 treewide: deprecate ip-up.target (#18319)
Systemd upstream provides targets for networking. This also includes a target network-online.target.

In this PR I remove / replace most occurrences since some of them were even wrong and could delay startup.
2016-09-10 18:03:59 +02:00
Eelco Dolstra 928035378d Fix typo 2016-02-12 14:35:40 +01:00
Timofei Kushnir 5925f9f709 Network script module fix 2015-12-25 03:43:49 +03:00
Thomas Strobel 881ec1efb8 networking module: vswitches: re-structure dependencies to systemd units 2015-10-06 20:12:39 +02:00
Thomas Strobel 59bc47c9ed nixos networking: add vswitch option
Add a configuration option for Open vSwitch that is
similar to the option for the Linux kernel ethernet
bridge.
2015-09-25 11:55:27 +02:00
Eelco Dolstra d5f187de03 Typo 2015-04-20 16:12:28 +02:00
William A. Kennington III 8e5ef7da54 nixos/network-interfaces: Fix rstp support 2015-01-14 10:34:28 -08:00
William A. Kennington III 9a7766e054 nixos/network-interfaces: Add mstpd support for bridges 2015-01-07 14:49:24 -08:00
William A. Kennington III 1036c66d43 nixos/network-interfaces: Add ipv6 gateway support 2014-12-17 17:56:29 -08:00
Shea Levy 10751129d0 Don't require forcing utils to get to lib 2014-12-10 19:28:45 -05:00