summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2008-10-21 22:48:31 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2008-10-21 22:48:31 +0200
commit61a1120a6bf28e9206e012f6c327b67d50edc1c8 (patch)
treec29ced71139c5cc11dac8cb6e55482504d156508
parent51bba395e55c839ee680ccc2ed69f3ba11597424 (diff)
ftfw: rise the size of the acknowledgment window in the example
This patch increases the size of the acknowledgment window based on some experiments in my testbed with oprofile. The previous default value was too small. This resulted in too many cycles to empty the resend queue. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--doc/sync/ftfw/conntrackd.conf13
-rw-r--r--src/read_config_yy.y4
2 files changed, 13 insertions, 4 deletions
diff --git a/doc/sync/ftfw/conntrackd.conf b/doc/sync/ftfw/conntrackd.conf
index 3aa8216..06c3d15 100644
--- a/doc/sync/ftfw/conntrackd.conf
+++ b/doc/sync/ftfw/conntrackd.conf
@@ -27,8 +27,17 @@ Sync {
#
PurgeTimeout 15
- # Set Acknowledgement window size
- ACKWindowSize 20
+ # Set the acknowledgement window size. If you decrease this
+ # value, the number of acknowlegdments increases. More
+ # acknowledgments means more overhead as conntrackd has to
+ # handle more control messages. On the other hand, if you
+ # increase this value, the resend queue gets more populated.
+ # This results in more overhead in the queue releasing.
+ # The following value is based on some practical experiments
+ # measuring the cycles spent by the acknowledgment handling
+ # with oprofile.
+ #
+ ACKWindowSize 300
}
#
diff --git a/src/read_config_yy.y b/src/read_config_yy.y
index c01abe4..0f6ffdc 100644
--- a/src/read_config_yy.y
+++ b/src/read_config_yy.y
@@ -1006,9 +1006,9 @@ init_config(char *filename)
if (CONFIG(resend_queue_size) == 0)
CONFIG(resend_queue_size) = 262144;
- /* default to a window size of 20 packets */
+ /* default to a window size of 300 packets */
if (CONFIG(window_size) == 0)
- CONFIG(window_size) = 20;
+ CONFIG(window_size) = 300;
/* double of 120 seconds which is common timeout of a final state */
if (conf.flags & CTD_SYNC_FTFW && CONFIG(del_timeout) == 0)