Re: libnl: Unmatched NL_ACT_DEL and NL_ACT_CHANGE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Volker Poplawski wrote:
Hi all.

Could s.o. please  have a look at my (short) code at
http://pastie.org/534637

(maybe compile it with g++ -Wall test.c -o test -I ... -L ... -lnl -lnl-genl -
lnl-nf -lnl-route)

What the code does is to listen to changes in the ct-table using libnl. It keeps score of reported ctId in a lookup table.

Problem is: I'm getting a lot of NL_ACT_CHANGE & NL_ACT_DEL without having seen a matching NL_ACT_NEW. (Also there seems to be no initial cache fill)

kernel 2.6.27 (opensuse 11.1), libnl 2.0 (git master)

I think I know whats happening - the ct objects don't define the
attribute(s) distinguishing different entries, so cache_include()
doesn't recognize them as new.

Does this patch make any difference?
diff --git a/lib/netfilter/ct_obj.c b/lib/netfilter/ct_obj.c
index ae14c0d..48a7abe 100644
--- a/lib/netfilter/ct_obj.c
+++ b/lib/netfilter/ct_obj.c
@@ -779,6 +779,7 @@ struct nl_object_ops ct_obj_ops = {
 	    [NL_DUMP_STATS]	= ct_dump_stats,
 	},
 	.oo_compare		= ct_compare,
+	.oo_id_attrs		= CT_ATTR_ID,
 	.oo_attrs2str		= ct_attrs2str,
 };
 

[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux