• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/xnu-2782.1.97/bsd/net/classq/

Lines Matching refs:bp

167 	struct blue *bp;
171 bp = zalloc(blue_zone);
172 if (bp == NULL)
175 bzero(bp, blue_size);
176 bp->blue_idle = 1;
177 bp->blue_ifp = ifp;
178 bp->blue_flags = (flags & BLUEF_USERFLAGS);
180 if (bp->blue_flags & BLUEF_ECN) {
181 bp->blue_flags &= ~BLUEF_ECN;
189 bp->blue_max_pmark = 1000;
191 bp->blue_max_pmark = max_pmark;
194 bp->blue_hold_time = 50000;
196 bp->blue_hold_time = hold_time;
198 microuptime(&bp->blue_last);
200 return (bp);
204 blue_destroy(struct blue *bp)
206 zfree(blue_zone, bp);
210 blue_getstats(struct blue *bp, struct blue_stats *sp)
212 sp->q_pmark = bp->blue_pmark;
213 sp->drop_forced = bp->blue_stats.drop_forced;
214 sp->drop_unforced = bp->blue_stats.drop_unforced;
215 sp->marked_packets = bp->blue_stats.marked_packets;
223 blue_addq(struct blue *bp, class_queue_t *q, struct mbuf *m,
235 if (bp->blue_idle) {
239 bp->blue_idle = 0;
241 t = (now.tv_sec - bp->blue_last.tv_sec);
243 bp->blue_pmark = 1;
244 microuptime(&bp->blue_last);
246 t = t * 1000000 + (now.tv_usec - bp->blue_last.tv_usec);
247 if (t > bp->blue_hold_time) {
248 bp->blue_pmark--;
249 if (bp->blue_pmark < 0)
250 bp->blue_pmark = 0;
251 microuptime(&bp->blue_last);
258 if (blue_drop_early(bp) && qlen(q) > 1) {
261 if ((bp->blue_flags & BLUEF_ECN) &&
263 mark_ecn(m, tag, bp->blue_flags)) {
265 bp->blue_stats.marked_packets++;
285 bp->blue_stats.drop_unforced++;
292 t = (now.tv_sec - bp->blue_last.tv_sec);
293 t = t * 1000000 + (now.tv_usec - bp->blue_last.tv_usec);
294 if (t > bp->blue_hold_time) {
295 bp->blue_pmark += bp->blue_max_pmark >> 3;
296 if (bp->blue_pmark > bp->blue_max_pmark)
297 bp->blue_pmark = bp->blue_max_pmark;
298 microuptime(&bp->blue_last);
300 bp->blue_stats.drop_forced++;
302 IFCQ_CONVERT_LOCK(&bp->blue_ifp->if_snd);
311 blue_getq_flow(struct blue *bp, class_queue_t *q, u_int32_t flow,
319 if (bp->blue_idle == 0) {
320 bp->blue_idle = 1;
321 microuptime(&bp->blue_last);
326 bp->blue_idle = 0;
331 blue_getq(struct blue *bp, class_queue_t *q)
333 return (blue_getq_flow(bp, q, 0, FALSE));
337 blue_purgeq(struct blue *bp, class_queue_t *q, u_int32_t flow,
343 IFCQ_CONVERT_LOCK(&bp->blue_ifp->if_snd);
345 while ((m = blue_getq_flow(bp, q, flow, TRUE)) != NULL) {
361 blue_drop_early(struct blue *bp)
363 if ((RandomULong() % (unsigned)bp->blue_max_pmark) <
364 (unsigned)bp->blue_pmark) {
373 blue_updateq(struct blue *bp, cqev_t ev)
375 #pragma unused(bp, ev)
380 blue_suspendq(struct blue *bp, class_queue_t *q, boolean_t on)
382 #pragma unused(bp, q, on)