diff options
author | Profpatsch <mail@profpatsch.de> | 2017-02-02 22:21:03 +0100 |
---|---|---|
committer | Profpatsch <mail@profpatsch.de> | 2017-02-16 21:24:40 +0100 |
commit | 9debdaf512bc510f7f5d5450c4902e7d1f713274 (patch) | |
tree | 95047796efb8103b3192cd94a900b54235a9d4cc /nixos/modules/tasks/network-interfaces.nix | |
parent | 03024b39b7d4b94724faa1a62f21aed3531bb35a (diff) | |
download | nixlib-9debdaf512bc510f7f5d5450c4902e7d1f713274.tar nixlib-9debdaf512bc510f7f5d5450c4902e7d1f713274.tar.gz nixlib-9debdaf512bc510f7f5d5450c4902e7d1f713274.tar.bz2 nixlib-9debdaf512bc510f7f5d5450c4902e7d1f713274.tar.lz nixlib-9debdaf512bc510f7f5d5450c4902e7d1f713274.tar.xz nixlib-9debdaf512bc510f7f5d5450c4902e7d1f713274.tar.zst nixlib-9debdaf512bc510f7f5d5450c4902e7d1f713274.zip |
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.
Diffstat (limited to 'nixos/modules/tasks/network-interfaces.nix')
-rw-r--r-- | nixos/modules/tasks/network-interfaces.nix | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 28c7b358093d..898207ef7a3c 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -587,11 +587,28 @@ in description = "The interfaces to bond together"; }; + driverOptions = mkOption { + type = types.attrsOf types.str; + default = {}; + example = literalExample { + interfaces = [ "eth0" "wlan0" ]; + miimon = 100; + mode = "active-backup"; + }; + description = '' + Options for the bonding driver. + Documentation can be found in + <link xlink:href="https://www.kernel.org/doc/Documentation/networking/bonding.txt" /> + ''; + + }; + lacp_rate = mkOption { default = null; example = "fast"; type = types.nullOr types.str; description = '' + DEPRECATED, use `driverOptions`. Option specifying the rate in which we'll ask our link partner to transmit LACPDU packets in 802.3ad mode. ''; @@ -602,6 +619,7 @@ in example = 100; type = types.nullOr types.int; description = '' + DEPRECATED, use `driverOptions`. Miimon is the number of millisecond in between each round of polling by the device driver for failed links. By default polling is not enabled and the driver is trusted to properly detect and handle @@ -614,6 +632,7 @@ in example = "active-backup"; type = types.nullOr types.str; description = '' + DEPRECATED, use `driverOptions`. The mode which the bond will be running. The default mode for the bonding driver is balance-rr, optimizing for throughput. More information about valid modes can be found at @@ -626,6 +645,7 @@ in example = "layer2+3"; type = types.nullOr types.str; description = '' + DEPRECATED, use `driverOptions`. Selects the transmit hash policy to use for slave selection in balance-xor, 802.3ad, and tlb modes. ''; |