• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/sys/net/altq/

Lines Matching defs:hif

188 	struct hfsc_if *hif;
195 hif = malloc(sizeof(struct hfsc_if), M_DEVBUF, M_NOWAIT | M_ZERO);
196 if (hif == NULL)
199 TAILQ_INIT(&hif->hif_eligible);
200 hif->hif_ifq = &ifp->if_snd;
203 a->altq_disc = hif;
211 struct hfsc_if *hif;
213 if ((hif = a->altq_disc) == NULL)
217 (void)hfsc_clear_interface(hif);
218 (void)hfsc_class_destroy(hif->hif_rootclass);
220 free(hif, M_DEVBUF);
228 struct hfsc_if *hif;
233 if ((hif = a->altq_disc) == NULL)
239 hif->hif_rootclass == NULL)
241 else if ((parent = clh_to_clp(hif, a->parent_qid)) == NULL)
247 if (clh_to_clp(hif, a->qid) != NULL)
260 cl = hfsc_class_create(hif, &rtsc, &lssc, &ulsc,
271 struct hfsc_if *hif;
274 if ((hif = a->altq_disc) == NULL)
277 if ((cl = clh_to_clp(hif, a->qid)) == NULL)
286 struct hfsc_if *hif;
295 if ((hif = altq_lookup(a->ifname, ALTQT_HFSC)) == NULL)
298 if ((cl = clh_to_clp(hif, a->qid)) == NULL)
330 hfsc_clear_interface(struct hfsc_if *hif)
336 acc_discard_filters(&hif->hif_classifier, NULL, 1);
340 while (hif->hif_rootclass != NULL &&
341 (cl = hif->hif_rootclass->cl_children) != NULL) {
360 struct hfsc_if *hif = (struct hfsc_if *)ifq->altq_disc;
366 hfsc_purge(hif);
374 hfsc_purge(struct hfsc_if *hif)
378 for (cl = hif->hif_rootclass; cl != NULL; cl = hfsc_nextclass(cl))
381 if (ALTQ_IS_ENABLED(hif->hif_ifq))
382 hif->hif_ifq->ifq_len = 0;
386 hfsc_class_create(struct hfsc_if *hif, struct service_curve *rsc,
393 if (hif->hif_classes >= HFSC_MAX_CLASSES)
453 red_pkttime = (int64_t)hif->hif_ifq->altq_ifp->if_mtu
507 cl->cl_id = hif->hif_classid++;
509 cl->cl_hif = hif;
513 IFQ_LOCK(hif->hif_ifq);
514 hif->hif_classes++;
522 if (hif->hif_class_tbl[i] == NULL)
523 hif->hif_class_tbl[i] = cl;
526 if (hif->hif_class_tbl[i] == NULL) {
527 hif->hif_class_tbl[i] = cl;
531 IFQ_UNLOCK(hif->hif_ifq);
539 hif->hif_defaultclass = cl;
543 hif->hif_rootclass = cl;
554 IFQ_UNLOCK(hif->hif_ifq);
666 * for (cl = hif->hif_rootclass; cl != NULL; cl = hfsc_nextclass(cl))
694 struct hfsc_if *hif = (struct hfsc_if *)ifq->altq_disc;
711 cl = clh_to_clp(hif, t->qid);
717 cl = hif->hif_defaultclass;
757 struct hfsc_if *hif = (struct hfsc_if *)ifq->altq_disc;
766 if (hif->hif_packets == 0)
772 if (op == ALTDQ_REMOVE && hif->hif_pollcache != NULL) {
774 cl = hif->hif_pollcache;
775 hif->hif_pollcache = NULL;
785 if ((cl = hfsc_get_mindl(hif, cur_time))
796 cl = hif->hif_rootclass;
820 hif->hif_pollcache = cl;
1206 struct hfsc_if *hif = cl->cl_hif;
1210 if ((p = TAILQ_LAST(&hif->hif_eligible, elighead)) == NULL ||
1212 TAILQ_INSERT_TAIL(&hif->hif_eligible, cl, cl_ellist);
1216 TAILQ_FOREACH(p, &hif->hif_eligible, cl_ellist) {
1228 struct hfsc_if *hif = cl->cl_hif;
1230 TAILQ_REMOVE(&hif->hif_eligible, cl, cl_ellist);
1236 struct hfsc_if *hif = cl->cl_hif;
1248 last = TAILQ_LAST(&hif->hif_eligible, elighead);
1251 TAILQ_REMOVE(&hif->hif_eligible, cl, cl_ellist);
1252 TAILQ_INSERT_TAIL(&hif->hif_eligible, cl, cl_ellist);
1262 TAILQ_REMOVE(&hif->hif_eligible, cl, cl_ellist);
1272 hfsc_get_mindl(struct hfsc_if *hif, u_int64_t cur_time)
1276 TAILQ_FOREACH(p, &hif->hif_eligible, cl_ellist) {
1765 clh_to_clp(struct hfsc_if *hif, u_int32_t chandle)
1777 if ((cl = hif->hif_class_tbl[i]) != NULL && cl->cl_handle == chandle)
1780 if ((cl = hif->hif_class_tbl[i]) != NULL &&
1792 struct hfsc_if *hif;
1794 hif = malloc(sizeof(struct hfsc_if), M_DEVBUF, M_WAITOK);
1795 if (hif == NULL)
1797 bzero(hif, sizeof(struct hfsc_if));
1799 hif->hif_eligible = ellist_alloc();
1800 if (hif->hif_eligible == NULL) {
1801 free(hif, M_DEVBUF);
1805 hif->hif_ifq = ifq;
1808 hif->hif_next = hif_list;
1809 hif_list = hif;
1811 return (hif);
1815 hfsc_detach(hif)
1816 struct hfsc_if *hif;
1818 (void)hfsc_clear_interface(hif);
1819 (void)hfsc_class_destroy(hif->hif_rootclass);
1821 /* remove this interface from the hif list */
1822 if (hif_list == hif)
1823 hif_list = hif->hif_next;
1828 if (h->hif_next == hif) {
1829 h->hif_next = hif->hif_next;
1835 ellist_destroy(hif->hif_eligible);
1837 free(hif, M_DEVBUF);
1987 struct hfsc_if *hif;
1990 while ((hif = hif_list) != NULL) {
1992 if (ALTQ_IS_ENABLED(hif->hif_ifq))
1993 altq_disable(hif->hif_ifq);
1995 err = altq_detach(hif->hif_ifq);
1997 err = hfsc_detach(hif);
2017 struct hfsc_if *hif;
2053 if ((hif = altq_lookup(ifacep->hfsc_ifname,
2062 if (hif->hif_defaultclass == NULL) {
2069 error = altq_enable(hif->hif_ifq);
2073 error = altq_disable(hif->hif_ifq);
2077 hfsc_clear_interface(hif);
2117 struct hfsc_if *hif;
2124 if ((hif = hfsc_attach(&ifp->if_snd, ap->bandwidth)) == NULL)
2130 if ((error = altq_attach(&ifp->if_snd, ALTQT_HFSC, hif,
2132 &hif->hif_classifier, acc_classify)) != 0)
2133 (void)hfsc_detach(hif);
2142 struct hfsc_if *hif;
2145 if ((hif = altq_lookup(ap->hfsc_ifname, ALTQT_HFSC)) == NULL)
2148 if (ALTQ_IS_ENABLED(hif->hif_ifq))
2149 altq_disable(hif->hif_ifq);
2151 if ((error = altq_detach(hif->hif_ifq)))
2154 return hfsc_detach(hif);
2161 struct hfsc_if *hif;
2165 if ((hif = altq_lookup(ap->iface.hfsc_ifname, ALTQT_HFSC)) == NULL)
2169 hif->hif_rootclass == NULL)
2171 else if ((parent = clh_to_clp(hif, ap->parent_handle)) == NULL)
2176 if (hif->hif_class_tbl[i] == NULL)
2181 if ((cl = hfsc_class_create(hif, &ap->service_curve, NULL, NULL,
2195 struct hfsc_if *hif;
2198 if ((hif = altq_lookup(ap->iface.hfsc_ifname, ALTQT_HFSC)) == NULL)
2201 if ((cl = clh_to_clp(hif, ap->class_handle)) == NULL)
2211 struct hfsc_if *hif;
2217 if ((hif = altq_lookup(ap->iface.hfsc_ifname, ALTQT_HFSC)) == NULL)
2220 if ((cl = clh_to_clp(hif, ap->class_handle)) == NULL)
2237 struct hfsc_if *hif;
2240 if ((hif = altq_lookup(ap->iface.hfsc_ifname, ALTQT_HFSC)) == NULL)
2243 if ((cl = clh_to_clp(hif, ap->class_handle)) == NULL)
2253 return acc_add_filter(&hif->hif_classifier, &ap->filter,
2261 struct hfsc_if *hif;
2263 if ((hif = altq_lookup(ap->iface.hfsc_ifname, ALTQT_HFSC)) == NULL)
2266 return acc_delete_filter(&hif->hif_classifier,
2274 struct hfsc_if *hif;
2279 if ((hif = altq_lookup(ap->iface.hfsc_ifname, ALTQT_HFSC)) == NULL)
2284 ap->hif_classes = hif->hif_classes;
2285 ap->hif_packets = hif->hif_packets;
2289 for (cl = hif->hif_rootclass, n = 0; cl != NULL && n < nclasses;