Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Jan 2014 03:34:43 +0400
From:      "Andrey V. Elsukov" <ae@FreeBSD.org>
To:        "Alexander V. Chernikov" <melifaro@yandex-team.ru>,  "net@freebsd.org" <net@freebsd.org>
Cc:        arch@freebsd.org, hackers@freebsd.org
Subject:   Re: "slow path" in network code || IPv6 panic on inteface removal
Message-ID:  <52E59B93.90304@FreeBSD.org>
In-Reply-To: <52E21721.5010309@yandex-team.ru>
References:  <52E21721.5010309@yandex-team.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?52E59B93.90304>