diff options
author | /C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org </C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org> | 2007-12-21 18:04:49 +0000 |
---|---|---|
committer | /C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org </C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org> | 2007-12-21 18:04:49 +0000 |
commit | 5bac4f06e8ebc81ed16ec93a0db8682e6a359608 (patch) | |
tree | b9d97d47f41e11f1c16f35a32347dbfdb404736f | |
parent | 6d37133f5c98dadf6eb17f7f6854290f572dd4ad (diff) | |
download | conntrack-tools-5bac4f06e8ebc81ed16ec93a0db8682e6a359608.tar.gz conntrack-tools-5bac4f06e8ebc81ed16ec93a0db8682e6a359608.zip |
o Use more appropriate names for the existing synchronization modes:
o rename `persistent' mode to `alarm'
o rename `nack' mode to `ftfw'
o Now default synchronization mode is ftfw instead of alarm
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | examples/sync/alarm/README | 1 | ||||
-rw-r--r-- | examples/sync/alarm/node1/conntrackd.conf (renamed from examples/sync/persistent/node1/conntrackd.conf) | 2 | ||||
-rw-r--r-- | examples/sync/alarm/node1/keepalived.conf (renamed from examples/sync/nack/node1/keepalived.conf) | 0 | ||||
-rw-r--r-- | examples/sync/alarm/node2/conntrackd.conf (renamed from examples/sync/persistent/node2/conntrackd.conf) | 2 | ||||
-rw-r--r-- | examples/sync/alarm/node2/keepalived.conf (renamed from examples/sync/nack/node2/keepalived.conf) | 0 | ||||
-rwxr-xr-x | examples/sync/alarm/script_backup.sh (renamed from examples/sync/persistent/script_backup.sh) | 0 | ||||
-rwxr-xr-x | examples/sync/alarm/script_master.sh (renamed from examples/sync/persistent/script_master.sh) | 0 | ||||
-rw-r--r-- | examples/sync/ftfw/README | 1 | ||||
-rw-r--r-- | examples/sync/ftfw/node1/conntrackd.conf (renamed from examples/sync/nack/node1/conntrackd.conf) | 2 | ||||
-rw-r--r-- | examples/sync/ftfw/node1/keepalived.conf (renamed from examples/sync/persistent/node1/keepalived.conf) | 0 | ||||
-rw-r--r-- | examples/sync/ftfw/node2/conntrackd.conf (renamed from examples/sync/nack/node2/conntrackd.conf) | 2 | ||||
-rw-r--r-- | examples/sync/ftfw/node2/keepalived.conf (renamed from examples/sync/persistent/node2/keepalived.conf) | 0 | ||||
-rwxr-xr-x | examples/sync/ftfw/script_backup.sh (renamed from examples/sync/nack/script_backup.sh) | 0 | ||||
-rwxr-xr-x | examples/sync/ftfw/script_master.sh (renamed from examples/sync/nack/script_master.sh) | 0 | ||||
-rw-r--r-- | examples/sync/nack/README | 1 | ||||
-rw-r--r-- | examples/sync/persistent/README | 1 | ||||
-rw-r--r-- | include/conntrackd.h | 10 | ||||
-rw-r--r-- | include/sync.h | 4 | ||||
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/main.c | 2 | ||||
-rw-r--r-- | src/read_config_lex.l | 14 | ||||
-rw-r--r-- | src/read_config_yy.y | 10 | ||||
-rw-r--r-- | src/sync-alarm.c (renamed from src/sync-notrack.c) | 26 | ||||
-rw-r--r-- | src/sync-ftfw.c (renamed from src/sync-nack.c) | 60 | ||||
-rw-r--r-- | src/sync-mode.c | 8 |
26 files changed, 83 insertions, 69 deletions
@@ -17,6 +17,10 @@ o add CacheWriteThrough clause: external cache write through policy o add support for secmark (requires Linux kernel >= 2.6.25) o add conntrackd (8) manpage o raise ignorepool maximum limit from 1024 to INT_MAX +o Use more appropriate names for the existing synchronization modes: + o rename `persistent' mode to `alarm' + o rename `nack' mode to `ftfw' +o Now default synchronization mode is ftfw instead of alarm version 0.9.5 (2007/07/29) ------------------------------ diff --git a/examples/sync/alarm/README b/examples/sync/alarm/README new file mode 100644 index 0000000..dfd8474 --- /dev/null +++ b/examples/sync/alarm/README @@ -0,0 +1 @@ +This directory contains the files for the ALARM based protocol diff --git a/examples/sync/persistent/node1/conntrackd.conf b/examples/sync/alarm/node1/conntrackd.conf index a55608b..3004d07 100644 --- a/examples/sync/persistent/node1/conntrackd.conf +++ b/examples/sync/alarm/node1/conntrackd.conf @@ -2,7 +2,7 @@ # Synchronizer settings # Sync { - Mode PERSISTENT { + Mode ALARM { # # If a conntrack entry is not modified in <= 15 seconds, then # a message is broadcasted. This mechanism is used to diff --git a/examples/sync/nack/node1/keepalived.conf b/examples/sync/alarm/node1/keepalived.conf index f937467..f937467 100644 --- a/examples/sync/nack/node1/keepalived.conf +++ b/examples/sync/alarm/node1/keepalived.conf diff --git a/examples/sync/persistent/node2/conntrackd.conf b/examples/sync/alarm/node2/conntrackd.conf index 32416d0..fb12130 100644 --- a/examples/sync/persistent/node2/conntrackd.conf +++ b/examples/sync/alarm/node2/conntrackd.conf @@ -2,7 +2,7 @@ # Synchronizer settings # Sync { - Mode PERSISTENT { + Mode ALARM { # # If a conntrack entry is not modified in <= 15 seconds, then # a message is broadcasted. This mechanism is used to diff --git a/examples/sync/nack/node2/keepalived.conf b/examples/sync/alarm/node2/keepalived.conf index f937467..f937467 100644 --- a/examples/sync/nack/node2/keepalived.conf +++ b/examples/sync/alarm/node2/keepalived.conf diff --git a/examples/sync/persistent/script_backup.sh b/examples/sync/alarm/script_backup.sh index 8ea2ad8..8ea2ad8 100755 --- a/examples/sync/persistent/script_backup.sh +++ b/examples/sync/alarm/script_backup.sh diff --git a/examples/sync/persistent/script_master.sh b/examples/sync/alarm/script_master.sh index 70c26c9..70c26c9 100755 --- a/examples/sync/persistent/script_master.sh +++ b/examples/sync/alarm/script_master.sh diff --git a/examples/sync/ftfw/README b/examples/sync/ftfw/README new file mode 100644 index 0000000..a09db10 --- /dev/null +++ b/examples/sync/ftfw/README @@ -0,0 +1 @@ +This directory contains the files for the FT-FW based protocol diff --git a/examples/sync/nack/node1/conntrackd.conf b/examples/sync/ftfw/node1/conntrackd.conf index 4fc8f22..fadeb9d 100644 --- a/examples/sync/nack/node1/conntrackd.conf +++ b/examples/sync/ftfw/node1/conntrackd.conf @@ -2,7 +2,7 @@ # Synchronizer settings # Sync { - Mode NACK { + Mode FTFW { # # Size of the buffer that hold destroy messages for # possible resends (in bytes) diff --git a/examples/sync/persistent/node1/keepalived.conf b/examples/sync/ftfw/node1/keepalived.conf index f937467..f937467 100644 --- a/examples/sync/persistent/node1/keepalived.conf +++ b/examples/sync/ftfw/node1/keepalived.conf diff --git a/examples/sync/nack/node2/conntrackd.conf b/examples/sync/ftfw/node2/conntrackd.conf index 43ebd77..59ffc4f 100644 --- a/examples/sync/nack/node2/conntrackd.conf +++ b/examples/sync/ftfw/node2/conntrackd.conf @@ -2,7 +2,7 @@ # Synchronizer settings # Sync { - Mode NACK { + Mode FTFW { # # Size of the buffer that hold destroy messages for # possible resends (in bytes) diff --git a/examples/sync/persistent/node2/keepalived.conf b/examples/sync/ftfw/node2/keepalived.conf index f937467..f937467 100644 --- a/examples/sync/persistent/node2/keepalived.conf +++ b/examples/sync/ftfw/node2/keepalived.conf diff --git a/examples/sync/nack/script_backup.sh b/examples/sync/ftfw/script_backup.sh index 813e375..813e375 100755 --- a/examples/sync/nack/script_backup.sh +++ b/examples/sync/ftfw/script_backup.sh diff --git a/examples/sync/nack/script_master.sh b/examples/sync/ftfw/script_master.sh index ff1dbc0..ff1dbc0 100755 --- a/examples/sync/nack/script_master.sh +++ b/examples/sync/ftfw/script_master.sh diff --git a/examples/sync/nack/README b/examples/sync/nack/README deleted file mode 100644 index 66987f7..0000000 --- a/examples/sync/nack/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the files for the NACK based protocol diff --git a/examples/sync/persistent/README b/examples/sync/persistent/README deleted file mode 100644 index 36b5989..0000000 --- a/examples/sync/persistent/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the files for the PERSISTENT based protocol diff --git a/include/conntrackd.h b/include/conntrackd.h index 2722f00..1bb3879 100644 --- a/include/conntrackd.h +++ b/include/conntrackd.h @@ -34,11 +34,11 @@ #define DEFAULT_SYSLOG_FACILITY LOG_DAEMON enum { - SYNC_MODE_PERSISTENT_BIT = 0, - SYNC_MODE_PERSISTENT = (1 << SYNC_MODE_PERSISTENT_BIT), + SYNC_MODE_ALARM_BIT = 0, + SYNC_MODE_ALARM = (1 << SYNC_MODE_ALARM_BIT), - SYNC_MODE_NACK_BIT = 1, - SYNC_MODE_NACK = (1 << SYNC_MODE_NACK_BIT), + SYNC_MODE_FTFW_BIT = 1, + SYNC_MODE_FTFW = (1 << SYNC_MODE_FTFW_BIT), DONT_CHECKSUM_BIT = 2, DONT_CHECKSUM = (1 << DONT_CHECKSUM_BIT), @@ -84,7 +84,7 @@ struct ct_conf { unsigned int listen_to_len; unsigned int flags; int family; /* protocol family */ - unsigned int resend_buffer_size;/* NACK protocol */ + unsigned int resend_buffer_size;/* FTFW protocol */ unsigned int window_size; int cache_write_through; }; diff --git a/include/sync.h b/include/sync.h index 6345513..a27fb93 100644 --- a/include/sync.h +++ b/include/sync.h @@ -18,7 +18,7 @@ struct sync_mode { void (*run)(int step); }; -extern struct sync_mode notrack; -extern struct sync_mode nack; +extern struct sync_mode alarm; +extern struct sync_mode ftfw; #endif diff --git a/src/Makefile.am b/src/Makefile.am index 8f5c620..1fac3dc 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -15,7 +15,7 @@ conntrackd_SOURCES = alarm.c main.c run.c hash.c buffer.c \ ignore_pool.c \ cache.c cache_iterators.c \ cache_lifetime.c cache_timer.c cache_wt.c \ - sync-mode.c sync-notrack.c sync-nack.c \ + sync-mode.c sync-alarm.c sync-ftfw.c \ traffic_stats.c stats-mode.c \ network.c \ state_helper.c state_helper_tcp.c \ @@ -46,7 +46,7 @@ static const char usage_client_commands[] = " -k, kill conntrack daemon\n" " -s, dump statistics\n" " -R, resync with kernel conntrack table\n" - " -n, request resync with other node (only NACK mode)\n" + " -n, request resync with other node (only FT-FW mode)\n" " -x, dump cache in XML format (requires -i or -e)"; static const char usage_options[] = diff --git a/src/read_config_lex.l b/src/read_config_lex.l index 844cae1..55794a8 100644 --- a/src/read_config_lex.l +++ b/src/read_config_lex.l @@ -45,6 +45,8 @@ ip6 {ip6_form1}|{ip6_form2} string [a-zA-Z][a-zA-Z0-9]* persistent [P|p][E|e][R|r][S|s][I|i][S|s][T|t][E|e][N|n][T|T] nack [N|n][A|a][C|c][K|k] +alarm [A|a][L|l][A|a][R|r][M|m] +ftfw [F|f][T|t][F|f][W|w] %% "UNIX" { return T_UNIX; } @@ -107,8 +109,16 @@ nack [N|n][A|a][C|c][K|k] {ip4} { yylval.string = strdup(yytext); return T_IP; } {ip6} { yylval.string = strdup(yytext); return T_IP; } {path} { yylval.string = strdup(yytext); return T_PATH_VAL; } -{persistent} { return T_PERSISTENT; } -{nack} { return T_NACK; } +{alarm} { return T_ALARM; } +{persistent} { printf("WARNING: Now `persistent' mode is called " + "`alarm'. Please, update your " + "your conntrackd.conf file.\n"); + return T_ALARM; } +{ftfw} { return T_FTFW; } +{nack} { printf("WARNING: Now `nack' mode is called " + "`ftfw'. Please, update your " + "your conntrackd.conf file.\n"); + return T_FTFW; } {string} { yylval.string = strdup(yytext); return T_STRING; } {comment} ; diff --git a/src/read_config_yy.y b/src/read_config_yy.y index e5ce195..795aae9 100644 --- a/src/read_config_yy.y +++ b/src/read_config_yy.y @@ -45,7 +45,7 @@ struct ct_conf conf; %token T_LOCK T_STRIP_NAT T_BUFFER_SIZE_MAX_GROWN T_EXPIRE T_TIMEOUT %token T_GENERAL T_SYNC T_STATS T_RELAX_TRANSITIONS T_BUFFER_SIZE T_DELAY %token T_SYNC_MODE T_LISTEN_TO T_FAMILY T_RESEND_BUFFER_SIZE -%token T_PERSISTENT T_NACK T_CHECKSUM T_WINDOWSIZE T_ON T_OFF +%token T_ALARM T_FTFW T_CHECKSUM T_WINDOWSIZE T_ON T_OFF %token T_REPLICATE T_FOR T_IFACE %token T_ESTABLISHED T_SYN_SENT T_SYN_RECV T_FIN_WAIT %token T_CLOSE_WAIT T_LAST_ACK T_TIME_WAIT T_CLOSE T_LISTEN @@ -369,14 +369,14 @@ sync_line: refreshtime | cache_writethrough ; -sync_mode_persistent: T_SYNC_MODE T_PERSISTENT '{' sync_mode_persistent_list '}' +sync_mode_persistent: T_SYNC_MODE T_ALARM '{' sync_mode_persistent_list '}' { - conf.flags |= SYNC_MODE_PERSISTENT; + conf.flags |= SYNC_MODE_ALARM; }; -sync_mode_nack: T_SYNC_MODE T_NACK '{' sync_mode_nack_list '}' +sync_mode_nack: T_SYNC_MODE T_FTFW '{' sync_mode_nack_list '}' { - conf.flags |= SYNC_MODE_NACK; + conf.flags |= SYNC_MODE_FTFW; }; sync_mode_persistent_list: diff --git a/src/sync-notrack.c b/src/sync-alarm.c index 8588ecf..a0791ac 100644 --- a/src/sync-notrack.c +++ b/src/sync-alarm.c @@ -36,7 +36,7 @@ static void refresher(struct alarm_list *a, void *data) mcast_buffered_send_netmsg(STATE_SYNC(mcast_client), net, len); } -static void cache_notrack_add(struct us_conntrack *u, void *data) +static void cache_alarm_add(struct us_conntrack *u, void *data) { struct alarm_list *alarm = data; @@ -47,33 +47,33 @@ static void cache_notrack_add(struct us_conntrack *u, void *data) add_alarm(alarm); } -static void cache_notrack_update(struct us_conntrack *u, void *data) +static void cache_alarm_update(struct us_conntrack *u, void *data) { struct alarm_list *alarm = data; mod_alarm(alarm, (random() % conf.refresh) + 1); } -static void cache_notrack_destroy(struct us_conntrack *u, void *data) +static void cache_alarm_destroy(struct us_conntrack *u, void *data) { struct alarm_list *alarm = data; del_alarm(alarm); } -static struct cache_extra cache_notrack_extra = { +static struct cache_extra cache_alarm_extra = { .size = sizeof(struct alarm_list), - .add = cache_notrack_add, - .update = cache_notrack_update, - .destroy = cache_notrack_destroy + .add = cache_alarm_add, + .update = cache_alarm_update, + .destroy = cache_alarm_destroy }; -static int notrack_recv(const struct nethdr *net) +static int alarm_recv(const struct nethdr *net) { unsigned int exp_seq; /* * Ignore error messages: Although this message type is not ever - * generated in notrack mode, we don't want to crash the daemon - * if someone nuts mixes nack and notrack. + * generated in alarm mode, we don't want to crash the daemon + * if someone nuts mixes ftfw and alarm. */ if (net->flags) return 1; @@ -96,9 +96,9 @@ static int notrack_recv(const struct nethdr *net) return 0; } -struct sync_mode notrack = { +struct sync_mode alarm = { .internal_cache_flags = LIFETIME, .external_cache_flags = TIMER | LIFETIME, - .internal_cache_extra = &cache_notrack_extra, - .recv = notrack_recv, + .internal_cache_extra = &cache_alarm_extra, + .recv = alarm_recv, }; diff --git a/src/sync-nack.c b/src/sync-ftfw.c index fa61be4..2f27fe6 100644 --- a/src/sync-nack.c +++ b/src/sync-ftfw.c @@ -40,22 +40,22 @@ static unsigned int tx_list_len; static struct buffer *rs_queue; static struct buffer *tx_queue; -struct cache_nack { +struct cache_ftfw { struct list_head rs_list; struct list_head tx_list; u_int32_t seq; }; -static void cache_nack_add(struct us_conntrack *u, void *data) +static void cache_ftfw_add(struct us_conntrack *u, void *data) { - struct cache_nack *cn = data; + struct cache_ftfw *cn = data; INIT_LIST_HEAD(&cn->rs_list); INIT_LIST_HEAD(&cn->tx_list); } -static void cache_nack_del(struct us_conntrack *u, void *data) +static void cache_ftfw_del(struct us_conntrack *u, void *data) { - struct cache_nack *cn = data; + struct cache_ftfw *cn = data; if (cn->rs_list.next == &cn->rs_list && cn->rs_list.prev == &cn->rs_list) @@ -64,13 +64,13 @@ static void cache_nack_del(struct us_conntrack *u, void *data) list_del(&cn->rs_list); } -static struct cache_extra cache_nack_extra = { - .size = sizeof(struct cache_nack), - .add = cache_nack_add, - .destroy = cache_nack_del +static struct cache_extra cache_ftfw_extra = { + .size = sizeof(struct cache_ftfw), + .add = cache_ftfw_add, + .destroy = cache_ftfw_del }; -static int nack_init() +static int ftfw_init() { tx_queue = buffer_create(CONFIG(resend_buffer_size)); if (tx_queue == NULL) { @@ -90,7 +90,7 @@ static int nack_init() return 0; } -static void nack_kill() +static void ftfw_kill() { buffer_destroy(rs_queue); buffer_destroy(tx_queue); @@ -110,7 +110,7 @@ static void tx_queue_add_ctlmsg(u_int32_t flags, u_int32_t from, u_int32_t to) static int do_cache_to_tx(void *data1, void *data2) { struct us_conntrack *u = data2; - struct cache_nack *cn = cache_get_extra(STATE_SYNC(internal), u); + struct cache_ftfw *cn = cache_get_extra(STATE_SYNC(internal), u); /* add to tx list */ list_add(&cn->tx_list, &tx_list); @@ -119,7 +119,7 @@ static int do_cache_to_tx(void *data1, void *data2) return 0; } -static int nack_local(int fd, int type, void *data) +static int ftfw_local(int fd, int type, void *data) { int ret = 1; @@ -171,7 +171,7 @@ static void rs_list_to_tx(struct cache *c, unsigned int from, unsigned int to) struct us_conntrack *u; list_for_each(n, &rs_list) { - struct cache_nack *cn = (struct cache_nack *) n; + struct cache_ftfw *cn = (struct cache_ftfw *) n; struct us_conntrack *u; u = cache_get_conntrack(STATE_SYNC(internal), cn); @@ -188,7 +188,7 @@ static void rs_list_empty(struct cache *c, unsigned int from, unsigned int to) struct list_head *n, *tmp; list_for_each_safe(n, tmp, &rs_list) { - struct cache_nack *cn = (struct cache_nack *) n; + struct cache_ftfw *cn = (struct cache_ftfw *) n; struct us_conntrack *u; u = cache_get_conntrack(STATE_SYNC(internal), cn); @@ -200,7 +200,7 @@ static void rs_list_empty(struct cache *c, unsigned int from, unsigned int to) } } -static int nack_recv(const struct nethdr *net) +static int ftfw_recv(const struct nethdr *net) { static unsigned int window = 0; unsigned int exp_seq; @@ -246,17 +246,17 @@ static int nack_recv(const struct nethdr *net) return 0; } -static void nack_send(struct nethdr *net, struct us_conntrack *u) +static void ftfw_send(struct nethdr *net, struct us_conntrack *u) { struct netpld *pld = NETHDR_DATA(net); - struct cache_nack *cn; + struct cache_ftfw *cn; HDR_NETWORK2HOST(net); switch(ntohs(pld->query)) { case NFCT_Q_CREATE: case NFCT_Q_UPDATE: - cn = (struct cache_nack *) + cn = (struct cache_ftfw *) cache_get_extra(STATE_SYNC(internal), u); if (cn->rs_list.next == &cn->rs_list && @@ -325,7 +325,7 @@ static void do_alive_alarm(struct alarm_list *a, void *data) tx_queue_add_ctlmsg(NET_F_ALIVE, 0, 0); } -static void nack_run(int step) +static void ftfw_run(int step) { struct list_head *i, *tmp; @@ -334,10 +334,10 @@ static void nack_run(int step) /* send conntracks in the tx_list */ list_for_each_safe(i, tmp, &tx_list) { - struct cache_nack *cn; + struct cache_ftfw *cn; struct us_conntrack *u; - cn = container_of(i, struct cache_nack, tx_list); + cn = container_of(i, struct cache_ftfw, tx_list); u = cache_get_conntrack(STATE_SYNC(internal), cn); tx_list_xmit(i, u); } @@ -353,14 +353,14 @@ static void nack_run(int step) } } -struct sync_mode nack = { +struct sync_mode ftfw = { .internal_cache_flags = LIFETIME, .external_cache_flags = LIFETIME, - .internal_cache_extra = &cache_nack_extra, - .init = nack_init, - .kill = nack_kill, - .local = nack_local, - .recv = nack_recv, - .send = nack_send, - .run = nack_run, + .internal_cache_extra = &cache_ftfw_extra, + .init = ftfw_init, + .kill = ftfw_kill, + .local = ftfw_local, + .recv = ftfw_recv, + .send = ftfw_send, + .run = ftfw_run, }; diff --git a/src/sync-mode.c b/src/sync-mode.c index 8a19ac5..7cd2b84 100644 --- a/src/sync-mode.c +++ b/src/sync-mode.c @@ -126,11 +126,11 @@ static int init_sync(void) } memset(state.sync, 0, sizeof(struct ct_sync_state)); - if (CONFIG(flags) & SYNC_MODE_NACK) - STATE_SYNC(sync) = &nack; + if (CONFIG(flags) & SYNC_MODE_FTFW) + STATE_SYNC(sync) = &ftfw; else - /* default to persistent mode */ - STATE_SYNC(sync) = ¬rack; + /* default to ftfw mode */ + STATE_SYNC(sync) = &ftfw; if (STATE_SYNC(sync)->init) STATE_SYNC(sync)->init(); |