]> rtime.felk.cvut.cz Git - lisovros/iproute2_canprio.git/blob - tc/setcanfltr.sh
Configuration scripts improvements.
[lisovros/iproute2_canprio.git] / tc / setcanfltr.sh
1 #!/bin/bash
2
3 if [ -z "$2" ]; then # device not set
4         DEV="can0"
5 else
6         DEV="$2"
7 fi
8
9 echo "[ Running on ${DEV} device. ]"
10
11 if [ "$1" == "del" ]; then # delete all qdiscs & filters
12         tc qdisc del dev ${DEV} root 
13
14 elif [ "$1" ==  "stat" ]; then # show statistics
15         tc -s class show dev ${DEV}
16
17 elif [ "$1" == "show" ]; then # show information about each instance of a filter
18         echo " [Qdiscs]"
19         tc qdisc show dev ${DEV}
20         echo " [Classes]"
21         tc class show dev ${DEV}
22         echo " [Filters]"
23         tc filter show dev ${DEV}
24
25 elif [ "$1" == "change" ]; then # change one of created filters according to handle
26         tc filter change dev ${DEV} parent 1:0 prio 1 handle 0xa \
27                 can sffid 0x122:0xffff effid 0x122:0xffff flowid 1:1
28
29 elif [ "$1" == "change2" ]; then # change one of created filters according to handle
30         tc filter change dev ${DEV} parent 1:0 prio 1 handle 0xa \
31                 can sffid 0x121:0xffff effid 0x121:0xffff flowid 1:1
32
33 elif [ "$1" == "change3" ]; then # change one of created filters according to handle
34         tc filter change dev ${DEV} parent 1:0 prio 3 handle 0x10000 \
35                 can sffid 0x224 flowid 1:2
36
37 elif [ "$1" == "head_drop" ]; then
38         # In difference to pfifo or pfifo_fast
39         # this queuing discipline will drop the first packet
40         # in the case of queue congestion. As a result the queue
41         # contain always the freshest packets. 
42         tc qdisc add dev ${DEV} parent 1:2 handle 11: \
43                 pfifo_head_drop limit 1
44
45 elif [ "$1" == "tbf" ]; then # TBF (Token Bucket Filter) -- for throttling large data flows
46         tc qdisc add dev ${DEV} parent 1:1 handle 10: \
47                 tbf rate 0.1mbit burst 5kb latency 70ms
48
49 elif [ "$1"  == "prio" ]; then  # create Prio qdiscs and configure can filter
50
51         #For more information about priorities, bands, dequeuing etc. see manpage "tc-prio"
52
53         tc qdisc add dev ${DEV} root handle 1: prio
54
55         tc filter add dev ${DEV} parent 1:0 prio 1 handle 0xa \
56                 can sffid 0x123:0xffff sffid 0x124:0xffff flowid 1:1
57         tc filter add dev ${DEV} parent 1:0 prio 2 handle 0xb \
58                 can sffid 0x125:0x7ff effid 0x125:0x7ff flowid 1:2
59         tc filter add dev ${DEV} parent 1:0 prio 3 \
60                 can sffid 0x223:0xffff flowid 1:2
61         tc filter add dev ${DEV} parent 1:0 prio 4 \
62                 can sffid 0x0:0x0 effid 0x0:0x0 flowid 1:3
63
64         tc qdisc show dev ${DEV}
65
66 elif [ "$1"  == "prio2sff" ]; then  # create Prio qdiscs and configure can filter
67
68         tc qdisc add dev ${DEV} root handle 1: prio bands 5
69
70         tc filter add dev ${DEV} parent 1:0 prio 1 \
71                 can sffid 0x1 sffid 0x2 sffid 0x3 sffid 0x4     sffid 0x5 \
72                         sffid 0x6 sffid 0x7 sffid 0x8 sffid 0x9 sffid 0x10 \
73                         sffid 0x11 sffid 0x12 sffid 0x13 sffid 0x14 sffid 0x15 \
74                         sffid 0x16 sffid 0x17 sffid 0x18 sffid 0x19 sffid 0x20 \
75                         sffid 0x21 sffid 0x22 sffid 0x23 sffid 0x24 sffid 0x25 \
76                         sffid 0x26 sffid 0x27 sffid 0x28 sffid 0x29 sffid 0x30 \
77                         sffid 0x31 sffid 0x32 sffid 0x33 sffid 0x34 sffid 0x35 \
78                         sffid 0x36 sffid 0x37 sffid 0x38 sffid 0x39 sffid 0x40 \
79                         sffid 0x41 sffid 0x42 sffid 0x43 sffid 0x44 sffid 0x45 \
80                         sffid 0x46 sffid 0x47 sffid 0x48 sffid 0x49 sffid 0x50 \
81                         sffid 0x51 sffid 0x52 sffid 0x53 sffid 0x54 sffid 0x55 \
82                         sffid 0x56 sffid 0x57 sffid 0x58 sffid 0x59 sffid 0x60 \
83                         sffid 0x61 sffid 0x62 sffid 0x63 sffid 0x64 sffid 0x65 \
84                         sffid 0x66 sffid 0x67 sffid 0x68 sffid 0x69 sffid 0x70 \
85                         sffid 0x71 sffid 0x72 sffid 0x73 sffid 0x74 sffid 0x75 \
86                         sffid 0x76 sffid 0x77 sffid 0x78 sffid 0x79 sffid 0x80 \
87                         sffid 0x81 sffid 0x82 sffid 0x83 sffid 0x84 sffid 0x85 \
88                         sffid 0x86 sffid 0x87 sffid 0x88 sffid 0x89 sffid 0x90 \
89                         sffid 0x91 sffid 0x92 sffid 0x93 sffid 0x94 sffid 0x95 \
90                         sffid 0x96 sffid 0x97 sffid 0x98 sffid 0x99 sffid 0x100 \
91                         sffid 0x101 sffid 0x102 sffid 0x103 sffid 0x104 sffid 0x105 \
92                         sffid 0x106 sffid 0x107 sffid 0x108 sffid 0x109 sffid 0x110 \
93                         sffid 0x111 sffid 0x112 sffid 0x113 sffid 0x114 sffid 0x115 \
94                         sffid 0x116 sffid 0x117 sffid 0x118 sffid 0x119 sffid 0x120 \
95                         sffid 0x121 sffid 0x122 sffid 0x123 sffid 0x124 sffid 0x125 \
96                         sffid 0x126 sffid 0x127 sffid 0x128  \
97                 flowid 1:1
98
99         tc filter add dev ${DEV} parent 1:0 prio 2 \
100                 can sffid 0x129 sffid 0x130 \
101                         sffid 0x131 sffid 0x132 sffid 0x133 sffid 0x134 sffid 0x135 \
102                         sffid 0x136 sffid 0x137 sffid 0x138 sffid 0x139 sffid 0x140 \
103                         sffid 0x141 sffid 0x142 sffid 0x143 sffid 0x144 sffid 0x145 \
104                         sffid 0x146 sffid 0x147 sffid 0x148 sffid 0x149 sffid 0x150 \
105                         sffid 0x151 sffid 0x152 sffid 0x153 sffid 0x154 sffid 0x155 \
106                         sffid 0x156 sffid 0x157 sffid 0x158 sffid 0x159 sffid 0x160 \
107                         sffid 0x161 sffid 0x162 sffid 0x163 sffid 0x164 sffid 0x165 \
108                         sffid 0x166 sffid 0x167 sffid 0x168 sffid 0x169 sffid 0x170 \
109                         sffid 0x171 sffid 0x172 sffid 0x173 sffid 0x174 sffid 0x175 \
110                         sffid 0x176 sffid 0x177 sffid 0x178 sffid 0x179 sffid 0x180 \
111                         sffid 0x181 sffid 0x182 sffid 0x183 sffid 0x184 sffid 0x185 \
112                         sffid 0x186 sffid 0x187 sffid 0x188 sffid 0x189 sffid 0x190 \
113                         sffid 0x191 sffid 0x192 sffid 0x193 sffid 0x194 sffid 0x195 \
114                         sffid 0x196 sffid 0x197 sffid 0x198 sffid 0x199 sffid 0x200 \
115                         sffid 0x201 sffid 0x202 sffid 0x203 sffid 0x204 sffid 0x205 \
116                         sffid 0x206 sffid 0x207 sffid 0x208 sffid 0x209 sffid 0x210 \
117                         sffid 0x211 sffid 0x212 sffid 0x213 sffid 0x214 sffid 0x215 \
118                         sffid 0x216 sffid 0x217 sffid 0x218 sffid 0x219 sffid 0x220 \
119                         sffid 0x221 sffid 0x222 sffid 0x223 sffid 0x224 sffid 0x225 \
120                         sffid 0x226 sffid 0x227 sffid 0x228 sffid 0x229 sffid 0x230 \
121                         sffid 0x231 sffid 0x232 sffid 0x233 sffid 0x234 sffid 0x235 \
122                         sffid 0x236 sffid 0x237 sffid 0x238 sffid 0x239 sffid 0x240 \
123                         sffid 0x241 sffid 0x242 sffid 0x243 sffid 0x244 sffid 0x245 \
124                         sffid 0x246 sffid 0x247 sffid 0x248 sffid 0x249 sffid 0x250 \
125                         sffid 0x251 sffid 0x252 sffid 0x253 sffid 0x254 sffid 0x255 \
126                         sffid 0x256 \
127                 flowid 1:2
128
129         tc filter add dev ${DEV} parent 1:0 prio 3 \
130                  can sffid 0x257 sffid 0x258 sffid 0x259 sffid 0x260 \
131                         sffid 0x261 sffid 0x262 sffid 0x263 sffid 0x264 sffid 0x265 \
132                         sffid 0x266 sffid 0x267 sffid 0x268 sffid 0x269 sffid 0x270 \
133                         sffid 0x271 sffid 0x272 sffid 0x273 sffid 0x274 sffid 0x275 \
134                         sffid 0x276 sffid 0x277 sffid 0x278 sffid 0x279 sffid 0x280 \
135                         sffid 0x281 sffid 0x282 sffid 0x283 sffid 0x284 sffid 0x285 \
136                         sffid 0x286 sffid 0x287 sffid 0x288 sffid 0x289 sffid 0x290 \
137                         sffid 0x291 sffid 0x292 sffid 0x293 sffid 0x294 sffid 0x295 \
138                         sffid 0x296 sffid 0x297 sffid 0x298 sffid 0x299 sffid 0x300 \
139                         sffid 0x301 sffid 0x302 sffid 0x303 sffid 0x304 sffid 0x305 \
140                         sffid 0x306 sffid 0x307 sffid 0x308 sffid 0x309 sffid 0x310 \
141                         sffid 0x311 sffid 0x312 sffid 0x313 sffid 0x314 sffid 0x315 \
142                         sffid 0x316 sffid 0x317 sffid 0x318 sffid 0x319 sffid 0x320 \
143                         sffid 0x321 sffid 0x322 sffid 0x323 sffid 0x324 sffid 0x325 \
144                         sffid 0x326 sffid 0x327 sffid 0x328 sffid 0x329 sffid 0x330 \
145                         sffid 0x331 sffid 0x332 sffid 0x333 sffid 0x334 sffid 0x335 \
146                         sffid 0x336 sffid 0x337 sffid 0x338 sffid 0x339 sffid 0x340 \
147                         sffid 0x341 sffid 0x342 sffid 0x343 sffid 0x344 sffid 0x345 \
148                         sffid 0x346 sffid 0x347 sffid 0x348 sffid 0x349 sffid 0x350 \
149                         sffid 0x351 sffid 0x352 sffid 0x353 sffid 0x354 sffid 0x355 \
150                         sffid 0x356 sffid 0x357 sffid 0x358 sffid 0x359 sffid 0x360 \
151                         sffid 0x361 sffid 0x362 sffid 0x363 sffid 0x364 sffid 0x365 \
152                         sffid 0x366 sffid 0x367 sffid 0x368 sffid 0x369 sffid 0x370 \
153                         sffid 0x371 sffid 0x372 sffid 0x373 sffid 0x374 sffid 0x375 \
154                         sffid 0x376 sffid 0x377 sffid 0x378 sffid 0x379 sffid 0x380 \
155                         sffid 0x381 sffid 0x382 sffid 0x383 sffid 0x384 \
156                 flowid 1:3
157
158         tc filter add dev ${DEV} parent 1:0 prio 4 \
159                 can sffid 0x385 \
160                         sffid 0x386 sffid 0x387 sffid 0x388 sffid 0x389 sffid 0x390 \
161                         sffid 0x391 sffid 0x392 sffid 0x393 sffid 0x394 sffid 0x395 \
162                         sffid 0x396 sffid 0x397 sffid 0x398 sffid 0x399 sffid 0x400 \
163                         sffid 0x401 sffid 0x402 sffid 0x403 sffid 0x404 sffid 0x405 \
164                         sffid 0x406 sffid 0x407 sffid 0x408 sffid 0x409 sffid 0x410 \
165                         sffid 0x411 sffid 0x412 sffid 0x413 sffid 0x414 sffid 0x415 \
166                         sffid 0x416 sffid 0x417 sffid 0x418 sffid 0x419 sffid 0x420 \
167                         sffid 0x421 sffid 0x422 sffid 0x423 sffid 0x424 sffid 0x425 \
168                         sffid 0x426 sffid 0x427 sffid 0x428 sffid 0x429 sffid 0x430 \
169                         sffid 0x431 sffid 0x432 sffid 0x433 sffid 0x434 sffid 0x435 \
170                         sffid 0x436 sffid 0x437 sffid 0x438 sffid 0x439 sffid 0x440 \
171                         sffid 0x441 sffid 0x442 sffid 0x443 sffid 0x444 sffid 0x445 \
172                         sffid 0x446 sffid 0x447 sffid 0x448 sffid 0x449 sffid 0x450 \
173                         sffid 0x451 sffid 0x452 sffid 0x453 sffid 0x454 sffid 0x455 \
174                         sffid 0x456 sffid 0x457 sffid 0x458 sffid 0x459 sffid 0x460 \
175                         sffid 0x461 sffid 0x462 sffid 0x463 sffid 0x464 sffid 0x465 \
176                         sffid 0x466 sffid 0x467 sffid 0x468 sffid 0x469 sffid 0x470 \
177                         sffid 0x471 sffid 0x472 sffid 0x473 sffid 0x474 sffid 0x475 \
178                         sffid 0x476 sffid 0x477 sffid 0x478 sffid 0x479 sffid 0x480 \
179                         sffid 0x481 sffid 0x482 sffid 0x483 sffid 0x484 sffid 0x485 \
180                         sffid 0x486 sffid 0x487 sffid 0x488 sffid 0x489 sffid 0x490 \
181                         sffid 0x491 sffid 0x492 sffid 0x493 sffid 0x494 sffid 0x495 \
182                         sffid 0x496 sffid 0x497 sffid 0x498 sffid 0x499 sffid 0x500 \
183                         sffid 0x501 sffid 0x502 sffid 0x503 sffid 0x504 sffid 0x505 \
184                         sffid 0x506 sffid 0x507 sffid 0x508 sffid 0x509 sffid 0x510 \
185                         sffid 0x511 sffid 0x512 \
186                 flowid 1:4
187
188         tc filter add dev ${DEV} parent 1:0 prio 5 \
189                 can sffid 0x0:0x0 effid 0x0:0x0 flowid 1:5
190
191         tc qdisc show dev ${DEV}
192
193 elif [ "$1"  == "prio2eff" ]; then  # create Prio qdiscs and configure can filter
194
195         tc qdisc add dev ${DEV} root handle 1: prio bands 5
196
197         tc filter add dev ${DEV} parent 1:0 prio 1 \
198                 can effid 0x1 effid 0x2 effid 0x3 effid 0x4     effid 0x5 \
199                         effid 0x6 effid 0x7 effid 0x8 effid 0x9 effid 0x10 \
200                         effid 0x11 effid 0x12 effid 0x13 effid 0x14 effid 0x15 \
201                         effid 0x16 effid 0x17 effid 0x18 effid 0x19 effid 0x20 \
202                         effid 0x21 effid 0x22 effid 0x23 effid 0x24 effid 0x25 \
203                         effid 0x26 effid 0x27 effid 0x28 effid 0x29 effid 0x30 \
204                         effid 0x31 effid 0x32 effid 0x33 effid 0x34 effid 0x35 \
205                         effid 0x36 effid 0x37 effid 0x38 effid 0x39 effid 0x40 \
206                         effid 0x41 effid 0x42 effid 0x43 effid 0x44 effid 0x45 \
207                         effid 0x46 effid 0x47 effid 0x48 effid 0x49 effid 0x50 \
208                         effid 0x51 effid 0x52 effid 0x53 effid 0x54 effid 0x55 \
209                         effid 0x56 effid 0x57 effid 0x58 effid 0x59 effid 0x60 \
210                         effid 0x61 effid 0x62 effid 0x63 effid 0x64 effid 0x65 \
211                         effid 0x66 effid 0x67 effid 0x68 effid 0x69 effid 0x70 \
212                         effid 0x71 effid 0x72 effid 0x73 effid 0x74 effid 0x75 \
213                         effid 0x76 effid 0x77 effid 0x78 effid 0x79 effid 0x80 \
214                         effid 0x81 effid 0x82 effid 0x83 effid 0x84 effid 0x85 \
215                         effid 0x86 effid 0x87 effid 0x88 effid 0x89 effid 0x90 \
216                         effid 0x91 effid 0x92 effid 0x93 effid 0x94 effid 0x95 \
217                         effid 0x96 effid 0x97 effid 0x98 effid 0x99 effid 0x100 \
218                         effid 0x101 effid 0x102 effid 0x103 effid 0x104 effid 0x105 \
219                         effid 0x106 effid 0x107 effid 0x108 effid 0x109 effid 0x110 \
220                         effid 0x111 effid 0x112 effid 0x113 effid 0x114 effid 0x115 \
221                         effid 0x116 effid 0x117 effid 0x118 effid 0x119 effid 0x120 \
222                         effid 0x121 effid 0x122 effid 0x123 effid 0x124 effid 0x125 \
223                         effid 0x126 effid 0x127 effid 0x128  \
224                 flowid 1:1
225
226         tc filter add dev ${DEV} parent 1:0 prio 2 \
227                 can effid 0x129 effid 0x130 \
228                         effid 0x131 effid 0x132 effid 0x133 effid 0x134 effid 0x135 \
229                         effid 0x136 effid 0x137 effid 0x138 effid 0x139 effid 0x140 \
230                         effid 0x141 effid 0x142 effid 0x143 effid 0x144 effid 0x145 \
231                         effid 0x146 effid 0x147 effid 0x148 effid 0x149 effid 0x150 \
232                         effid 0x151 effid 0x152 effid 0x153 effid 0x154 effid 0x155 \
233                         effid 0x156 effid 0x157 effid 0x158 effid 0x159 effid 0x160 \
234                         effid 0x161 effid 0x162 effid 0x163 effid 0x164 effid 0x165 \
235                         effid 0x166 effid 0x167 effid 0x168 effid 0x169 effid 0x170 \
236                         effid 0x171 effid 0x172 effid 0x173 effid 0x174 effid 0x175 \
237                         effid 0x176 effid 0x177 effid 0x178 effid 0x179 effid 0x180 \
238                         effid 0x181 effid 0x182 effid 0x183 effid 0x184 effid 0x185 \
239                         effid 0x186 effid 0x187 effid 0x188 effid 0x189 effid 0x190 \
240                         effid 0x191 effid 0x192 effid 0x193 effid 0x194 effid 0x195 \
241                         effid 0x196 effid 0x197 effid 0x198 effid 0x199 effid 0x200 \
242                         effid 0x201 effid 0x202 effid 0x203 effid 0x204 effid 0x205 \
243                         effid 0x206 effid 0x207 effid 0x208 effid 0x209 effid 0x210 \
244                         effid 0x211 effid 0x212 effid 0x213 effid 0x214 effid 0x215 \
245                         effid 0x216 effid 0x217 effid 0x218 effid 0x219 effid 0x220 \
246                         effid 0x221 effid 0x222 effid 0x223 effid 0x224 effid 0x225 \
247                         effid 0x226 effid 0x227 effid 0x228 effid 0x229 effid 0x230 \
248                         effid 0x231 effid 0x232 effid 0x233 effid 0x234 effid 0x235 \
249                         effid 0x236 effid 0x237 effid 0x238 effid 0x239 effid 0x240 \
250                         effid 0x241 effid 0x242 effid 0x243 effid 0x244 effid 0x245 \
251                         effid 0x246 effid 0x247 effid 0x248 effid 0x249 effid 0x250 \
252                         effid 0x251 effid 0x252 effid 0x253 effid 0x254 effid 0x255 \
253                         effid 0x256 \
254                 flowid 1:2
255
256         tc filter add dev ${DEV} parent 1:0 prio 3 \
257                  can effid 0x257 effid 0x258 effid 0x259 effid 0x260 \
258                         effid 0x261 effid 0x262 effid 0x263 effid 0x264 effid 0x265 \
259                         effid 0x266 effid 0x267 effid 0x268 effid 0x269 effid 0x270 \
260                         effid 0x271 effid 0x272 effid 0x273 effid 0x274 effid 0x275 \
261                         effid 0x276 effid 0x277 effid 0x278 effid 0x279 effid 0x280 \
262                         effid 0x281 effid 0x282 effid 0x283 effid 0x284 effid 0x285 \
263                         effid 0x286 effid 0x287 effid 0x288 effid 0x289 effid 0x290 \
264                         effid 0x291 effid 0x292 effid 0x293 effid 0x294 effid 0x295 \
265                         effid 0x296 effid 0x297 effid 0x298 effid 0x299 effid 0x300 \
266                         effid 0x301 effid 0x302 effid 0x303 effid 0x304 effid 0x305 \
267                         effid 0x306 effid 0x307 effid 0x308 effid 0x309 effid 0x310 \
268                         effid 0x311 effid 0x312 effid 0x313 effid 0x314 effid 0x315 \
269                         effid 0x316 effid 0x317 effid 0x318 effid 0x319 effid 0x320 \
270                         effid 0x321 effid 0x322 effid 0x323 effid 0x324 effid 0x325 \
271                         effid 0x326 effid 0x327 effid 0x328 effid 0x329 effid 0x330 \
272                         effid 0x331 effid 0x332 effid 0x333 effid 0x334 effid 0x335 \
273                         effid 0x336 effid 0x337 effid 0x338 effid 0x339 effid 0x340 \
274                         effid 0x341 effid 0x342 effid 0x343 effid 0x344 effid 0x345 \
275                         effid 0x346 effid 0x347 effid 0x348 effid 0x349 effid 0x350 \
276                         effid 0x351 effid 0x352 effid 0x353 effid 0x354 effid 0x355 \
277                         effid 0x356 effid 0x357 effid 0x358 effid 0x359 effid 0x360 \
278                         effid 0x361 effid 0x362 effid 0x363 effid 0x364 effid 0x365 \
279                         effid 0x366 effid 0x367 effid 0x368 effid 0x369 effid 0x370 \
280                         effid 0x371 effid 0x372 effid 0x373 effid 0x374 effid 0x375 \
281                         effid 0x376 effid 0x377 effid 0x378 effid 0x379 effid 0x380 \
282                         effid 0x381 effid 0x382 effid 0x383 effid 0x384 \
283                 flowid 1:3
284
285         tc filter add dev ${DEV} parent 1:0 prio 4 \
286                 can effid 0x385 \
287                         effid 0x386 effid 0x387 effid 0x388 effid 0x389 effid 0x390 \
288                         effid 0x391 effid 0x392 effid 0x393 effid 0x394 effid 0x395 \
289                         effid 0x396 effid 0x397 effid 0x398 effid 0x399 effid 0x400 \
290                         effid 0x401 effid 0x402 effid 0x403 effid 0x404 effid 0x405 \
291                         effid 0x406 effid 0x407 effid 0x408 effid 0x409 effid 0x410 \
292                         effid 0x411 effid 0x412 effid 0x413 effid 0x414 effid 0x415 \
293                         effid 0x416 effid 0x417 effid 0x418 effid 0x419 effid 0x420 \
294                         effid 0x421 effid 0x422 effid 0x423 effid 0x424 effid 0x425 \
295                         effid 0x426 effid 0x427 effid 0x428 effid 0x429 effid 0x430 \
296                         effid 0x431 effid 0x432 effid 0x433 effid 0x434 effid 0x435 \
297                         effid 0x436 effid 0x437 effid 0x438 effid 0x439 effid 0x440 \
298                         effid 0x441 effid 0x442 effid 0x443 effid 0x444 effid 0x445 \
299                         effid 0x446 effid 0x447 effid 0x448 effid 0x449 effid 0x450 \
300                         effid 0x451 effid 0x452 effid 0x453 effid 0x454 effid 0x455 \
301                         effid 0x456 effid 0x457 effid 0x458 effid 0x459 effid 0x460 \
302                         effid 0x461 effid 0x462 effid 0x463 effid 0x464 effid 0x465 \
303                         effid 0x466 effid 0x467 effid 0x468 effid 0x469 effid 0x470 \
304                         effid 0x471 effid 0x472 effid 0x473 effid 0x474 effid 0x475 \
305                         effid 0x476 effid 0x477 effid 0x478 effid 0x479 effid 0x480 \
306                         effid 0x481 effid 0x482 effid 0x483 effid 0x484 effid 0x485 \
307                         effid 0x486 effid 0x487 effid 0x488 effid 0x489 effid 0x490 \
308                         effid 0x491 effid 0x492 effid 0x493 effid 0x494 effid 0x495 \
309                         effid 0x496 effid 0x497 effid 0x498 effid 0x499 effid 0x500 \
310                         effid 0x501 effid 0x502 effid 0x503 effid 0x504 effid 0x505 \
311                         effid 0x506 effid 0x507 effid 0x508 effid 0x509 effid 0x510 \
312                         effid 0x511 effid 0x512 \
313                 flowid 1:4
314
315         tc filter add dev ${DEV} parent 1:0 prio 5 \
316                 can sffid 0x0:0x0 effid 0x0:0x0 flowid 1:5
317
318         tc qdisc show dev ${DEV}
319
320
321 elif [ "$1" == "htb" ]; then # Hierarchy Token Bucket
322
323         tc qdisc add dev ${DEV} root handle 1: htb
324
325         tc class add dev ${DEV} parent 1: classid 1:1 htb rate 100kbps ceil 100kbps
326         tc class add dev ${DEV} parent 1:1 classid 1:10 htb rate 30kbps ceil 100kbps
327         tc class add dev ${DEV} parent 1:1 classid 1:11 htb rate 10kbps ceil 100kbps
328         tc class add dev ${DEV} parent 1:1 classid 1:12 htb rate 60kbps ceil 100kbps
329
330         tc filter add dev ${DEV} parent 1:0 prio 1 \
331                 can sffid 0x123:0x7ff effid 0x123:0x7ff flowid 1:10
332         tc filter add dev ${DEV} parent 1:0 prio 2 \
333                 can sffid 0x124:0x7ff effid 0x124:0x7ff flowid 1:11
334         tc filter add dev ${DEV} parent 1:0 prio 3 \
335                 can sffid 0x125:0x7ff effid 0x125:0x7ff flowid 1:12
336
337         tc qdisc add dev ${DEV} parent 1:12 handle 40: sfq perturb 10
338 else
339
340         echo -e "Usage: $0 [ del | stat | show | change | "
341         echo -e "\t\t\t change2 | change3 | head_drop | tbf | prio | "
342         echo -e "\t\t\t prio2sff | prio2eff | htb ]"
343 fi
344