nixos/network-interfaces: assertion for too long interface names

This commit is contained in:
Florian Jacob 2017-10-05 15:05:30 +02:00
parent 77caf8f5f2
commit 6091e2aa33

View File

@ -924,6 +924,14 @@ in
(flip map interfaces (i: { (flip map interfaces (i: {
assertion = i.subnetMask == null; assertion = i.subnetMask == null;
message = "The networking.interfaces.${i.name}.subnetMask option is defunct. Use prefixLength instead."; message = "The networking.interfaces.${i.name}.subnetMask option is defunct. Use prefixLength instead.";
})) ++ (flip map interfaces (i: {
# With the linux kernel, interface name length is limited by IFNAMSIZ
# to 16 bytes, including the trailing null byte.
# See include/linux/if.h in the kernel sources
assertion = stringLength i.name < 16;
message = ''
The name of networking.interfaces."${i.name}" is too long, it needs to be less than 16 characters.
'';
})) ++ (flip map slaveIfs (i: { })) ++ (flip map slaveIfs (i: {
assertion = i.ip4 == [ ] && i.ipAddress == null && i.ip6 == [ ] && i.ipv6Address == null; assertion = i.ip4 == [ ] && i.ipAddress == null && i.ip6 == [ ] && i.ipv6Address == null;
message = "The networking.interfaces.${i.name} must not have any defined ips when it is a slave."; message = "The networking.interfaces.${i.name} must not have any defined ips when it is a slave.";