Index: ip_vs_sync.c =================================================================== RCS file: /home/wensong/cvsroot/ipvs/ip_vs_sync.c,v retrieving revision 1.5 diff -u -r1.5 ip_vs_sync.c --- ip_vs_sync.c 11 Dec 2001 12:41:29 -0000 1.5 +++ ip_vs_sync.c 27 Jun 2002 03:58:15 -0000 @@ -263,11 +263,15 @@ IP_VS_ERR("ip_vs_conn_new failed\n"); return; } - } else + cp->state = ntohs(s->state); + } else if (!cp->dest) { + /* it is an entry created by the synchronization */ + cp->state = ntohs(s->state); cp->flags = ntohs(s->flags) | IP_VS_CONN_F_HASHED; + } /* Note that we don't touch its state and flags + if it is a normal entry. */ - cp->state = ntohs(s->state); - if (cp->flags & IP_VS_CONN_F_SEQ_MASK) { + if (ntohs(s->flags) & IP_VS_CONN_F_SEQ_MASK) { opt = (struct ip_vs_sync_conn_options *)&s[1]; memcpy(&cp->in_seq, opt, sizeof(*opt)); p += FULL_CONN_SIZE;