Merge pull request #184340 from jmbaur/ipv6routeprefix
nixos/systemd.network: Add `IPv6RoutePrefix` options
This commit is contained in:
commit
087fa6565d
1 changed files with 40 additions and 0 deletions
|
@ -879,6 +879,15 @@ let
|
|||
(assertValueOneOf "OnLink" boolValues)
|
||||
];
|
||||
|
||||
sectionIPv6RoutePrefix = checkUnitConfig "IPv6RoutePrefix" [
|
||||
(assertOnlyFields [
|
||||
"Route"
|
||||
"LifetimeSec"
|
||||
])
|
||||
(assertHasField "Route")
|
||||
(assertInt "LifetimeSec")
|
||||
];
|
||||
|
||||
sectionDHCPServerStaticLease = checkUnitConfig "DHCPServerStaticLease" [
|
||||
(assertOnlyFields [
|
||||
"MACAddress"
|
||||
|
@ -1242,6 +1251,22 @@ let
|
|||
};
|
||||
};
|
||||
|
||||
ipv6RoutePrefixOptions = {
|
||||
options = {
|
||||
ipv6RoutePrefixConfig = mkOption {
|
||||
default = {};
|
||||
example = { Route = "fd00::/64"; };
|
||||
type = types.addCheck (types.attrsOf unitOption) check.network.sectionIPv6RoutePrefix;
|
||||
description = ''
|
||||
Each attribute in this set specifies an option in the
|
||||
<literal>[IPv6RoutePrefix]</literal> section of the unit. See
|
||||
<citerefentry><refentrytitle>systemd.network</refentrytitle>
|
||||
<manvolnum>5</manvolnum></citerefentry> for details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
dhcpServerStaticLeaseOptions = {
|
||||
options = {
|
||||
dhcpServerStaticLeaseConfig = mkOption {
|
||||
|
@ -1384,6 +1409,17 @@ let
|
|||
'';
|
||||
};
|
||||
|
||||
ipv6RoutePrefixes = mkOption {
|
||||
default = [];
|
||||
example = [ { Route = "fd00::/64"; LifetimeSec = 3600; } ];
|
||||
type = with types; listOf (submodule ipv6RoutePrefixOptions);
|
||||
description = ''
|
||||
A list of ipv6RoutePrefix sections to be added to the unit. See
|
||||
<citerefentry><refentrytitle>systemd.network</refentrytitle>
|
||||
<manvolnum>5</manvolnum></citerefentry> for details.
|
||||
'';
|
||||
};
|
||||
|
||||
name = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
|
@ -1775,6 +1811,10 @@ let
|
|||
[IPv6Prefix]
|
||||
${attrsToSection x.ipv6PrefixConfig}
|
||||
'')
|
||||
+ flip concatMapStrings def.ipv6RoutePrefixes (x: ''
|
||||
[IPv6RoutePrefix]
|
||||
${attrsToSection x.ipv6RoutePrefixConfig}
|
||||
'')
|
||||
+ flip concatMapStrings def.dhcpServerStaticLeases (x: ''
|
||||
[DHCPServerStaticLease]
|
||||
${attrsToSection x.dhcpServerStaticLeaseConfig}
|
||||
|
|
Loading…
Reference in a new issue