Home | History | Annotate | Download | only in diffserv
      1 
      2 Note all these are mere examples which can be customized to your needs
      3 
      4 AFCBQ
      5 -----
      6 AF PHB built using CBQ, DSMARK,GRED (default in GRIO mode) ,RED for BE 
      7 and the tcindex classifier with some algorithmic mapping
      8 
      9 EFCBQ
     10 -----
     11 EF PHB built using CBQ (for rate control and prioritization), 
     12 DSMARK( to remark DSCPs), tcindex  classifier and  RED for the BE
     13 traffic.
     14 
     15 EFPRIO
     16 ------
     17 EF PHB using the PRIO scheduler, Token Bucket to rate control EF,
     18 tcindex classifier, DSMARK to remark, and RED for the BE traffic
     19 
     20 EDGE scripts
     21 ==============
     22 
     23 CB-3(1|2)-(u32/chains)
     24 ======================
     25 
     26 
     27 The major differences are that the classifier is u32 on -u32 extension
     28 and IPchains on the chains extension. CB stands for color Blind
     29 and 31 is for the mode where only a CIR and CBS are defined whereas
     30 32 stands for a mode where a CIR/CBS + PIR/EBS are defined.
     31 
     32 Color Blind (CB)
     33 ==========-----=
     34 We look at one special subnet that we are interested in for simplicty
     35 reasons to demonstrate the capability. We send the packets from that
     36 subnet to AF4*, BE or end up dropping depending on the metering results. 
     37 
     38 
     39 The algorithm overview is as follows:
     40 
     41 *classify:
     42 
     43 **case: subnet X
     44 ----------------
     45   if !exceed meter1 tag as AF41
     46 	else
     47 	    if !exceed meter2  tag as AF42
     48 	        else
     49 		  if !exceed meter 3 tag as AF43
     50 		      else 
     51 			 drop 
     52 
     53 default case: Any other subnet
     54 -------------------------------
     55   if !exceed meter 5 tag as AF43
     56       else
     57 	 drop 
     58 
     59 
     60 One Egress side change the DSCPs of the packets to reflect AF4* and BE
     61 based on the tags from the ingress.
     62 
     63 -------------------------------------------------------------
     64 
     65 Color Aware
     66 ===========
     67 
     68 Define some meters with + policing and give them IDs eg
     69 
     70 meter1=police index 1 rate $CIR1 burst $CBS1  
     71 meter2=police index 2 rate $CIR2 burst $CBS2   etc 
     72 
     73 General overview:
     74 classify based on the DSCPs and use the policer ids to decide tagging
     75 
     76 
     77 *classify on ingress:
     78 
     79 switch (dscp) {
     80     case AF41: /* tos&0xfc == 0x88 */
     81 	if (!exceed meter1) break;
     82     case AF42: /* tos&0xfc == 0x90 */
     83 	if (!exceed meter2) {
     84 	    tag as AF42;
     85 	    break;
     86 	}
     87     case AF43: /* tos&0xfc == 0x98 */
     88 	if (!exceed meter3) {
     89 	    tag as AF43;
     90 	    break;
     91 	} else
     92 	  drop;
     93     default:
     94 	if (!exceed meter4) tag as BE;
     95 	else drop;
     96 }
     97 
     98 On the Egress side mark the proper AF tags
     99