? bpf_if.h Index: hfsc.c =================================================================== RCS file: /cvs/src/sys/net/hfsc.c,v retrieving revision 1.16 diff -u -p -r1.16 hfsc.c --- hfsc.c 3 Mar 2015 11:14:00 -0000 1.16 +++ hfsc.c 11 Apr 2015 12:51:50 -0000 @@ -121,6 +121,8 @@ struct hfsc_class *hfsc_clh2cph(struct h #define HFSC_HT_INFINITY 0xffffffffffffffffLL /* infinite time value */ +struct pool hfsc_class_pl, hfsc_classq_pl, hfsc_internal_sc_pl; + u_int64_t hfsc_microuptime(void) { @@ -153,6 +155,17 @@ hfsc_grow_class_tbl(struct hfsc_if *hif, hif->hif_allocated = howmany; free(old, M_DEVBUF, 0); +} + +void +hfsc_initialize(void) +{ + pool_init(&hfsc_class_pl, sizeof(struct hfsc_class), 0, 0, PR_WAITOK, + "hfscclass", NULL); + pool_init(&hfsc_classq_pl, sizeof(struct hfsc_classq), 0, 0, PR_WAITOK, + "hfscclassq", NULL); + pool_init(&hfsc_internal_sc_pl, sizeof(struct hfsc_internal_sc), 0, 0, + PR_WAITOK, "hfscintsc", NULL); } int Index: hfsc.h =================================================================== RCS file: /cvs/src/sys/net/hfsc.h,v retrieving revision 1.6 diff -u -p -r1.6 hfsc.h --- hfsc.h 19 Apr 2014 16:02:17 -0000 1.6 +++ hfsc.h 11 Apr 2015 12:51:50 -0000 @@ -258,6 +258,7 @@ struct hfsc_if { struct ifnet; struct ifqueue; struct pf_queuespec; +void hfsc_initialize(void); int hfsc_attach(struct ifnet *); int hfsc_detach(struct ifnet *); void hfsc_purge(struct ifqueue *); Index: pf.c =================================================================== RCS file: /cvs/src/sys/net/pf.c,v retrieving revision 1.910 diff -u -p -r1.910 pf.c --- pf.c 8 Apr 2015 12:50:21 -0000 1.910 +++ pf.c 11 Apr 2015 12:51:50 -0000 @@ -135,7 +135,6 @@ union pf_headers { struct pool pf_src_tree_pl, pf_rule_pl, pf_queue_pl; struct pool pf_state_pl, pf_state_key_pl, pf_state_item_pl; struct pool pf_rule_item_pl, pf_sn_item_pl; -struct pool hfsc_class_pl, hfsc_classq_pl, hfsc_internal_sc_pl; void pf_init_threshold(struct pf_threshold *, u_int32_t, u_int32_t); Index: pf_ioctl.c =================================================================== RCS file: /cvs/src/sys/net/pf_ioctl.c,v retrieving revision 1.284 diff -u -p -r1.284 pf_ioctl.c --- pf_ioctl.c 14 Mar 2015 03:38:51 -0000 1.284 +++ pf_ioctl.c 11 Apr 2015 12:51:50 -0000 @@ -155,12 +155,7 @@ pfattach(int num) "pfruleitem", NULL); pool_init(&pf_queue_pl, sizeof(struct pf_queuespec), 0, 0, 0, "pfqueue", NULL); - pool_init(&hfsc_class_pl, sizeof(struct hfsc_class), 0, 0, PR_WAITOK, - "hfscclass", NULL); - pool_init(&hfsc_classq_pl, sizeof(struct hfsc_classq), 0, 0, PR_WAITOK, - "hfscclassq", NULL); - pool_init(&hfsc_internal_sc_pl, sizeof(struct hfsc_internal_sc), 0, 0, - PR_WAITOK, "hfscintsc", NULL); + hfsc_initialize(); pfr_initialize(); pfi_initialize(); pf_osfp_initialize(); Index: pfvar.h =================================================================== RCS file: /cvs/src/sys/net/pfvar.h,v retrieving revision 1.413 diff -u -p -r1.413 pfvar.h --- pfvar.h 15 Feb 2015 10:40:53 -0000 1.413 +++ pfvar.h 11 Apr 2015 12:51:50 -0000 @@ -1760,8 +1760,6 @@ extern struct pool pf_src_tree_pl, pf_ extern struct pool pf_state_pl, pf_state_key_pl, pf_state_item_pl, pf_rule_item_pl, pf_queue_pl; extern struct pool pf_state_scrub_pl; -extern struct pool hfsc_class_pl, hfsc_classq_pl, - hfsc_internal_sc_pl; extern void pf_purge_thread(void *); extern void pf_purge_expired_src_nodes(int); extern void pf_purge_expired_states(u_int32_t);