| 26 Jun 2025 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | Hmm, I'm creating a bridge in systemd networkd, and it won't become UP | 13:18:48 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | systemd.network = {
networks = {
"10-eth-priority" = {
matchConfig.Name = "enp196s0";
DHCP = "yes";
dhcpV4Config.RouteMetric = 1023;
dhcpV6Config.RouteMetric = 1023;
};
"30-enp196s0" = {
matchConfig.Name ="enp196s0";
linkConfig = {
Unmanaged = "yes";
};
linkConfig.RequiredForOnline = "enslaved";
networkConfig = {
Bridge = "br0";
};
};
"40-tap0" = {
matchConfig.Name ="tap0";
bridgeConfig = { };
linkConfig.RequiredForOnline = "enslaved";
networkConfig = {
Bridge = "br0";
};
};
"40-br0" = {
matchConfig.Name = "br0";
bridgeConfig = {};
linkConfig = {
RequiredForOnline = "carrier";
};
};
};
netdevs = {
"20-tap0" = {
enable = true;
netdevConfig = {
Kind = "tap";
Name = "tap0";
};
};
"20-br0" = {
enable = true;
netdevConfig = {
Kind = "bridge";
Name = "br0";
};
};
};
};
| 13:19:05 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | * systemd.network = {
networks = {
"10-eth-priority" = {
matchConfig.Name = "enp196s0";
DHCP = "yes";
dhcpV4Config.RouteMetric = 1023;
dhcpV6Config.RouteMetric = 1023;
};
"30-enp196s0" = {
matchConfig.Name ="enp196s0";
linkConfig = {
Unmanaged = "yes";
};
linkConfig.RequiredForOnline = "enslaved";
networkConfig = {
Bridge = "br0";
};
};
"40-tap0" = {
matchConfig.Name ="tap0";
bridgeConfig = { };
linkConfig.RequiredForOnline = "enslaved";
networkConfig = {
Bridge = "br0";
};
};
"40-br0" = {
matchConfig.Name = "br0";
bridgeConfig = {};
linkConfig = {
RequiredForOnline = "carrier";
};
};
};
netdevs = {
"20-tap0" = {
enable = true;
netdevConfig = {
Kind = "tap";
Name = "tap0";
};
};
"20-br0" = {
enable = true;
netdevConfig = {
Kind = "bridge";
Name = "br0";
};
};
};
};
| 13:19:06 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | ❯ networkctl
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
2 enp196s0 ether routable configured
4 wlan0 wlan routable configuring
6 tailscale0 none routable unmanaged
7 tap0 ether no-carrier configured
8 br0 bridge no-carrier configuring
| 13:19:19 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | 7: tap0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel master br0 state DOWN group default qlen 1000
link/ether 66:f4:2d:a9:1b:fb brd ff:ff:ff:ff:ff:ff
8: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 16:3d:f3:58:00:14 brd ff:ff:ff:ff:ff:ff
inet6 fe80::143d:f3ff:fe58:14/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
| 13:19:30 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | 2: enp196s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 06:e0:4c:68:00:9b brd ff:ff:ff:ff:ff:ff
altname enx06e04c68009b
inet 192.168.5.156/24 metric 1023 brd 192.168.5.255 scope global dynamic enp196s0
valid_lft 86262sec preferred_lft 86262sec
| 13:19:44 |
adamcstephens | br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> says up to me | 13:20:44 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | Why does it say state DOWN | 13:21:49 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) |  Download image.png | 13:21:59 |
adamcstephens | what does bridge link show? | 13:26:13 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | bridge link
7: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 2
| 13:26:43 |
adamcstephens | so it's not linked to your physical interface | 13:26:55 |
adamcstephens | could be why it's showing no-carrier | 13:28:12 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | But I thought it would be given I put this in the networkd config | 13:28:29 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | ...
"30-enp196s0" = {
matchConfig.Name ="enp196s0";
linkConfig = {
Unmanaged = "yes";
};
linkConfig.RequiredForOnline = "enslaved";
networkConfig = {
Bridge = "br0";
};
};
...
| 13:28:33 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | Is this not telling enp196s0 to be a slave to the bridge? | 13:29:26 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | I am really just following https://wiki.nixos.org/wiki/Systemd/networkd#Bridge | 13:29:56 |
adamcstephens | networkConfig.Bridge should yes. but I've not seen/used linkConfig.Unmanaged. Why did you add that? | 13:30:25 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | Ah, copy paste from somewhere | 13:30:38 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | https://discourse.nixos.org/t/setup-networking-between-multiple-vms/44910/2 | 13:30:44 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | I looked here first | 13:30:47 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | I'll remove it and see what happens | 13:30:50 |
adamcstephens |
When "yes", no attempts are made to bring up or configure matching links, equivalent to when there are no matching network files. Defaults to "no".
| 13:30:54 |
adamcstephens | that seems undesirable | 13:30:59 |
adamcstephens | I'd encourage reading the docs on the options you're setting :) | 13:31:52 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | In any case, removing that line didn't change the behavior | 13:32:35 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | systemd.network = {
networks = {
"10-eth-priority" = {
matchConfig.Name = "enp196s0";
DHCP = "yes";
dhcpV4Config.RouteMetric = 1023;
dhcpV6Config.RouteMetric = 1023;
};
"30-enp196s0" = {
matchConfig.Name ="enp196s0";
linkConfig.RequiredForOnline = "enslaved";
networkConfig = {
Bridge = "br0";
};
};
"40-tap0" = {
matchConfig.Name ="tap0";
bridgeConfig = { };
linkConfig.RequiredForOnline = "enslaved";
networkConfig = {
Bridge = "br0";
};
};
"40-br0" = {
matchConfig.Name = "br0";
bridgeConfig = {};
linkConfig = {
RequiredForOnline = "carrier";
};
};
};
netdevs = {
"20-tap0" = {
enable = true;
netdevConfig = {
Kind = "tap";
Name = "tap0";
};
};
"20-br0" = {
enable = true;
netdevConfig = {
Kind = "bridge";
Name = "br0";
};
};
};
};
| 13:33:02 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | Is there some state in the network stack that can only be fixed by rebooting now? | 13:34:00 |
adamcstephens | there can be changes that are easiest fixed by rebooting, yes. | 13:34:58 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | Nope, a reboot did not change this state | 13:40:26 |