Re: Switching from trunk(4) to aggr(4)
On Wed, 16 Dec 2020 15:04:36 +1000, David Gwynne wrote: > By default LACP only sends packets every 30 seconds. Did you run > tcpdump for long enough to make sure you saw at least one? If you get > rid of "-D in" do you see the LACP packets that OpenBSD is > transmitting? You were right, I didn't wait long enough. (I didn't know about the "every 30 seconds"). But I tried again and I never saw them with -D in, and with -D out I saw the one from OpenBSD. > Alternatively your switch is configured with a static aggregation, > ie, what the "loadbalance" in trunk(4) does. You were right again. As I didn't see the LACP packets, I looked more carefully and yeah it appeared it was not configured as a LACP trunk. I deleted the trunk and recreated it (it was immutable) and now aggr0 is active. Yay! I thought that since trunk0 in lacp mode was working, it meant the switch was correctly configured. Out of curiosity, I tried the commands from sthen, and indeed now they show something: TL-SG3216#show lacp internal Flags: S - Device is requesting Slow LACPDUs F - Device is requesting Fast LACPDUs A - Device is in active mode P - Device is in passive mode Channel group 1 LACP port Admin OperPortPort Port Flags State Priority Key Key Number State Gi1/0/2 SA Up32768 0x1 0x345 0x2 0x4d Gi1/0/4 SA Up32768 0x1 0x345 0x4 0x4d Gi1/0/6 SA Up32768 0x1 0x345 0x6 0x4d TL-SG3216#show lacp neighbor Flags: S - Device is requesting Slow LACPDUs F - Device is requesting Fast LACPDUs A - Device is in active mode P - Device is in passive mode Channel group 1 LACP port Admin Oper PortPort Port Flags Priority Dev ID KeyKeyNumber State Gi1/0/2 SP 0 .. 0 0 0 0 Gi1/0/4 SP 0 .. 0 0 0 0 Gi1/0/6 SP 0 .. 0 0 0 0 Thank you very much! Daniel
Re: Switching from trunk(4) to aggr(4)
On Tue, Dec 15, 2020 at 06:43:12PM -0500, Daniel Jakots wrote: > On Tue, 15 Dec 2020 14:30:16 +1000, David Gwynne > wrote: > > > Can you try tcpdump -p -veni em0 -D in and see if any LACP packets > > appear to come in on the port? If not, can you remove the -p and see > > if em0 starts to work? > > > > There are two main differences between how aggr(4) and trunk(4) > > works. The first you've already found, which is that trunk(4) uses > > the address from one of the ports it's given, while aggr(4) generates > > one when it's created. The second difference is that trunk(4) makes > > member ports promisc, while aggr(4) tries to be a lot more precise > > and takes care to program the ports properly. This means that in your > > environment em(4) has to support changing it's MAC address to the one > > provided by aggr(4), and it has to support joining multicast groups > > properly, including the one that LACP packets are sent to. > > > > tcpdump with -p means that it won't make the interface promiscuous. > > If you don't see LACP packets come in while the port is promisc, that > > means the multicast filter isn't working properly. It should start > > working if you're running tcpdump without -p on the em(4) ports, or > > on aggr(4) itself. > > > Thanks for your reply! > > Here's what I did (spoiler alert, I couldn't get aggr0 to work): > > I switched back the hostname files, and rebooted. > > During boot: > > starting network > aggr0 em0 trunkport: creating port > aggr0 em0 mux: BEGIN (BEGIN) -> DETACHED > aggr0 em0 rxm: BEGIN (BEGIN) -> INITIALIZE > aggr0 em0 rxm: INITIALIZE (UCT) -> PORT_DISABLED > aggr0 em1 trunkport: creating port > aggr0 em1 mux: BEGIN (BEGIN) -> DETACHED > aggr0 em1 rxm: BEGIN (BEGIN) -> INITIALIZE > aggr0 em1 rxm: INITIALIZE (UCT) -> PORT_DISABLED > aggr0 em2 trunkport: creating port > aggr0 em2 mux: BEGIN (BEGIN) -> DETACHED > aggr0 em2 rxm: BEGIN (BEGIN) -> INITIALIZE > aggr0 em2 rxm: INITIALIZE (UCT) -> PORT_DISABLED > vlan10: no linkaggr0 em0 rxm: PORT_DISABLED (port_enabled) -> > EXPIRED .aggr0 em2 rxm: PORT_DISABLED (port_enabled) -> EXPIRED > aggr0 em1 rxm: PORT_DISABLED (port_enabled) -> EXPIRED > ..aggr0 em0 rxm: EXPIRED (current_while_timer expired) -> DEFAULTED > aggr0 em2 rxm: EXPIRED (current_while_timer expired) -> DEFAULTED > aggr0 em1 rxm: EXPIRED (current_while_timer expired) -> DEFAULTED > ... sleeping > > root@pancake:~# tcpdump -p -veni em0 -D in > tcpdump: listening on em0, link-type EN10MB > 18:04:03.996369 80:56:f2:b7:9c:09 ff:ff:ff:ff:ff:ff 8100 60: 802.1Q vid 70 > pri 1 arp who-has 10.70.70.254 tell 10.70.70.101 > 18:04:04.016123 00:17:10:8e:44:a5 ff:ff:ff:ff:ff:ff 8100 64: 802.1Q vid 10 > pri 1 arp who-has 24.48.69.20 tell 24.48.69.1 > 18:04:04.034874 00:17:10:8e:44:a5 ff:ff:ff:ff:ff:ff 8100 64: 802.1Q vid 10 > pri 1 arp who-has 24.48.69.109 tell 24.48.69.1 > > (vlan10 is my uplink to my isp's modem), I didn't have anything but > those arp who-has. > > root@pancake:~# ifconfig aggr0 -> still no carrier > > root@pancake:~# tcpdump -veni em0 -D in > tcpdump: listening on em0, link-type EN10MB > 18:05:11.247455 52:54:00:06:aa:01 00:0d:b9:43:9f:fc 8100 1423: 802.1Q vid 20 > pri 1 10.10.10.44.5638 > 198.48.202.251.25826: udp 1377 (ttl 64, id 2495, len > 1405) > 18:05:11.248427 52:54:00:06:aa:01 00:0d:b9:43:9f:fc 8100 1390: 802.1Q vid 20 > pri 1 10.10.10.44.5638 > 198.48.202.251.25826: udp 1344 (ttl 64, id 47470, > len 1372) > 18:05:11.249478 52:54:00:06:aa:01 00:0d:b9:43:9f:fc 8100 1424: 802.1Q vid 20 > pri 1 10.10.10.44.5638 > 198.48.202.251.25826: udp 1378 (ttl 64, id 57431, > len 1406) > 18:05:11.570690 00:17:10:8e:44:a5 ff:ff:ff:ff:ff:ff 8100 64: 802.1Q vid 10 > pri 1 arp who-has 184.161.78.225 tell 184.161.78.1 > 18:05:11.586920 00:17:10:8e:44:a5 ff:ff:ff:ff:ff:ff 8100 64: 802.1Q vid 10 > pri 1 arp who-has 192.222.131.28 tell 192.222.131.1 > 18:05:12.050180 00:17:10:8e:44:a5 ff:ff:ff:ff:ff:ff 8100 64: 802.1Q vid 10 > pri 1 arp who-has 24.48.76.202 tell 24.48.76.1 > > nothing else than those udp packets (my collectd setup) and the > arp who-has > > root@pancake:~# ifconfig aggr0 -> still no carrier > > At that point I thought "sthen asked me to try to reboot the switch, > let's do it now" and shortly after I got in my console > aggr0 em0 rxm: DEFAULTED (!port_enabled) -> PORT_DISABLED > aggr0 em1 rxm: DEFAULTED (!port_enabled) -> PORT_DISABLED > aggr0 em2 rxm: DEFAULTED (!port_enabled) -> PORT_DISABLED > aggr0 em2 rxm: PORT_DISABLED (port_enabled) -> EXPIRED > aggr0 em1 rxm: PORT_DISABLED (port_enabled) -> EXPIRED > aggr0 em0 rxm: PORT_DISABLED (port_enabled) -> EXPIRED > aggr0 em2 rxm: EXPIRED (current_while_timer expired) -> DEFAULTED > aggr0 em1 rxm: EXPIRED (current_while_timer expired) -> DEFAULTED > aggr0 em0 rxm: EXPIRED (current_while_timer expired) -> DEFAULTED > > I tried again putting in promiscuous mode. I thought also let's do it > on all physical interface as well to be safe :D > > # tcpdu
Re: Switching from trunk(4) to aggr(4)
On Tue, 15 Dec 2020 14:30:16 +1000, David Gwynne wrote: > Can you try tcpdump -p -veni em0 -D in and see if any LACP packets > appear to come in on the port? If not, can you remove the -p and see > if em0 starts to work? > > There are two main differences between how aggr(4) and trunk(4) > works. The first you've already found, which is that trunk(4) uses > the address from one of the ports it's given, while aggr(4) generates > one when it's created. The second difference is that trunk(4) makes > member ports promisc, while aggr(4) tries to be a lot more precise > and takes care to program the ports properly. This means that in your > environment em(4) has to support changing it's MAC address to the one > provided by aggr(4), and it has to support joining multicast groups > properly, including the one that LACP packets are sent to. > > tcpdump with -p means that it won't make the interface promiscuous. > If you don't see LACP packets come in while the port is promisc, that > means the multicast filter isn't working properly. It should start > working if you're running tcpdump without -p on the em(4) ports, or > on aggr(4) itself. Thanks for your reply! Here's what I did (spoiler alert, I couldn't get aggr0 to work): I switched back the hostname files, and rebooted. During boot: starting network aggr0 em0 trunkport: creating port aggr0 em0 mux: BEGIN (BEGIN) -> DETACHED aggr0 em0 rxm: BEGIN (BEGIN) -> INITIALIZE aggr0 em0 rxm: INITIALIZE (UCT) -> PORT_DISABLED aggr0 em1 trunkport: creating port aggr0 em1 mux: BEGIN (BEGIN) -> DETACHED aggr0 em1 rxm: BEGIN (BEGIN) -> INITIALIZE aggr0 em1 rxm: INITIALIZE (UCT) -> PORT_DISABLED aggr0 em2 trunkport: creating port aggr0 em2 mux: BEGIN (BEGIN) -> DETACHED aggr0 em2 rxm: BEGIN (BEGIN) -> INITIALIZE aggr0 em2 rxm: INITIALIZE (UCT) -> PORT_DISABLED vlan10: no linkaggr0 em0 rxm: PORT_DISABLED (port_enabled) -> EXPIRED .aggr0 em2 rxm: PORT_DISABLED (port_enabled) -> EXPIRED aggr0 em1 rxm: PORT_DISABLED (port_enabled) -> EXPIRED ..aggr0 em0 rxm: EXPIRED (current_while_timer expired) -> DEFAULTED aggr0 em2 rxm: EXPIRED (current_while_timer expired) -> DEFAULTED aggr0 em1 rxm: EXPIRED (current_while_timer expired) -> DEFAULTED ... sleeping root@pancake:~# tcpdump -p -veni em0 -D in tcpdump: listening on em0, link-type EN10MB 18:04:03.996369 80:56:f2:b7:9c:09 ff:ff:ff:ff:ff:ff 8100 60: 802.1Q vid 70 pri 1 arp who-has 10.70.70.254 tell 10.70.70.101 18:04:04.016123 00:17:10:8e:44:a5 ff:ff:ff:ff:ff:ff 8100 64: 802.1Q vid 10 pri 1 arp who-has 24.48.69.20 tell 24.48.69.1 18:04:04.034874 00:17:10:8e:44:a5 ff:ff:ff:ff:ff:ff 8100 64: 802.1Q vid 10 pri 1 arp who-has 24.48.69.109 tell 24.48.69.1 (vlan10 is my uplink to my isp's modem), I didn't have anything but those arp who-has. root@pancake:~# ifconfig aggr0 -> still no carrier root@pancake:~# tcpdump -veni em0 -D in tcpdump: listening on em0, link-type EN10MB 18:05:11.247455 52:54:00:06:aa:01 00:0d:b9:43:9f:fc 8100 1423: 802.1Q vid 20 pri 1 10.10.10.44.5638 > 198.48.202.251.25826: udp 1377 (ttl 64, id 2495, len 1405) 18:05:11.248427 52:54:00:06:aa:01 00:0d:b9:43:9f:fc 8100 1390: 802.1Q vid 20 pri 1 10.10.10.44.5638 > 198.48.202.251.25826: udp 1344 (ttl 64, id 47470, len 1372) 18:05:11.249478 52:54:00:06:aa:01 00:0d:b9:43:9f:fc 8100 1424: 802.1Q vid 20 pri 1 10.10.10.44.5638 > 198.48.202.251.25826: udp 1378 (ttl 64, id 57431, len 1406) 18:05:11.570690 00:17:10:8e:44:a5 ff:ff:ff:ff:ff:ff 8100 64: 802.1Q vid 10 pri 1 arp who-has 184.161.78.225 tell 184.161.78.1 18:05:11.586920 00:17:10:8e:44:a5 ff:ff:ff:ff:ff:ff 8100 64: 802.1Q vid 10 pri 1 arp who-has 192.222.131.28 tell 192.222.131.1 18:05:12.050180 00:17:10:8e:44:a5 ff:ff:ff:ff:ff:ff 8100 64: 802.1Q vid 10 pri 1 arp who-has 24.48.76.202 tell 24.48.76.1 nothing else than those udp packets (my collectd setup) and the arp who-has root@pancake:~# ifconfig aggr0 -> still no carrier At that point I thought "sthen asked me to try to reboot the switch, let's do it now" and shortly after I got in my console aggr0 em0 rxm: DEFAULTED (!port_enabled) -> PORT_DISABLED aggr0 em1 rxm: DEFAULTED (!port_enabled) -> PORT_DISABLED aggr0 em2 rxm: DEFAULTED (!port_enabled) -> PORT_DISABLED aggr0 em2 rxm: PORT_DISABLED (port_enabled) -> EXPIRED aggr0 em1 rxm: PORT_DISABLED (port_enabled) -> EXPIRED aggr0 em0 rxm: PORT_DISABLED (port_enabled) -> EXPIRED aggr0 em2 rxm: EXPIRED (current_while_timer expired) -> DEFAULTED aggr0 em1 rxm: EXPIRED (current_while_timer expired) -> DEFAULTED aggr0 em0 rxm: EXPIRED (current_while_timer expired) -> DEFAULTED I tried again putting in promiscuous mode. I thought also let's do it on all physical interface as well to be safe :D # tcpdump -veni aggr0 -D in # tcpdump -veni em0 -D in # tcpdump -veni em1 -D in # tcpdump -veni em2 -D in root@pancake:~# ifconfig aggr0 -> still no carrier Cheers, Daniel
Re: Switching from trunk(4) to aggr(4)
On Mon, 14 Dec 2020 09:26:36 - (UTC), Stuart Henderson wrote: > >> What does the lacp status look like on the switch? (or does it just > >> say 'up' or something and not really have any status?) > > > > It doesn't say anything about the lacp, it just says the individual > > ports are going up or down (which is normal since I'm rebooting the > > apu to apply the network config change). > > Looking at the switch docs you should get something from "show lacp > internal", "show lacp neighbor" - maybe compare them between trunk > and aggr? I had never connected through serial/cli since I'm a baby who doesn't know what he's doing so the web interface was nice :3 After the whole adventure of configuring a serial account (which meant finding the serial cable with an rj45 connector, finding the port baud rate and so on): TL-SG3216#show lacp <1-8>- Channel group number internal - Actor Lacp Information neighbor - Partner Lacp Information sys-id - Display Lacp Global System Priority. TL-SG3216#show lacp 1 Error: Bad command TL-SG3216#show lacp internal TL-SG3216#show lacp neighbor TL-SG3216#show lacp sys-id 32768, 8416.f99e.a094 how disappointing :-) (I tried these, both under trunk0 and aggr0: same result). I'll reply to your other points in my reply to dlg to centralize all the info. Cheers, Daniel
Re: Switching from trunk(4) to aggr(4)
On Mon, 14 Dec 2020 08:23:15 +0100, Hrvoje Popovski wrote: > maybe to put debug in hostname.aggr0 then destroy it and then sh > netstart aggr0 ? Indeed, making hostname.aggr0: debug trunkport em0 trunkport em1 trunkport em2 up made the debug appear, thanks! Daniel
Re: Switching from trunk(4) to aggr(4)
> On 14 Dec 2020, at 08:40, Daniel Jakots wrote: > > On Sun, 13 Dec 2020 20:34:35 - (UTC), Stuart Henderson > wrote: > >> On 2020-12-12, Daniel Jakots wrote: >>> I've been using a LACP trunk on my apu (with the three em(4)). On >>> top of which I have some vlans. I've been doing that for years and >>> it's working fine. >> >> I used load-balancing trunk on APU before but stopped when I came to >> the conclusion that APU running OpenBSD wasn't going to push more >> than 1Gbps anyway.. (I use failover way more than any type of load >> balancing) > > Yes but: > - the three cables between the switch and the APU looks beautiful > - I don't have to care which if is em0 and which if is em2. Just plug > everything. > :) > >> I don't see anything on the switch side I could change, and the log I >> have is merely the ports going up or down when I reboot. >> >>> Any idea why aggr(4) stays in no carrier status? >> >> Do you get any clues from "ifconfig aggr0 debug"? > > I just tried > # ifconfig aggr0 debug > # dmesg > > # ifconfig aggr0 down > # ifconfig aggr0 up > # ifconfig aggr0 # checked the debug flag was still there > # dmesg > > > I also looked at /var/log/message to be save, but nothing relevant. > >> What does the lacp status look like on the switch? (or does it just >> say 'up' or something and not really have any status?) > > It doesn't say anything about the lacp, it just says the individual > ports are going up or down (which is normal since I'm rebooting the apu > to apply the network config change). Can you try tcpdump -p -veni em0 -D in and see if any LACP packets appear to come in on the port? If not, can you remove the -p and see if em0 starts to work? There are two main differences between how aggr(4) and trunk(4) works. The first you've already found, which is that trunk(4) uses the address from one of the ports it's given, while aggr(4) generates one when it's created. The second difference is that trunk(4) makes member ports promisc, while aggr(4) tries to be a lot more precise and takes care to program the ports properly. This means that in your environment em(4) has to support changing it's MAC address to the one provided by aggr(4), and it has to support joining multicast groups properly, including the one that LACP packets are sent to. tcpdump with -p means that it won't make the interface promiscuous. If you don't see LACP packets come in while the port is promisc, that means the multicast filter isn't working properly. It should start working if you're running tcpdump without -p on the em(4) ports, or on aggr(4) itself. Cheers, dlg
Re: Switching from trunk(4) to aggr(4)
On 2020-12-13, Stuart Henderson wrote: > On 2020-12-12, Daniel Jakots wrote: >> I've been using a LACP trunk on my apu (with the three em(4)). On >> top of which I have some vlans. I've been doing that for years and it's >> working fine. > > I used load-balancing trunk on APU before but stopped when I came to the > conclusion that APU running OpenBSD wasn't going to push more than 1Gbps > anyway.. (I use failover way more than any type of load balancing) An offlist mail made me realised I had worded this badly; what I meant is that since it won't push 1Gbps (at least with 1500 byte MTU, I haven't tried larger), aggregating interfaces won't get more speed.
Re: Switching from trunk(4) to aggr(4)
On 2020-12-13, Daniel Jakots wrote: > On Sun, 13 Dec 2020 20:34:35 - (UTC), Stuart Henderson > wrote: > >> On 2020-12-12, Daniel Jakots wrote: >> > I've been using a LACP trunk on my apu (with the three em(4)). On >> > top of which I have some vlans. I've been doing that for years and >> > it's working fine. >> >> I used load-balancing trunk on APU before but stopped when I came to >> the conclusion that APU running OpenBSD wasn't going to push more >> than 1Gbps anyway.. (I use failover way more than any type of load >> balancing) > > Yes but: > - the three cables between the switch and the APU looks beautiful > - I don't have to care which if is em0 and which if is em2. Just plug > everything. >:) You can still leave them all connected :p All the benefits of these things, plus it's a tad faster because you avoid an extra software layer. On the other hand, using it may help find bugs or interop problems which isn't a bad thing. >> I don't see anything on the switch side I could change, and the log I >> have is merely the ports going up or down when I reboot. >> >> > Any idea why aggr(4) stays in no carrier status? >> >> Do you get any clues from "ifconfig aggr0 debug"? > > I just tried > # ifconfig aggr0 debug > # dmesg > > # ifconfig aggr0 down > # ifconfig aggr0 up > # ifconfig aggr0 # checked the debug flag was still there > # dmesg > Set it before adding ports and you will at least see something like aggr0 em0 trunkport: creating portaggr0 em0 mux: BEGIN (BEGIN) -> DETACHED aggr0 em0 rxm: BEGIN (BEGIN) -> INITIALIZE so you can confirm that it does wrote something. These messages are printf and do appear in dmesg. >> What does the lacp status look like on the switch? (or does it just >> say 'up' or something and not really have any status?) > > It doesn't say anything about the lacp, it just says the individual > ports are going up or down (which is normal since I'm rebooting the apu > to apply the network config change). Looking at the switch docs you should get something from "show lacp internal", "show lacp neighbor" - maybe compare them between trunk and aggr? Have you tried rebooting the switch?
Re: Switching from trunk(4) to aggr(4)
On 13.12.2020. 23:40, Daniel Jakots wrote: > I just tried > # ifconfig aggr0 debug > # dmesg > > # ifconfig aggr0 down > # ifconfig aggr0 up > # ifconfig aggr0 # checked the debug flag was still there > # dmesg > > > I also looked at /var/log/message to be save, but nothing relevant. Hi, maybe to put debug in hostname.aggr0 then destroy it and then sh netstart aggr0 ?
Re: Switching from trunk(4) to aggr(4)
On Sun, 13 Dec 2020 20:34:35 - (UTC), Stuart Henderson wrote: > On 2020-12-12, Daniel Jakots wrote: > > I've been using a LACP trunk on my apu (with the three em(4)). On > > top of which I have some vlans. I've been doing that for years and > > it's working fine. > > I used load-balancing trunk on APU before but stopped when I came to > the conclusion that APU running OpenBSD wasn't going to push more > than 1Gbps anyway.. (I use failover way more than any type of load > balancing) Yes but: - the three cables between the switch and the APU looks beautiful - I don't have to care which if is em0 and which if is em2. Just plug everything. :) > I don't see anything on the switch side I could change, and the log I > have is merely the ports going up or down when I reboot. > > > Any idea why aggr(4) stays in no carrier status? > > Do you get any clues from "ifconfig aggr0 debug"? I just tried # ifconfig aggr0 debug # dmesg # ifconfig aggr0 down # ifconfig aggr0 up # ifconfig aggr0 # checked the debug flag was still there # dmesg I also looked at /var/log/message to be save, but nothing relevant. > What does the lacp status look like on the switch? (or does it just > say 'up' or something and not really have any status?) It doesn't say anything about the lacp, it just says the individual ports are going up or down (which is normal since I'm rebooting the apu to apply the network config change). Cheers, Daniel
Re: Switching from trunk(4) to aggr(4)
On 2020-12-12, Daniel Jakots wrote: > I've been using a LACP trunk on my apu (with the three em(4)). On > top of which I have some vlans. I've been doing that for years and it's > working fine. I used load-balancing trunk on APU before but stopped when I came to the conclusion that APU running OpenBSD wasn't going to push more than 1Gbps anyway.. (I use failover way more than any type of load balancing) > My trunk0 which works is > trunk0: flags=8843 mtu 1500 > > media: Ethernet autoselect > > status: active > > And the aggr0 which doesn't come up is: > media: Ethernet autoselect > > status: no carrier > > > The only different thing I could see is the key (0x403c with trunk(4), > 0x6 with aggr(4)) but I don't see how I could change it to try if it > matters. > > Initially I thought the random lladdr from aggr(4) could be a problem > so I set it in the hostname.aggr0 file but it didn't help. > > I don't see anything on the switch side I could change, and the log I > have is merely the ports going up or down when I reboot. > > Any idea why aggr(4) stays in no carrier status? Do you get any clues from "ifconfig aggr0 debug"? What does the lacp status look like on the switch? (or does it just say 'up' or something and not really have any status?)
Re: Switching from trunk(4) to aggr(4)
On Sun, 13 Dec 2020 11:00:32 +0100, livio wrote: > # cat /etc/hostname.aggr0 > trunkport em1 trunkport em2 trunkport em3 lacpmode active lacptimeout > slow description "i_data" > up I just tried adding "lacpmode active lacptimeout slow" in case ifconfig(8) was lying and they were not the default, but it didn't help. > It works well for me and I never had issues. I currently use a HP > switch, but it also works with Cisco. > Maybe some leftovers from the LACP config? I never encountered the > "no carrier status" issue though. What do you mean "some leftovers from the LACP config"? I only removed the trunk0 interface. There isn't anything to change on switch (since it works with trunk(4)), is it? For the record, the switch is a TP-LINK TL-SG3216 Cheers, Daniel
Re: Switching from trunk(4) to aggr(4)
Hey, My setup at home is almost identical. APU with aggr interface and a couple of VLANs: https://github.com/liv-io/ansible-playbooks-example/blob/master/bsd/host_vars/fw01.example.com.yml # cat /etc/hostname.em{1,2,3} up # cat /etc/hostname.aggr0 trunkport em1 trunkport em2 trunkport em3 lacpmode active lacptimeout slow description "i_data" up # cat /etc/hostname.vlan11 inet 10.1.1.2 255.255.255.0 NONE vnetid 11 vlandev aggr0 description "v_base" up # cat /etc/hostname.carp11 inet 10.1.1.1 255.255.255.0 NONE vhid 1 carpdev vlan11 advskew 10 pass "" description "v_base" # ifconfig aggr0 aggr0: flags=8943 mtu 1500 lladdr description: i_data index 11 priority 0 llprio 7 trunk: trunkproto lacp trunk id: [(8000,,000B,,), (8000,,0006,,)] em1 lacp actor system pri 0x8000 mac, key 0xb, port pri 0x8000 number 0x2 em1 lacp actor state activity,aggregation,sync,collecting,distributing em1 lacp partner system pri 0x8000 mac, key 0x6, port pri 0x8000 number 0x12e em1 lacp partner state activity,aggregation,sync,collecting,distributing em1 port active,collecting,distributing em2 lacp actor system pri 0x8000 mac, key 0xb, port pri 0x8000 number 0x3 em2 lacp actor state activity,aggregation,sync,collecting,distributing em2 lacp partner system pri 0x8000 mac, key 0x6, port pri 0x8000 number 0x130 em2 lacp partner state activity,aggregation,sync,collecting,distributing em2 port active,collecting,distributing em3 lacp actor system pri 0x8000 mac, key 0xb, port pri 0x8000 number 0x4 em3 lacp actor state activity,aggregation,sync,collecting,distributing em3 lacp partner system pri 0x8000 mac, key 0x6, port pri 0x8000 number 0x12f em3 lacp partner state activity,aggregation,sync,collecting,distributing em3 port active,collecting,distributing groups: aggr media: Ethernet autoselect status: active It works well for me and I never had issues. I currently use a HP switch, but it also works with Cisco. Maybe some leftovers from the LACP config? I never encountered the "no carrier status" issue though. Let me know if I can extract any config for you. HTH, Livio On 2020-12-12 16:44, Daniel Jakots wrote: Hi, I've been using a LACP trunk on my apu (with the three em(4)). On top of which I have some vlans. I've been doing that for years and it's working fine. I thought about using aggr(4) instead (for no real reason). But the aggr interface stays in "status: no carrier". What I did is, I replaced my hostname.trunk0 trunkproto lacp trunkport em0 trunkport em1 trunkport em2 up with a hostname.aggr0 trunkport em0 trunkport em1 trunkport em2 up (and changing the parent in my hostname.vlan*). To apply the new configuration, I just reboot. My trunk0 which works is trunk0: flags=8843 mtu 1500 lladdr 00:0d:b9:43:9f:fc index 7 priority 0 llprio 3 trunk: trunkproto lacp trunk id: [(8000,00:0d:b9:43:9f:fc,403C,,), (0080,00:00:00:00:00:00,,,)] em2 lacp actor system pri 0x8000 mac 00:0d:b9:43:9f:fc, key 0x403c, port pri 0x8000 number 0x3 em2 lacp actor state activity,aggregation,sync,collecting,distributing,defaulted em2 lacp partner system pri 0x80 mac 00:00:00:00:00:00, key 0x0, port pri 0x80 number 0x0 em2 lacp partner state aggregation,sync,collecting,distributing em2 port active,collecting,distributing em1 lacp actor system pri 0x8000 mac 00:0d:b9:43:9f:fc, key 0x403c, port pri 0x8000 number 0x2 em1 lacp actor state activity,aggregation,sync,collecting,distributing,defaulted em1 lacp partner system pri 0x80 mac 00:00:00:00:00:00, key 0x0, port pri 0x80 number 0x0 em1 lacp partner state aggregation,sync,collecting,distributing em1 port active,collecting,distributing em0 lacp actor system pri 0x8000 mac 00:0d:b9:43:9f:fc, key 0x403c, port pri 0x8000 number 0x1 em0 lacp actor state activity,aggregation,sync,collecting,distributing,defaulted em0 lacp partner system pri 0x80 mac 00:00:00:00:00:00, key 0x0, port pri 0x80 number 0x0 em0 lacp partner state aggregation,sync,collecting,distributing em0 port active,collecting,distributing groups: trunk media: Ethernet autoselect status: active And the aggr0 which doesn't come up is: aggr0: flags=8843 mtu 1500 lladdr 00:0d:b9:43:9f:fc index 6 priority 0 llprio 7 trunk: trunkproto lacp trunk id: [(8000,00:0d:b9:43:9f:fc,0006,,),
Switching from trunk(4) to aggr(4)
Hi, I've been using a LACP trunk on my apu (with the three em(4)). On top of which I have some vlans. I've been doing that for years and it's working fine. I thought about using aggr(4) instead (for no real reason). But the aggr interface stays in "status: no carrier". What I did is, I replaced my hostname.trunk0 trunkproto lacp trunkport em0 trunkport em1 trunkport em2 up with a hostname.aggr0 trunkport em0 trunkport em1 trunkport em2 up (and changing the parent in my hostname.vlan*). To apply the new configuration, I just reboot. My trunk0 which works is trunk0: flags=8843 mtu 1500 lladdr 00:0d:b9:43:9f:fc index 7 priority 0 llprio 3 trunk: trunkproto lacp trunk id: [(8000,00:0d:b9:43:9f:fc,403C,,), (0080,00:00:00:00:00:00,,,)] em2 lacp actor system pri 0x8000 mac 00:0d:b9:43:9f:fc, key 0x403c, port pri 0x8000 number 0x3 em2 lacp actor state activity,aggregation,sync,collecting,distributing,defaulted em2 lacp partner system pri 0x80 mac 00:00:00:00:00:00, key 0x0, port pri 0x80 number 0x0 em2 lacp partner state aggregation,sync,collecting,distributing em2 port active,collecting,distributing em1 lacp actor system pri 0x8000 mac 00:0d:b9:43:9f:fc, key 0x403c, port pri 0x8000 number 0x2 em1 lacp actor state activity,aggregation,sync,collecting,distributing,defaulted em1 lacp partner system pri 0x80 mac 00:00:00:00:00:00, key 0x0, port pri 0x80 number 0x0 em1 lacp partner state aggregation,sync,collecting,distributing em1 port active,collecting,distributing em0 lacp actor system pri 0x8000 mac 00:0d:b9:43:9f:fc, key 0x403c, port pri 0x8000 number 0x1 em0 lacp actor state activity,aggregation,sync,collecting,distributing,defaulted em0 lacp partner system pri 0x80 mac 00:00:00:00:00:00, key 0x0, port pri 0x80 number 0x0 em0 lacp partner state aggregation,sync,collecting,distributing em0 port active,collecting,distributing groups: trunk media: Ethernet autoselect status: active And the aggr0 which doesn't come up is: aggr0: flags=8843 mtu 1500 lladdr 00:0d:b9:43:9f:fc index 6 priority 0 llprio 7 trunk: trunkproto lacp trunk id: [(8000,00:0d:b9:43:9f:fc,0006,,), (,00:00:00:00:00:00,,,)] em0 lacp actor system pri 0x8000 mac 00:0d:b9:43:9f:fc, key 0x6, port pri 0x8000 number 0x1 em0 lacp actor state activity,aggregation,defaulted em0 lacp partner system pri 0x0 mac 00:00:00:00:00:00, key 0x0, port pri 0x0 number 0x0 em0 lacp partner state activity,aggregation,sync em0 port em1 lacp actor system pri 0x8000 mac 00:0d:b9:43:9f:fc, key 0x6, port pri 0x8000 number 0x2 em1 lacp actor state activity,aggregation,defaulted em1 lacp partner system pri 0x0 mac 00:00:00:00:00:00, key 0x0, port pri 0x0 number 0x0 em1 lacp partner state activity,aggregation,sync em1 port em2 lacp actor system pri 0x8000 mac 00:0d:b9:43:9f:fc, key 0x6, port pri 0x8000 number 0x3 em2 lacp actor state activity,aggregation,defaulted em2 lacp partner system pri 0x0 mac 00:00:00:00:00:00, key 0x0, port pri 0x0 number 0x0 em2 lacp partner state activity,aggregation,sync em2 port groups: aggr media: Ethernet autoselect