This file is indexed.

/usr/share/doc/iproute2-doc/examples/diffserv/README is in iproute2-doc 3.16.0-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
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