Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Apr 2019 05:17:11 +0000
From:      bugzilla-noreply@freebsd.org
To:        net@FreeBSD.org
Subject:   [Bug 221146] [ixgbe] Problem with second laggport
Message-ID:  <bug-221146-7501-oPLffzkA7y@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-221146-7501@https.bugs.freebsd.org/bugzilla/>
References:  <bug-221146-7501@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D221146

--- Comment #28 from Johan Str=C3=B6m <johan@stromnet.se> ---
Michael, thanks for the quick pointer! Setting
net.inet.carp.senderr_demotion_factor=3D0 makes CARP no longer react this w=
ay to
individual up/down of underlying lagg interfaces. Instead I just get "carp:
demoted by 0 to 0 (send error 50 on vlan18)", and no CARP change.

As for this "send error 50", I assume 50 is ENETDOWN, so for some reason the
lagg driver signals this for a brief moment while changing it's setup. Not =
sure
how to proceed in hunting down the root cause for that, but this is not rea=
lly
a super critical setup, mostly doing this for experimenting.
For the record, the other end is a HP 1820-24G (J9980A) and the lagg config=
 is
"laggproto lacp laggport ix0 laggport ix1 laggport ix2 laggport ix3"


(unrelated carp rambling below:)=20

Regarding why it did not automatically come back when net.inet.carp.preempt=
=3D0,
it's of course by design.. In carp(4) DESCRIPTION section for this sysctl (=
and
on when googling it and reading up on it a bit, and studying the carp sourc=
e)
it's clear  that it is actually a way to make it more aggressive in enforci=
ng
that the node with the lower advskew is always MASTER. With =3D0 it won't g=
o in
until it stops seeing the current master, regardless of advskew.

In the EXAMPLE section of carp(4) the same option is described as a way to =
make
multiple interfaces change state at the same time, so I had missed the above
fact:

     "When one of the physical interfaces of host A fails, advskew is demot=
ed
     to a configured value on all its carp vhids.  Due to the preempt optio=
n,
     host B would start announcing itself, and thus preempt host A on both
     interfaces instead of just the failed one."=20

One thing about the text above which almost bit me (as in thinking it was n=
ot
behaving as expected) was this:=20
If I (on the current master with lower advskew) deconfigured a VLAN from the
LACP VLAN trunk of current master, the other node no longer sees the masters
announcements, and takes over as master. This only happened for that partic=
ular
VLAN though, and that confused me.. Doesn't the EXAMPLE say that it should
affect all all interfaces when preempt=3D1?
Yes, for *ifdown* events... In this scenario it just stopped seeing any
incoming traffic in that VLAN... so ofcourse it did not demote the other
interfaces, which it would have done with the value of
net.inet.carp.ifdown_demotion_factor if the interface actually went down..



Sorry for my rambling, but perhaps someone else (or me, when I have forgott=
en
the details) might stumble upon it in the future and can benefit from it!

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-221146-7501-oPLffzkA7y>