diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
commit | c71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch) | |
tree | ecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /include/linux/pkt_sched.h | |
parent | ea53c912f8a86a8567697115b6a0d8152beee5c8 (diff) | |
parent | 6a00f206debf8a5c8899055726ad127dbeeed098 (diff) |
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts:
litmus/sched_cedf.c
Diffstat (limited to 'include/linux/pkt_sched.h')
-rw-r--r-- | include/linux/pkt_sched.h | 124 |
1 files changed, 123 insertions, 1 deletions
diff --git a/include/linux/pkt_sched.h b/include/linux/pkt_sched.h index 2cfa4bc8dea6..c5336705921f 100644 --- a/include/linux/pkt_sched.h +++ b/include/linux/pkt_sched.h | |||
@@ -223,7 +223,7 @@ struct tc_gred_qopt { | |||
223 | __u32 limit; /* HARD maximal queue length (bytes) */ | 223 | __u32 limit; /* HARD maximal queue length (bytes) */ |
224 | __u32 qth_min; /* Min average length threshold (bytes) */ | 224 | __u32 qth_min; /* Min average length threshold (bytes) */ |
225 | __u32 qth_max; /* Max average length threshold (bytes) */ | 225 | __u32 qth_max; /* Max average length threshold (bytes) */ |
226 | __u32 DP; /* upto 2^32 DPs */ | 226 | __u32 DP; /* up to 2^32 DPs */ |
227 | __u32 backlog; | 227 | __u32 backlog; |
228 | __u32 qave; | 228 | __u32 qave; |
229 | __u32 forced; | 229 | __u32 forced; |
@@ -247,6 +247,35 @@ struct tc_gred_sopt { | |||
247 | __u16 pad1; | 247 | __u16 pad1; |
248 | }; | 248 | }; |
249 | 249 | ||
250 | /* CHOKe section */ | ||
251 | |||
252 | enum { | ||
253 | TCA_CHOKE_UNSPEC, | ||
254 | TCA_CHOKE_PARMS, | ||
255 | TCA_CHOKE_STAB, | ||
256 | __TCA_CHOKE_MAX, | ||
257 | }; | ||
258 | |||
259 | #define TCA_CHOKE_MAX (__TCA_CHOKE_MAX - 1) | ||
260 | |||
261 | struct tc_choke_qopt { | ||
262 | __u32 limit; /* Hard queue length (packets) */ | ||
263 | __u32 qth_min; /* Min average threshold (packets) */ | ||
264 | __u32 qth_max; /* Max average threshold (packets) */ | ||
265 | unsigned char Wlog; /* log(W) */ | ||
266 | unsigned char Plog; /* log(P_max/(qth_max-qth_min)) */ | ||
267 | unsigned char Scell_log; /* cell size for idle damping */ | ||
268 | unsigned char flags; /* see RED flags */ | ||
269 | }; | ||
270 | |||
271 | struct tc_choke_xstats { | ||
272 | __u32 early; /* Early drops */ | ||
273 | __u32 pdrop; /* Drops due to queue limits */ | ||
274 | __u32 other; /* Drops due to drop() calls */ | ||
275 | __u32 marked; /* Marked packets */ | ||
276 | __u32 matched; /* Drops due to flow match */ | ||
277 | }; | ||
278 | |||
250 | /* HTB section */ | 279 | /* HTB section */ |
251 | #define TC_HTB_NUMPRIO 8 | 280 | #define TC_HTB_NUMPRIO 8 |
252 | #define TC_HTB_MAXDEPTH 8 | 281 | #define TC_HTB_MAXDEPTH 8 |
@@ -435,6 +464,7 @@ enum { | |||
435 | TCA_NETEM_DELAY_DIST, | 464 | TCA_NETEM_DELAY_DIST, |
436 | TCA_NETEM_REORDER, | 465 | TCA_NETEM_REORDER, |
437 | TCA_NETEM_CORRUPT, | 466 | TCA_NETEM_CORRUPT, |
467 | TCA_NETEM_LOSS, | ||
438 | __TCA_NETEM_MAX, | 468 | __TCA_NETEM_MAX, |
439 | }; | 469 | }; |
440 | 470 | ||
@@ -465,7 +495,33 @@ struct tc_netem_corrupt { | |||
465 | __u32 correlation; | 495 | __u32 correlation; |
466 | }; | 496 | }; |
467 | 497 | ||
498 | enum { | ||
499 | NETEM_LOSS_UNSPEC, | ||
500 | NETEM_LOSS_GI, /* General Intuitive - 4 state model */ | ||
501 | NETEM_LOSS_GE, /* Gilbert Elliot models */ | ||
502 | __NETEM_LOSS_MAX | ||
503 | }; | ||
504 | #define NETEM_LOSS_MAX (__NETEM_LOSS_MAX - 1) | ||
505 | |||
506 | /* State transition probablities for 4 state model */ | ||
507 | struct tc_netem_gimodel { | ||
508 | __u32 p13; | ||
509 | __u32 p31; | ||
510 | __u32 p32; | ||
511 | __u32 p14; | ||
512 | __u32 p23; | ||
513 | }; | ||
514 | |||
515 | /* Gilbert-Elliot models */ | ||
516 | struct tc_netem_gemodel { | ||
517 | __u32 p; | ||
518 | __u32 r; | ||
519 | __u32 h; | ||
520 | __u32 k1; | ||
521 | }; | ||
522 | |||
468 | #define NETEM_DIST_SCALE 8192 | 523 | #define NETEM_DIST_SCALE 8192 |
524 | #define NETEM_DIST_MAX 16384 | ||
469 | 525 | ||
470 | /* DRR */ | 526 | /* DRR */ |
471 | 527 | ||
@@ -481,4 +537,70 @@ struct tc_drr_stats { | |||
481 | __u32 deficit; | 537 | __u32 deficit; |
482 | }; | 538 | }; |
483 | 539 | ||
540 | /* MQPRIO */ | ||
541 | #define TC_QOPT_BITMASK 15 | ||
542 | #define TC_QOPT_MAX_QUEUE 16 | ||
543 | |||
544 | struct tc_mqprio_qopt { | ||
545 | __u8 num_tc; | ||
546 | __u8 prio_tc_map[TC_QOPT_BITMASK + 1]; | ||
547 | __u8 hw; | ||
548 | __u16 count[TC_QOPT_MAX_QUEUE]; | ||
549 | __u16 offset[TC_QOPT_MAX_QUEUE]; | ||
550 | }; | ||
551 | |||
552 | /* SFB */ | ||
553 | |||
554 | enum { | ||
555 | TCA_SFB_UNSPEC, | ||
556 | TCA_SFB_PARMS, | ||
557 | __TCA_SFB_MAX, | ||
558 | }; | ||
559 | |||
560 | #define TCA_SFB_MAX (__TCA_SFB_MAX - 1) | ||
561 | |||
562 | /* | ||
563 | * Note: increment, decrement are Q0.16 fixed-point values. | ||
564 | */ | ||
565 | struct tc_sfb_qopt { | ||
566 | __u32 rehash_interval; /* delay between hash move, in ms */ | ||
567 | __u32 warmup_time; /* double buffering warmup time in ms (warmup_time < rehash_interval) */ | ||
568 | __u32 max; /* max len of qlen_min */ | ||
569 | __u32 bin_size; /* maximum queue length per bin */ | ||
570 | __u32 increment; /* probability increment, (d1 in Blue) */ | ||
571 | __u32 decrement; /* probability decrement, (d2 in Blue) */ | ||
572 | __u32 limit; /* max SFB queue length */ | ||
573 | __u32 penalty_rate; /* inelastic flows are rate limited to 'rate' pps */ | ||
574 | __u32 penalty_burst; | ||
575 | }; | ||
576 | |||
577 | struct tc_sfb_xstats { | ||
578 | __u32 earlydrop; | ||
579 | __u32 penaltydrop; | ||
580 | __u32 bucketdrop; | ||
581 | __u32 queuedrop; | ||
582 | __u32 childdrop; /* drops in child qdisc */ | ||
583 | __u32 marked; | ||
584 | __u32 maxqlen; | ||
585 | __u32 maxprob; | ||
586 | __u32 avgprob; | ||
587 | }; | ||
588 | |||
589 | #define SFB_MAX_PROB 0xFFFF | ||
590 | |||
591 | /* QFQ */ | ||
592 | enum { | ||
593 | TCA_QFQ_UNSPEC, | ||
594 | TCA_QFQ_WEIGHT, | ||
595 | TCA_QFQ_LMAX, | ||
596 | __TCA_QFQ_MAX | ||
597 | }; | ||
598 | |||
599 | #define TCA_QFQ_MAX (__TCA_QFQ_MAX - 1) | ||
600 | |||
601 | struct tc_qfq_stats { | ||
602 | __u32 weight; | ||
603 | __u32 lmax; | ||
604 | }; | ||
605 | |||
484 | #endif | 606 | #endif |