Re: Switching from trunk(4) to aggr(4)

2020-12-16 Thread Daniel Jakots
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)

2020-12-15 Thread David Gwynne
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
> 
> # 

Re: Switching from trunk(4) to aggr(4)

2020-12-15 Thread Daniel Jakots
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)

2020-12-15 Thread Daniel Jakots
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)

2020-12-15 Thread Daniel Jakots
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)

2020-12-14 Thread David Gwynne



> 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)

2020-12-14 Thread Stuart Henderson
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)

2020-12-14 Thread Stuart Henderson
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)

2020-12-14 Thread Hrvoje Popovski
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)

2020-12-13 Thread Daniel Jakots
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)

2020-12-13 Thread Stuart Henderson
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)

2020-12-13 Thread Daniel Jakots
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)

2020-12-13 Thread livio

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)

2020-12-12 Thread Daniel Jakots
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