K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-11-22T19:22:26.009034Z K 7 svn:log V 716 The DIOCKILLSRCNODES operation was implemented with O(m*n) complexity, where "m" is number of source nodes and "n" is number of states. Thus, on heavy loaded router its processing consumed a lot of CPU time. Reimplement it with O(m+n) complexity. We first scan through source nodes and disconnect matching ones, putting them on the freelist and marking with a cookie value in their expire field. Then we scan through the states, detecting references to source nodes with a cookie, and disconnect them as well. Then the freelist is passed to pf_free_src_nodes(). In collaboration with: Kajetan Staszkiewicz PR: kern/176763 Sponsored by: InnoGames GmbH Sponsored by: Nginx, Inc. END