--- /dev/null
+
+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