On Wednesday, September 26, 2012 3:08:22 pm Ryan Stone wrote: > On Wed, Sep 26, 2012 at 9:55 AM, John Baldwin <j...@freebsd.org> wrote: > > You only have to drop the RX lock around if_input() if you use the same lock > > for both TX and RX (as if_transmit() / if_start() can be invoked while locks > > in the network stack are held). > > Last time I checked(FreeBSD 8.2), this is not true. The problematic > (and convoluted) ordering is: > > ix:rx -> udp -> udpinp -> in_multi_mtx -> ix:core -> ix:rx
Hmm, I'm not sure where the 'in_multi_mtx -> ix:core' bit comes from. I think that is the broken part of this. The SIOCADDMULTI and SIOCDELMULTI ioctls are invoked without any stack locks held, so it shouldn't come from there. -- John Baldwin _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"