summaryrefslogtreecommitdiffstats
path: root/src/network.c
diff options
context:
space:
mode:
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-06-04 15:19:42 +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-06-04 15:19:42 +0000
commitcea33148e4ccf108f587e5796c026600aba35ab1 (patch)
treeff11c9044574357b1ae23fbcacc5155382aaa632 /src/network.c
parent3b08bd18d5f0364c8dfa6f2b974799919482d512 (diff)
o remove useless backlog parameter in multicast sockets
o remove reminiscents of delay destroy message and relax transitions o remove confusing StripNAT parameter: NAT support enabled by default o relax event tracking: *_update callbacks use cache_update_force o use wraparound-aware functions after/before/between o lots of cleanups
Diffstat (limited to 'src/network.c')
-rw-r--r--src/network.c27
1 files changed, 5 insertions, 22 deletions
diff --git a/src/network.c b/src/network.c
index abd30fe..a7ce740 100644
--- a/src/network.c
+++ b/src/network.c
@@ -205,33 +205,16 @@ int mcast_track_seq(u_int32_t seq, u_int32_t *exp_seq)
goto out;
/* out of sequence: some messages got lost */
- if (seq > STATE_SYNC(last_seq_recv)+1) {
+ if (after(seq, STATE_SYNC(last_seq_recv)+1)) {
STATE_SYNC(packets_lost) += seq-STATE_SYNC(last_seq_recv)+1;
ret = 0;
goto out;
}
- /* out of sequence: replayed or sequence wrapped around issues */
- if (seq < STATE_SYNC(last_seq_recv)+1) {
- /*
- * Check if the sequence has wrapped around.
- * Perhaps it can be a replayed packet.
- */
- if (STATE_SYNC(last_seq_recv)+1-seq > ~0U/2) {
- /*
- * Indeed, it is a wrapped around
- */
- STATE_SYNC(packets_lost) +=
- ~0U-STATE_SYNC(last_seq_recv)+1+seq;
- } else {
- /*
- * It is a delayed packet
- */
- dlog(STATE(log), "delayed packet? exp=%u rcv=%u",
- STATE_SYNC(last_seq_recv)+1, seq);
- }
- ret = 0;
- }
+ /* out of sequence: replayed/delayed packet? */
+ if (before(seq, STATE_SYNC(last_seq_recv)+1))
+ dlog(STATE(log), "delayed packet? exp=%u rcv=%u",
+ STATE_SYNC(last_seq_recv)+1, seq);
out:
*exp_seq = STATE_SYNC(last_seq_recv)+1;