K 10 svn:author V 7 glebius K 8 svn:date V 27 2012-03-01T10:55:01.700113Z K 7 svn:log V 742 Locking pf normalization code: - Make struct pf_frent, pf_frcache, pf_fragment private to pf_norm.c. - Make fragment UMA zones, TAILQs and RB-trees static to pf_norm.c - Introduce mutex pf_frag_mtx for the above fragment storage structures. - Assert the mutex in storage manipulation functions, obtain it in pf_normalize_ip() and in pf_normalize_ip6(), when we are dealing with a fragment. - TODO: lock pf_normalize_tcp_stateful() Other bits in progress: - Rename the main pf_task_mtx, to pf_mtx, description "pf Giant". - Introduce rwlock pf_rules_lock, that protects rules. - Obtain the rwlock in pf_test(), pf_test6(). - Micro-optimise pf_test(), pf_test6() obtaining the pf Giant after initial assertions and basic checks. END