File: extflt

package info (click to toggle)
tcng 10b-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 3,632 kB
  • ctags: 2,515
  • sloc: ansic: 19,038; pascal: 4,640; yacc: 2,619; sh: 1,908; perl: 1,546; lex: 772; makefile: 755
file content (91 lines) | stat: -rw-r--r-- 2,148 bytes parent folder | download | duplicates (5)
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
# ext_all does not allow policing on tcindex ----------------------------------
tcc -xif:err -Xx,all 2>&1
dsmark (indices 1) {
    class (1) if 1;
    prio {
	class
	  on tcindex element (1)
	    police (rate 1Mbps,burst 2kB);
    }
}
EOF
ERROR
<stdin>:5: dump_all does not support policing at tcindex
# ext_all fails if there is no match and pass_on is set -----------------------
tcc -xif:err -Xx,all  2>&1
dsmark (indices 1) {
    class (1) if 1;
    prio {
	class
	  on tcindex(pass_on) element (2);
    }
}
EOF
ERROR
<stdin>:5: dump_all found no matching choice for value 0x1 in tcindex
# ext_all can convert fall_through to an existing class -----------------------
tcc -xif:err -Xx,all 2>&1 | grep '^action'
dsmark (indices 1) {
    class (1) if 1;
    prio {
	class (1)
	  on tcindex(fall_through) element (2);
    }
}
EOF
action 1 = class 1:1,2:1
# ext_all finds and follows class in above case -------------------------------
tcc -xif:err -Xx,all 2>&1 | grep '^action'
dsmark (indices 1) {
    class (1) if 1;
    prio {
	class (3)
	  on tcindex(fall_through) element (2);
	class (1)
	  on tcindex(fall_through) element (42)
	{
	    prio {
		class (1) on tcindex (shift 1) element (0);
	    }
	}
    }
}
EOF
action 1 = class 1:1,2:1,3:1
# ext_all can convert fall_through to a non-existing class --------------------
tcc -xif:err -Xx,all 2>&1 | grep '^action'
dsmark (indices 1) {
    class (1) if 1;
    prio {
	class (2)
	  on tcindex(fall_through) element (2);
    }
}
EOF
action 1 = class 1:1,2:1
# tccext generates dummy class for non-existing class -------------------------
PATH=$PATH:tcc/ext tcc -xif:echo -Xx,all 2>&1 | sed '/^qdisc 2/,/action/p;d'
dsmark (indices 1) {
    class (1) if 1;
    prio {
	class (1)
	  on tcindex(fall_through) element (2);
    }
}
EOF
qdisc 2 = prio bands 3
class 1 =
action 1 = class 1:1,2:1
# ext_all picks tcindex filters in priority order -----------------------------
tcc -xif:err -Xx,all 2>&1 | grep '^action'
dsmark (indices 1) {
    class (1) if 1;
    prio {
	class (1)
	  on tcindex(pass_on) element (1);
	class (2)
	  on tcindex(pass_on) element (1);
    }
}
EOF
action 1 = class 1:1,2:1