list_for_each(i, &ip_conntrack_hash[cb->args[0]]) { 
list_for_each_prev(i, &ip_conntrack_hash[cb->args[0]]) { 
ctnetlink_dump_table(struct sk_buff *skb, struct netlink_callback *cb){	struct ip_conntrack *ct = NULL;	struct ip_conntrack_tuple_hash *h;	struct list_head *i;	u_int32_t *id = (u_int32_t *) &cb->args[1];	DEBUGP("entered %s, last bucket=%lu id=%u\n", __FUNCTION__, 			cb->args[0], *id);	read_lock_bh(&ip_conntrack_lock);	for (; cb->args[0] < ip_conntrack_htable_size; cb->args[0]++, *id = 0) {		list_for_each(i, &ip_conntrack_hash[cb->args[0]]) {			h = (struct ip_conntrack_tuple_hash *) i;			if (DIRECTION(h) != IP_CT_DIR_ORIGINAL)				continue;			ct = tuplehash_to_ctrack(h);			if (ct->id <= *id)				continue;			if (ctnetlink_fill_info(skb, NETLINK_CB(cb->skb).pid,		                        	cb->nlh->nlmsg_seq,						IPCTNL_MSG_CT_NEW,						1, ct) < 0)				goto out;			*id = ct->id;		}	}out:		read_unlock_bh(&ip_conntrack_lock);	DEBUGP("leaving, last bucket=%lu id=%u\n", cb->args[0], *id);	return skb->len;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/ff21d5774b4a186c98be6398eacde75d896db804/ip_conntrack_netlink.c/clean/net/ipv4/netfilter/ip_conntrack_netlink.c