Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Jul 2015 13:00:28 +0200
From:      =?UTF-8?Q?Olivier_Cochard=2DLabb=C3=A9?= <olivier@cochard.me>
To:        =?UTF-8?Q?Ermal_Lu=C3=A7i?= <eri@freebsd.org>
Cc:        src-committers <src-committers@freebsd.org>, svn-src-all <svn-src-all@freebsd.org>,  svn-src-head <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r285051 - head/sys/netinet
Message-ID:  <CA%2Bq%2BTcqhu7qP7cvuLHk3dMGc5WBD8Fqfa4t2KM75%2B_Y6P3Z4UA@mail.gmail.com>
In-Reply-To: <201507021810.t62IAgCc003272@repo.freebsd.org>
References:  <201507021810.t62IAgCc003272@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jul 2, 2015 at 8:10 PM, Ermal Lu=C3=A7i <eri@freebsd.org> wrote:

> Author: eri
> Date: Thu Jul  2 18:10:41 2015
> New Revision: 285051
> URL: https://svnweb.freebsd.org/changeset/base/285051
>
> Log:
>   Avoid doing multiple route lookups for the same destination IP during
> forwarding
>
>   ip_forward() does a route lookup for testing this packet can be sent to
> a known destination,
>   it also can do another route lookup if it detects that an ICMP redirect
> is needed,
>   it forgets all of this and handovers to ip_output() to do the same
> lookup yet again.
>
>   This optimisation just does one route lookup during the forwarding path
> and handovers that to be considered by ip_output().
>
>


=E2=80=8BThanks,

This bring good improvement regarding simple forwarding (value in
paquet-per-second, smallest size, on a Netgate RCC-VE 4860):

x r285046.pps.forwarding (IPSEC compiled but not used)
+ r285051.pps.forwarding (IPSEC compiled but not used)
+--------------------------------------------------------------------------=
+
|                                                                         +=
|
|xxx    xx                                                            + +++=
|
||_M_A__|                                                                  =
|
|                                                                      |_A|=
|
+--------------------------------------------------------------------------=
+
    N           Min           Max        Median           Avg        Stddev
x   5        397733        406951        399300      401613.8     4324.9755
+   5        478095        482079        480869      480543.6     1666.0282
Difference at 95.0% confidence
        78929.8 +/- 4779.72
        19.6532% +/- 1.19013%
        (Student's t, pooled s =3D 3277.27)



But how this patch reduce fastforwarding performance in the same time?

x r285046.pps.fastforwarding (IPSEC compiled but not used)
+ r285051.pps.fastforwarding (IPSEC compiled but not used)
+--------------------------------------------------------------------------=
+
|   +   +  +          +     x        x         +            x x           x=
|
|                                |__________________A_______M__________|   =
|
||_________M______A________________|                                       =
|
+--------------------------------------------------------------------------=
+
    N           Min           Max        Median           Avg        Stddev
x   5        742683        754709        750940      749015.6     4944.9059
+   5        736459        747593        738197      740112.4     4511.1611
Difference at 95.0% confidence
        -8903.2 +/- 6902.82
        -1.18865% +/- 0.921585%
        (Student's t, pooled s =3D 4733)


Regards,

Olivier
=E2=80=8B



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2Bq%2BTcqhu7qP7cvuLHk3dMGc5WBD8Fqfa4t2KM75%2B_Y6P3Z4UA>