fq_codel.json 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  1. [
  2. {
  3. "id": "4957",
  4. "name": "Create FQ_CODEL with default setting",
  5. "category": [
  6. "qdisc",
  7. "fq_codel"
  8. ],
  9. "plugins": {
  10. "requires": "nsPlugin"
  11. },
  12. "setup": [
  13. ],
  14. "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel",
  15. "expExitCode": "0",
  16. "verifyCmd": "$TC qdisc show dev $DUMMY",
  17. "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64",
  18. "matchCount": "1",
  19. "teardown": [
  20. "$TC qdisc del dev $DUMMY handle 1: root"
  21. ]
  22. },
  23. {
  24. "id": "7621",
  25. "name": "Create FQ_CODEL with limit setting",
  26. "category": [
  27. "qdisc",
  28. "fq_codel"
  29. ],
  30. "plugins": {
  31. "requires": "nsPlugin"
  32. },
  33. "setup": [
  34. ],
  35. "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel limit 1000",
  36. "expExitCode": "0",
  37. "verifyCmd": "$TC qdisc show dev $DUMMY",
  38. "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 1000p flows 1024 quantum.*target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64",
  39. "matchCount": "1",
  40. "teardown": [
  41. "$TC qdisc del dev $DUMMY handle 1: root"
  42. ]
  43. },
  44. {
  45. "id": "6871",
  46. "name": "Create FQ_CODEL with memory_limit setting",
  47. "category": [
  48. "qdisc",
  49. "fq_codel"
  50. ],
  51. "plugins": {
  52. "requires": "nsPlugin"
  53. },
  54. "setup": [
  55. ],
  56. "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel memory_limit 100000",
  57. "expExitCode": "0",
  58. "verifyCmd": "$TC qdisc show dev $DUMMY",
  59. "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 5ms interval 100ms memory_limit 100000b ecn drop_batch 64",
  60. "matchCount": "1",
  61. "teardown": [
  62. "$TC qdisc del dev $DUMMY handle 1: root"
  63. ]
  64. },
  65. {
  66. "id": "5636",
  67. "name": "Create FQ_CODEL with target setting",
  68. "category": [
  69. "qdisc",
  70. "fq_codel"
  71. ],
  72. "plugins": {
  73. "requires": "nsPlugin"
  74. },
  75. "setup": [
  76. ],
  77. "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel target 2000",
  78. "expExitCode": "0",
  79. "verifyCmd": "$TC qdisc show dev $DUMMY",
  80. "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 2ms interval 100ms memory_limit 32Mb ecn drop_batch 64",
  81. "matchCount": "1",
  82. "teardown": [
  83. "$TC qdisc del dev $DUMMY handle 1: root"
  84. ]
  85. },
  86. {
  87. "id": "630a",
  88. "name": "Create FQ_CODEL with interval setting",
  89. "category": [
  90. "qdisc",
  91. "fq_codel"
  92. ],
  93. "plugins": {
  94. "requires": "nsPlugin"
  95. },
  96. "setup": [
  97. ],
  98. "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel interval 5000",
  99. "expExitCode": "0",
  100. "verifyCmd": "$TC qdisc show dev $DUMMY",
  101. "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 5ms interval 5ms memory_limit 32Mb ecn drop_batch 64",
  102. "matchCount": "1",
  103. "teardown": [
  104. "$TC qdisc del dev $DUMMY handle 1: root"
  105. ]
  106. },
  107. {
  108. "id": "4324",
  109. "name": "Create FQ_CODEL with quantum setting",
  110. "category": [
  111. "qdisc",
  112. "fq_codel"
  113. ],
  114. "plugins": {
  115. "requires": "nsPlugin"
  116. },
  117. "setup": [
  118. ],
  119. "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel quantum 9000",
  120. "expExitCode": "0",
  121. "verifyCmd": "$TC qdisc show dev $DUMMY",
  122. "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum 9000 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64",
  123. "matchCount": "1",
  124. "teardown": [
  125. "$TC qdisc del dev $DUMMY handle 1: root"
  126. ]
  127. },
  128. {
  129. "id": "b190",
  130. "name": "Create FQ_CODEL with noecn flag",
  131. "category": [
  132. "qdisc",
  133. "fq_codel"
  134. ],
  135. "plugins": {
  136. "requires": "nsPlugin"
  137. },
  138. "setup": [
  139. ],
  140. "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel noecn",
  141. "expExitCode": "0",
  142. "verifyCmd": "$TC qdisc show dev $DUMMY",
  143. "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 5ms interval 100ms memory_limit 32Mb drop_batch 64",
  144. "matchCount": "1",
  145. "teardown": [
  146. "$TC qdisc del dev $DUMMY handle 1: root"
  147. ]
  148. },
  149. {
  150. "id": "5381",
  151. "name": "Create FQ_CODEL with ce_threshold setting",
  152. "category": [
  153. "qdisc",
  154. "fq_codel"
  155. ],
  156. "plugins": {
  157. "requires": "nsPlugin"
  158. },
  159. "setup": [
  160. ],
  161. "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel ce_threshold 1024000",
  162. "expExitCode": "0",
  163. "verifyCmd": "$TC qdisc show dev $DUMMY",
  164. "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 5ms ce_threshold 1.02s interval 100ms memory_limit 32Mb ecn drop_batch 64",
  165. "matchCount": "1",
  166. "teardown": [
  167. "$TC qdisc del dev $DUMMY handle 1: root"
  168. ]
  169. },
  170. {
  171. "id": "c9d2",
  172. "name": "Create FQ_CODEL with drop_batch setting",
  173. "category": [
  174. "qdisc",
  175. "fq_codel"
  176. ],
  177. "plugins": {
  178. "requires": "nsPlugin"
  179. },
  180. "setup": [
  181. ],
  182. "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel drop_batch 100",
  183. "expExitCode": "0",
  184. "verifyCmd": "$TC qdisc show dev $DUMMY",
  185. "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 100",
  186. "matchCount": "1",
  187. "teardown": [
  188. "$TC qdisc del dev $DUMMY handle 1: root"
  189. ]
  190. },
  191. {
  192. "id": "523b",
  193. "name": "Create FQ_CODEL with multiple setting",
  194. "category": [
  195. "qdisc",
  196. "fq_codel"
  197. ],
  198. "plugins": {
  199. "requires": "nsPlugin"
  200. },
  201. "setup": [
  202. ],
  203. "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel limit 1000 flows 256 drop_batch 100",
  204. "expExitCode": "0",
  205. "verifyCmd": "$TC qdisc show dev $DUMMY",
  206. "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 1000p flows 256 quantum.*target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 100",
  207. "matchCount": "1",
  208. "teardown": [
  209. "$TC qdisc del dev $DUMMY handle 1: root"
  210. ]
  211. },
  212. {
  213. "id": "9283",
  214. "name": "Replace FQ_CODEL with noecn setting",
  215. "category": [
  216. "qdisc",
  217. "fq_codel"
  218. ],
  219. "plugins": {
  220. "requires": "nsPlugin"
  221. },
  222. "setup": [
  223. "$TC qdisc add dev $DUMMY handle 1: root fq_codel limit 1000 flows 256 drop_batch 100"
  224. ],
  225. "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root fq_codel noecn",
  226. "expExitCode": "0",
  227. "verifyCmd": "$TC qdisc show dev $DUMMY",
  228. "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 1000p flows 256 quantum.*target 5ms interval 100ms memory_limit 32Mb drop_batch 100",
  229. "matchCount": "1",
  230. "teardown": [
  231. "$TC qdisc del dev $DUMMY handle 1: root"
  232. ]
  233. },
  234. {
  235. "id": "3459",
  236. "name": "Change FQ_CODEL with limit setting",
  237. "category": [
  238. "qdisc",
  239. "fq_codel"
  240. ],
  241. "plugins": {
  242. "requires": "nsPlugin"
  243. },
  244. "setup": [
  245. "$TC qdisc add dev $DUMMY handle 1: root fq_codel limit 1000 flows 256 drop_batch 100"
  246. ],
  247. "cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root fq_codel limit 2000",
  248. "expExitCode": "0",
  249. "verifyCmd": "$TC qdisc show dev $DUMMY",
  250. "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 2000p flows 256 quantum.*target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 100",
  251. "matchCount": "1",
  252. "teardown": [
  253. "$TC qdisc del dev $DUMMY handle 1: root"
  254. ]
  255. },
  256. {
  257. "id": "0128",
  258. "name": "Delete FQ_CODEL with handle",
  259. "category": [
  260. "qdisc",
  261. "fq_codel"
  262. ],
  263. "plugins": {
  264. "requires": "nsPlugin"
  265. },
  266. "setup": [
  267. "$TC qdisc add dev $DUMMY handle 1: root fq_codel limit 1000 flows 256 drop_batch 100"
  268. ],
  269. "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root",
  270. "expExitCode": "0",
  271. "verifyCmd": "$TC qdisc show dev $DUMMY",
  272. "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 1000p flows 256 quantum.*target 5ms interval 100ms memory_limit 32Mb noecn drop_batch 100",
  273. "matchCount": "0",
  274. "teardown": [
  275. ]
  276. },
  277. {
  278. "id": "0435",
  279. "name": "Show FQ_CODEL class",
  280. "category": [
  281. "qdisc",
  282. "fq_codel"
  283. ],
  284. "plugins": {
  285. "requires": "nsPlugin"
  286. },
  287. "setup": [
  288. ],
  289. "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel",
  290. "expExitCode": "0",
  291. "verifyCmd": "$TC class show dev $DUMMY",
  292. "matchPattern": "class fq_codel 1:",
  293. "matchCount": "0",
  294. "teardown": [
  295. "$TC qdisc del dev $DUMMY handle 1: root"
  296. ]
  297. },
  298. {
  299. "id": "0436",
  300. "name": "FQ_CODEL test qdisc limit trimming",
  301. "category": ["qdisc", "fq_codel"],
  302. "plugins": {"requires": ["nsPlugin", "scapyPlugin"]},
  303. "setup": [
  304. "$TC qdisc add dev $DEV1 handle 1: root fq_codel limit 10"
  305. ],
  306. "scapy": [
  307. {
  308. "iface": "$DEV0",
  309. "count": 10,
  310. "packet": "Ether(type=0x800)/IP(src='10.0.0.10',dst='10.0.0.20')/TCP(sport=5000,dport=10)"
  311. }
  312. ],
  313. "cmdUnderTest": "$TC qdisc change dev $DEV1 handle 1: root fq_codel limit 1",
  314. "expExitCode": "0",
  315. "verifyCmd": "$TC qdisc show dev $DEV1",
  316. "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 1p flows 1024 quantum.*target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64",
  317. "matchCount": "1",
  318. "teardown": ["$TC qdisc del dev $DEV1 handle 1: root"]
  319. }
  320. ]