You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
2.3 KiB
99 lines
2.3 KiB
7 months ago
|
|
||
|
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
|