Page MenuHomeFreeBSD

tests/libalias: Improve testing
ClosedPublic

Authored by donner on May 23 2021, 5:57 PM.

Details

Summary

gettimeofday(3) is almost as expensive as the calls to libalias.
So the call frequency for this call is reduced by a factor of 1000 in
order to neglect it's influence.

Using NAT entries became more realistic: A communication of a random
length of up to 150 packets (10% outgoing, 90% incoming) is applied
for each entry.

Precision of the execution time is raised to see the trends better.

Test Plan
$ make perf; perf 120 1000 2000 1500
RND SECOND newNAT RANDOM ATTACK useNAT
  1    0.0   6.65   6.16   6.03   6.15
  2    0.5   6.50   6.05   6.17   6.06
  3    1.0   6.55   6.02   5.98   6.09
  4    1.5   6.79   6.22   6.06   6.21
  5    2.0   6.83   6.08   6.13   6.18
  6    2.5   6.79   6.24   5.93   6.13
...
230  118.6  41.09  15.81   7.23   6.20
231  119.1  41.24  14.60   7.00   6.16
232  119.7  38.49  15.50   7.15

Results
   Rounds  :       231
newNAT ok  :    232000
newNAT fail:         0
useNAT ok  :   1911714 (out)
useNAT fail:         0 (out)
useNAT ok  :  15455034 (in)
useNAT fail:         0 (in)
RANDOM ok  :         0
RANDOM fail:    464000
ATTACK ok  :         0
ATTACK fail:    348000
----------------------
      Total:  18410748

Diff Detail

Repository
rG FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

  • Select a random flow out of a rolling window in order to simulate overlapping communication.
This revision is now accepted and ready to land.May 25 2021, 11:11 AM
This revision was automatically updated to reflect the committed changes.