Detaching the slave from the lagg interface which has vlan on top of it, hits an panic
Gleb Smirnoff
glebius at FreeBSD.org
Fri Oct 3 10:05:54 UTC 2014
On Fri, Oct 03, 2014 at 01:52:19PM +0400, Alexander V. Chernikov wrote:
A> On 03.10.2014 04:40, Hariprasad S wrote:
A> > HI,
A> >
A> > Detaching the slave from the lagg interface which has vlan on top of it, hits an panic.
A> > Kernel used: FreeBSD HEAD r272051
A> >
A> > Is anyone aware of this issue?
A> Yes. What is happening here:
A> We acquire lagg WLOCK to set new link layer address (due to "master"
A> interface change).
A> We propagate this change to vlans on top if lagg (or to lagg itself).
A> Then we need to send gratuitous ARP for each UP interface, so we have to
A> acquire lagg read lock to actually transmit this frame..
A>
A> We can fix this particular case, but I think it should be done more
A> generic way via introducing one or more netisr(9) slow path queues
A> and making sure "every" locally-originated packet is queued instead of
A> being transmitted directly.
A>
A> Previous proposal:
A> https://lists.freebsd.org/pipermail/freebsd-hackers/2014-January/044121.html
A> It looks like we should return to the discussion.
I agree with Alexander here. However, he is quite aggresive on the
question which packets should qualify for slow path :) Well, this is a
matter to discuss, but the overall mechanism is needed. And gratuitous
ARPs are definitely qualified for that.
--
Totus tuus, Glebius.
More information about the freebsd-net
mailing list