From: Jozsef Kadlecsik Date: Tue, 24 May 2011 07:34:01 +0000 (+0200) Subject: Fix the message sequence number book-keeping X-Git-Tag: v6.6~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ab446d36b014120e15668ca0f77958110022ec8a;p=ipset Fix the message sequence number book-keeping The internal messages mix with the public messages and that confused the sequence number book-keeping. Move setting/updating into ipset_mnl_query. --- diff --git a/lib/mnl.c b/lib/mnl.c index d18ec04..9b7267c 100644 --- a/lib/mnl.c +++ b/lib/mnl.c @@ -75,7 +75,6 @@ ipset_mnl_fill_hdr(struct ipset_handle *handle, enum ipset_cmd cmd, nlh->nlmsg_flags = cmdflags[cmd - 1]; if (envflags & IPSET_ENV_EXIST) nlh->nlmsg_flags &= ~NLM_F_EXCL; - nlh->nlmsg_seq = ++handle->seq; nfg = mnl_nlmsg_put_extra_header(nlh, sizeof(struct nfgenmsg)); nfg->nfgen_family = AF_INET; @@ -92,6 +91,7 @@ ipset_mnl_query(struct ipset_handle *handle, void *buffer, size_t len) assert(handle); assert(buffer); + nlh->nlmsg_seq = ++handle->seq; #ifdef IPSET_DEBUG ipset_debug_msg("sent", nlh, nlh->nlmsg_len); #endif