summary refs log tree commit diff
path: root/nixos/modules/tasks
diff options
context:
space:
mode:
authorFlorian Jacob <projects+git@florianjacob.de>2017-10-05 15:05:30 +0200
committerFlorian Jacob <projects+git@florianjacob.de>2017-10-05 15:49:49 +0200
commit6091e2aa3355ac0cab30ef024b9d977111d479d8 (patch)
treec14606b87fe5eef2de6bc23c3efd3e837282c36b /nixos/modules/tasks
parent77caf8f5f249d95ae0f3bc3d4e77ed2383ef74c2 (diff)
downloadnixlib-6091e2aa3355ac0cab30ef024b9d977111d479d8.tar
nixlib-6091e2aa3355ac0cab30ef024b9d977111d479d8.tar.gz
nixlib-6091e2aa3355ac0cab30ef024b9d977111d479d8.tar.bz2
nixlib-6091e2aa3355ac0cab30ef024b9d977111d479d8.tar.lz
nixlib-6091e2aa3355ac0cab30ef024b9d977111d479d8.tar.xz
nixlib-6091e2aa3355ac0cab30ef024b9d977111d479d8.tar.zst
nixlib-6091e2aa3355ac0cab30ef024b9d977111d479d8.zip
nixos/network-interfaces: assertion for too long interface names
Diffstat (limited to 'nixos/modules/tasks')
-rw-r--r--nixos/modules/tasks/network-interfaces.nix8
1 files changed, 8 insertions, 0 deletions
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index 8ce7b2d2cf36..1741d2c7e1f7 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -924,6 +924,14 @@ in
       (flip map interfaces (i: {
         assertion = i.subnetMask == null;
         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: {
         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.";