static lacp bond for 10g interfaces

This commit is contained in:
Joseph Hanson 2024-12-29 04:12:40 -06:00
parent 71335a95d2
commit 267cb91ee8
3 changed files with 47 additions and 9 deletions

View file

@ -53,13 +53,6 @@ in
networking = {
hostName = "shadowfax";
hostId = "a885fabe";
useDHCP = false; # needed for bridge
networkmanager.enable = true;
firewall.enable = false;
interfaces = {
"enp36s0f0".useDHCP = true;
"enp36s0f1".useDHCP = false;
};
};
# Home Manager

View file

@ -40,7 +40,6 @@ with lib;
smartmontools
];
networking.useDHCP = lib.mkDefault true;
networking.domain = config.mySystem.domain;
};

View file

@ -23,6 +23,52 @@
security.wheelNeedsSudoPassword = false;
};
networking.useDHCP = lib.mkDefault true;
systemd.network = {
enable = true;
# Create bond0 device
netdevs = {
"10-bond0" = {
netdevConfig = {
Kind = "bond";
Name = "bond0";
};
bondConfig = {
Mode = "802.3ad";
TransmitHashPolicy = "layer3+4";
LACPTransmitRate = "fast";
MIIMonitorSec = "100ms";
};
};
};
# Attach nics to bond0
networks = {
"30-enp36s0f0" = {
matchConfig.Name = "enp36s0f0";
networkConfig.Bond = "bond0";
};
"30-enp36s0f1" = {
matchConfig.Name = "enp36s0f1";
networkConfig.Bond = "bond0";
};
"40-bond0" = {
matchConfig.Name = "bond0";
address = [ "10.1.1.61/24" ];
routes = [
{ Gateway = "10.1.1.1"; }
];
networkConfig = {
LinkLocalAddressing = "no";
DNS = "10.1.1.1";
Domains = "hsn.internal";
};
linkConfig.RequiredForOnline = "routable";
};
};
};
networking = {
useDHCP = lib.mkDefault false;
nftables.enable = true;
};
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}