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