"slow path" in network code || IPv6 panic on inteface removal
Andrey V. Elsukov
ae at FreeBSD.org
Sun Jan 26 23:35:47 UTC 2014
Hello, Alexander,
probably it would be better, it you split your patch into two.
The one, that implements this:
> What exactly is proposed:
> - Another one netisr queue for handling different types of packets
> - metainfo is stored in mbuf_tag attached to packet
> - ifnet departure handler taking care of packets queued from/to killed
> ifnet
> - API to register/unregister/dispath given type of traffic
And second, that shows usage example:
> #5 T2 calls nd6_ifptomac() which reads interface MAC from ifp->if_addr
>
> #6 User inspects core generated by previous call
>
> Using new API, we can avoid #6 by making the following code changes:
> * LLE timer does not drop/reacquire LLE lock
> * we require nd6_ns_output callers to lock LLE if it is provided
> * nd6_ns_output() uses "slow" path instead of sending mbuf to
> ip6_output() immediately if LLE is not NULL.
--
WBR, Andrey V. Elsukov
More information about the freebsd-net
mailing list