Lines Matching refs:lss
53 struct tc_cbq_lssopt lss; in cbq_parse_opt() local
62 memset(&lss, 0, sizeof(lss)); in cbq_parse_opt()
161 lss.ewma_log = ewma_log; in cbq_parse_opt()
162 lss.maxidle = tc_calc_xmittime(r.rate, avpkt); in cbq_parse_opt()
163 lss.change = TCF_CBQ_LSS_MAXIDLE|TCF_CBQ_LSS_EWMA|TCF_CBQ_LSS_AVPKT; in cbq_parse_opt()
164 lss.avpkt = avpkt; in cbq_parse_opt()
169 addattr_l(n, 1024, TCA_CBQ_LSSOPT, &lss, sizeof(lss)); in cbq_parse_opt()
185 struct tc_cbq_lssopt lss; in cbq_parse_class_opt() local
200 memset(&lss, 0, sizeof(lss)); in cbq_parse_class_opt()
220 if (get_u32(&lss.minidle, *argv, 0)) { in cbq_parse_class_opt()
224 lss.change |= TCF_CBQ_LSS_MINIDLE; in cbq_parse_class_opt()
231 lss.change |= TCF_CBQ_LSS_OFFTIME; in cbq_parse_class_opt()
238 lss.change |= TCF_CBQ_LSS_MAXIDLE; in cbq_parse_class_opt()
240 lss.flags |= TCF_CBQ_LSS_BOUNDED; in cbq_parse_class_opt()
241 lss.change |= TCF_CBQ_LSS_FLAGS; in cbq_parse_class_opt()
243 lss.flags &= ~TCF_CBQ_LSS_BOUNDED; in cbq_parse_class_opt()
244 lss.change |= TCF_CBQ_LSS_FLAGS; in cbq_parse_class_opt()
246 lss.flags |= TCF_CBQ_LSS_ISOLATED; in cbq_parse_class_opt()
247 lss.change |= TCF_CBQ_LSS_FLAGS; in cbq_parse_class_opt()
249 lss.flags &= ~TCF_CBQ_LSS_ISOLATED; in cbq_parse_class_opt()
250 lss.change |= TCF_CBQ_LSS_FLAGS; in cbq_parse_class_opt()
261 lss.change |= TCF_CBQ_LSS_EWMA; in cbq_parse_class_opt()
299 if (get_size(&lss.avpkt, *argv)) { in cbq_parse_class_opt()
303 lss.change |= TCF_CBQ_LSS_AVPKT; in cbq_parse_class_opt()
361 if (wrr.allot < (lss.avpkt*3)/2) in cbq_parse_class_opt()
362 wrr.allot = (lss.avpkt*3)/2; in cbq_parse_class_opt()
372 lss.ewma_log = ewma_log; in cbq_parse_class_opt()
373 if (lss.change&(TCF_CBQ_LSS_OFFTIME|TCF_CBQ_LSS_MAXIDLE)) { in cbq_parse_class_opt()
374 if (lss.avpkt == 0) { in cbq_parse_class_opt()
387 wrr.allot = (lss.avpkt*3)/2; in cbq_parse_class_opt()
397 if (lss.change&TCF_CBQ_LSS_MAXIDLE) { in cbq_parse_class_opt()
398 lss.maxidle = tc_cbq_calc_maxidle(bndw, r.rate, lss.avpkt, ewma_log, maxburst); in cbq_parse_class_opt()
399 lss.change |= TCF_CBQ_LSS_MAXIDLE; in cbq_parse_class_opt()
400 lss.change |= TCF_CBQ_LSS_EWMA|TCF_CBQ_LSS_AVPKT; in cbq_parse_class_opt()
402 if (lss.change&TCF_CBQ_LSS_OFFTIME) { in cbq_parse_class_opt()
403 lss.offtime = tc_cbq_calc_offtime(bndw, r.rate, lss.avpkt, ewma_log, minburst); in cbq_parse_class_opt()
404 lss.change |= TCF_CBQ_LSS_OFFTIME; in cbq_parse_class_opt()
405 lss.change |= TCF_CBQ_LSS_EWMA|TCF_CBQ_LSS_AVPKT; in cbq_parse_class_opt()
407 if (lss.change&TCF_CBQ_LSS_MINIDLE) { in cbq_parse_class_opt()
408 lss.minidle <<= lss.ewma_log; in cbq_parse_class_opt()
409 lss.change |= TCF_CBQ_LSS_EWMA; in cbq_parse_class_opt()
414 if (lss.change) { in cbq_parse_class_opt()
415 lss.change |= TCF_CBQ_LSS_FLAGS; in cbq_parse_class_opt()
416 addattr_l(n, 1024, TCA_CBQ_LSSOPT, &lss, sizeof(lss)); in cbq_parse_class_opt()
441 struct tc_cbq_lssopt *lss = NULL; in cbq_print_opt() local
459 if (RTA_PAYLOAD(tb[TCA_CBQ_LSSOPT]) < sizeof(*lss)) in cbq_print_opt()
462 lss = RTA_DATA(tb[TCA_CBQ_LSSOPT]); in cbq_print_opt()
497 if (lss && lss->flags) { in cbq_print_opt()
500 if (lss->flags&TCF_CBQ_LSS_BOUNDED) { in cbq_print_opt()
504 if (lss->flags&TCF_CBQ_LSS_ISOLATED) { in cbq_print_opt()
527 if (lss && show_details) { in cbq_print_opt()
528 fprintf(f, "\nlevel %u ewma %u avpkt %ub ", lss->level, lss->ewma_log, lss->avpkt); in cbq_print_opt()
529 if (lss->maxidle) { in cbq_print_opt()
530 fprintf(f, "maxidle %s ", sprint_ticks(lss->maxidle>>lss->ewma_log, b1)); in cbq_print_opt()
532 fprintf(f, "[%08x] ", lss->maxidle); in cbq_print_opt()
534 if (lss->minidle!=0x7fffffff) { in cbq_print_opt()
535 fprintf(f, "minidle %s ", sprint_ticks(lss->minidle>>lss->ewma_log, b1)); in cbq_print_opt()
537 fprintf(f, "[%08x] ", lss->minidle); in cbq_print_opt()
539 if (lss->offtime) { in cbq_print_opt()
540 fprintf(f, "offtime %s ", sprint_ticks(lss->offtime, b1)); in cbq_print_opt()
542 fprintf(f, "[%08x] ", lss->offtime); in cbq_print_opt()