From d9e1963a158f38b95a21171a0ed400a2c2575b7a Mon Sep 17 00:00:00 2001 From: apfelkuchen06 Date: Tue, 28 Feb 2023 00:06:40 +0100 Subject: [PATCH] nixos/networkd: add BFIFO options --- nixos/modules/system/boot/networkd.nix | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix index 21dc14be511..99c72e84519 100644 --- a/nixos/modules/system/boot/networkd.nix +++ b/nixos/modules/system/boot/networkd.nix @@ -1173,6 +1173,14 @@ let (assertInt "PerturbPeriodSec") ]; + sectionBFIFO = checkUnitConfig "BFIFO" [ + (assertOnlyFields [ + "Parent" + "Handle" + "LimitBytes" + ]) + ]; + }; sectionPFIFO = checkUnitConfig "PFIFO" [ (assertOnlyFields [ "Parent" @@ -1927,6 +1935,17 @@ let ''; }; + bfifoConfig = mkOption { + default = {}; + example = { Parent = "ingress"; LimitBytes = "20K"; }; + type = types.addCheck (types.attrsOf unitOption) check.network.sectionBFIFO; + description = lib.mdDoc '' + Each attribute in this set specifies an option in the + `[BFIFO]` section of the unit. See + {manpage}`systemd.network(5)` for details. + ''; + }; + pfifoConfig = mkOption { default = {}; example = { Parent = "ingress"; PacketLimit = "300"; }; @@ -2397,6 +2416,10 @@ let [StochasticFairnessQueueing] ${attrsToSection def.stochasticFairnessQueueingConfig} '' + + optionalString (def.bfifoConfig != { }) '' + [BFIFO] + ${attrsToSection def.bfifoConfig} + '' + optionalString (def.pfifoConfig != { }) '' [PFIFO] ${attrsToSection def.pfifoConfig}