svn commit: r280759 - head/sys/netinet

John-Mark Gurney jmg at funkthat.com
Sat Mar 28 17:23:21 UTC 2015


Gleb Smirnoff wrote this message on Sat, Mar 28, 2015 at 11:34 +0300:
> On Fri, Mar 27, 2015 at 01:26:59PM +0000, Fabien Thomas wrote:
> F> Author: fabient
> F> Date: Fri Mar 27 13:26:59 2015
> F> New Revision: 280759
> F> URL: https://svnweb.freebsd.org/changeset/base/280759
> F> 
> F> Log:
> F>   On multi CPU systems, we may emit successive packets with the same id.
> F>   Fix the race by using an atomic operation.
> F>   
> F>   Differential Revision:	https://reviews.freebsd.org/D2141
> F>   Obtained from:	emeric.poupon at stormshield.eu
> F>   MFC after:	1 week
> F>   Sponsored by:	Stormshield
> 
> The D2141 says that benchmarking were done in presence of IPSEC, which
> of course is the bottleneck and performance of this instruction can't
> be benchmarked in its presence. Anyway, I believe that results of
> right benchmark would still show little difference between atomic and
> non-atomic increment of a shared value.
> 
> I think we can use per-cpu ID counters, each CPU incrementing its
> own. If we start with random values, then probability of two packets with
> the same ID emitting at the allowed timeframe will be acceptably small.

Please do not use per-cpu id counters.. That will just push the
duplicate ids to being more rare, but just as much of a problem...

Please read:
https://tools.ietf.org/html/rfc6864

And then implement one hased upon source/dest/protocol...

Thanks.

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."


More information about the svn-src-all mailing list