Lines Matching refs:fs

170 			pipe.fs.fs_nr = i;  in config_dummynet()
181 pipe.fs.flags_fs |= DN_NOERROR; in config_dummynet()
191 pipe.fs.plr = (int)(d*0x7fffffff); in config_dummynet()
198 pipe.fs.qsize = getbw(av[0], &pipe.fs.flags_fs, 1024); in config_dummynet()
204 pipe.fs.rq_size = strtoul(av[0], NULL, 0); in config_dummynet()
216 pipe.fs.flow_mask.type = ETHERTYPE_IP; in config_dummynet()
217 pipe.fs.flow_mask.u.ip.dst_ip = 0; in config_dummynet()
218 pipe.fs.flow_mask.u.ip.src_ip = 0; in config_dummynet()
219 pipe.fs.flow_mask.u.ip.dst_port = 0; in config_dummynet()
220 pipe.fs.flow_mask.u.ip.src_port = 0; in config_dummynet()
221 pipe.fs.flow_mask.u.ip.proto = 0; in config_dummynet()
235 pipe.fs.flow_mask.u.ip.dst_ip = ~0; in config_dummynet()
236 pipe.fs.flow_mask.u.ip.src_ip = ~0; in config_dummynet()
237 pipe.fs.flow_mask.u.ip.dst_port = ~0; in config_dummynet()
238 pipe.fs.flow_mask.u.ip.src_port = ~0; in config_dummynet()
239 pipe.fs.flow_mask.u.ip.proto = ~0; in config_dummynet()
240 pipe.fs.flags_fs |= DN_HAVE_FLOW_MASK; in config_dummynet()
244 p32 = &pipe.fs.flow_mask.u.ip.dst_ip; in config_dummynet()
248 p32 = &pipe.fs.flow_mask.u.ip.src_ip; in config_dummynet()
252 p16 = &pipe.fs.flow_mask.u.ip.dst_port; in config_dummynet()
256 p16 = &pipe.fs.flow_mask.u.ip.src_port; in config_dummynet()
284 pipe.fs.flow_mask.u.ip.proto = in config_dummynet()
288 pipe.fs.flags_fs |= DN_HAVE_FLOW_MASK; in config_dummynet()
298 pipe.fs.flags_fs |= DN_IS_RED; in config_dummynet()
300 pipe.fs.flags_fs |= DN_IS_GENTLE_RED; in config_dummynet()
308 pipe.fs.w_q = (int) (w_q * (1 << SCALE_RED)); in config_dummynet()
311 pipe.fs.min_th = strtoul(end, &end, 0); in config_dummynet()
313 pipe.fs.min_th *= 1024; in config_dummynet()
316 pipe.fs.max_th = strtoul(end, &end, 0); in config_dummynet()
318 pipe.fs.max_th *= 1024; in config_dummynet()
324 pipe.fs.max_p = (int)(max_p * (1 << SCALE_RED)); in config_dummynet()
330 pipe.fs.flags_fs &= ~(DN_IS_RED|DN_IS_GENTLE_RED); in config_dummynet()
360 pipe.fs.weight = strtoul(av[0], &end, 0); in config_dummynet()
368 pipe.fs.parent_nr = strtoul(av[0], &end, 0); in config_dummynet()
382 if (pipe.fs.parent_nr == 0) in config_dummynet()
384 if (pipe.fs.weight >100) in config_dummynet()
387 if (pipe.fs.flags_fs & DN_QSIZE_IS_BYTES) { in config_dummynet()
388 if (pipe.fs.qsize > 1024*1024) in config_dummynet()
391 if (pipe.fs.qsize > 100) in config_dummynet()
394 if (pipe.fs.flags_fs & DN_IS_RED) { in config_dummynet()
401 if (pipe.fs.min_th >= pipe.fs.max_th) in config_dummynet()
403 pipe.fs.min_th, pipe.fs.max_th); in config_dummynet()
404 if (pipe.fs.max_th == 0) in config_dummynet()
454 w_q = ((double)pipe.fs.w_q) / (1 << SCALE_RED); in config_dummynet()
456 pipe.fs.lookup_step = (int)idle / lookup_depth; in config_dummynet()
457 if (!pipe.fs.lookup_step) in config_dummynet()
458 pipe.fs.lookup_step = 1; in config_dummynet()
460 for (t = pipe.fs.lookup_step; t > 0; --t) in config_dummynet()
462 pipe.fs.lookup_weight = (int)(weight * (1 << SCALE_RED)); in config_dummynet()
501 struct dn_ioc_flowset *fs; in show_pipes() local
514 if (p->fs.fs_type != DN_IS_PIPE) in show_pipes()
520 l = sizeof(*p) + p->fs.rq_elements * sizeof(*q); in show_pipes()
541 show_flowset_parms(&p->fs, prefix); in show_pipes()
546 show_queues(&p->fs, q); in show_pipes()
549 for (fs = next; nbytes >= sizeof(*fs); fs = next) { in show_pipes()
552 if (fs->fs_type != DN_IS_QUEUE) in show_pipes()
554 l = sizeof(*fs) + fs->rq_elements * sizeof(*q); in show_pipes()
555 next = (void *)fs + l; in show_pipes()
557 q = (struct dn_ioc_flowqueue *)(fs+1); in show_pipes()
559 fs->fs_nr, fs->weight, fs->parent_nr); in show_pipes()
560 show_flowset_parms(fs, prefix); in show_pipes()
561 show_queues(fs, q); in show_pipes()
566 show_queues(struct dn_ioc_flowset *fs, struct dn_ioc_flowqueue *q) in show_queues() argument
571 fs->flow_mask.u.ip.proto, in show_queues()
572 fs->flow_mask.u.ip.src_ip, fs->flow_mask.u.ip.src_port, in show_queues()
573 fs->flow_mask.u.ip.dst_ip, fs->flow_mask.u.ip.dst_port); in show_queues()
574 if (fs->rq_elements == 0) in show_queues()
580 heapsort(q, fs->rq_elements, sizeof(*q), sort_q); in show_queues()
581 for (l = 0; l < fs->rq_elements; l++) { in show_queues()
607 show_flowset_parms(struct dn_ioc_flowset *fs, char *prefix) in show_flowset_parms() argument
614 l = fs->qsize; in show_flowset_parms()
615 if (fs->flags_fs & DN_QSIZE_IS_BYTES) { in show_flowset_parms()
622 if (fs->plr) in show_flowset_parms()
623 sprintf(plr, "plr %f", 1.0 * fs->plr / (double)(0x7fffffff)); in show_flowset_parms()
626 if (fs->flags_fs & DN_IS_RED) /* RED parameters */ in show_flowset_parms()
629 (fs->flags_fs & DN_IS_GENTLE_RED) ? 'G' : ' ', in show_flowset_parms()
630 1.0 * fs->w_q / (double)(1 << SCALE_RED), in show_flowset_parms()
631 SCALE_VAL(fs->min_th), in show_flowset_parms()
632 SCALE_VAL(fs->max_th), in show_flowset_parms()
633 1.0 * fs->max_p / (double)(1 << SCALE_RED)); in show_flowset_parms()
638 prefix, qs, plr, fs->rq_elements, fs->rq_size, red); in show_flowset_parms()