svn commit: r285051 - head/sys/netinet

Olivier Cochard-Labbé olivier at cochard.me
Wed Jul 8 11:00:50 UTC 2015


On Thu, Jul 2, 2015 at 8:10 PM, Ermal Luçi <eri at 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().
>
>


​Thanks,

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 = 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 = 4733)


Regards,

Olivier
​


More information about the svn-src-all mailing list