home *** CD-ROM | disk | FTP | other *** search
-
- Note all these are mere examples which can be customized to your needs
-
- AFCBQ
- -----
- AF PHB built using CBQ, DSMARK,GRED (default in GRIO mode) ,RED for BE
- and the tcindex classifier with some algorithmic mapping
-
- EFCBQ
- -----
- EF PHB built using CBQ (for rate control and prioritization),
- DSMARK( to remark DSCPs), tcindex classifier and RED for the BE
- traffic.
-
- EFPRIO
- ------
- EF PHB using the PRIO scheduler, Token Bucket to rate control EF,
- tcindex classifier, DSMARK to remark, and RED for the BE traffic
-
- EDGE scripts
- ==============
-
- CB-3(1|2)-(u32/chains)
- ======================
-
-
- The major differences are that the classifier is u32 on -u32 extension
- and IPchains on the chains extension. CB stands for color Blind
- and 31 is for the mode where only a CIR and CBS are defined whereas
- 32 stands for a mode where a CIR/CBS + PIR/EBS are defined.
-
- Color Blind (CB)
- ==========-----=
- We look at one special subnet that we are interested in for simplicty
- reasons to demonstrate the capability. We send the packets from that
- subnet to AF4*, BE or end up dropping depending on the metering results.
-
-
- The algorithm overview is as follows:
-
- *classify:
-
- **case: subnet X
- ----------------
- if !exceed meter1 tag as AF41
- else
- if !exceed meter2 tag as AF42
- else
- if !exceed meter 3 tag as AF43
- else
- drop
-
- default case: Any other subnet
- -------------------------------
- if !exceed meter 5 tag as AF43
- else
- drop
-
-
- One Egress side change the DSCPs of the packets to reflect AF4* and BE
- based on the tags from the ingress.
-
- -------------------------------------------------------------
-
- Color Aware
- ===========
-
- Define some meters with + policing and give them IDs eg
-
- meter1=police index 1 rate $CIR1 burst $CBS1
- meter2=police index 2 rate $CIR2 burst $CBS2 etc
-
- General overview:
- classify based on the DSCPs and use the policer ids to decide tagging
-
-
- *classify on ingress:
-
- switch (dscp) {
- case AF41: /* tos&0xfc == 0x88 */
- if (!exceed meter1) break;
- case AF42: /* tos&0xfc == 0x90 */
- if (!exceed meter2) {
- tag as AF42;
- break;
- }
- case AF43: /* tos&0xfc == 0x98 */
- if (!exceed meter3) {
- tag as AF43;
- break;
- } else
- drop;
- default:
- if (!exceed meter4) tag as BE;
- else drop;
- }
-
- On the Egress side mark the proper AF tags
-