mirred.json 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056
  1. [
  2. {
  3. "id": "5124",
  4. "name": "Add mirred mirror to egress action",
  5. "category": [
  6. "actions",
  7. "mirred"
  8. ],
  9. "plugins": {
  10. "requires": "nsPlugin"
  11. },
  12. "setup": [
  13. [
  14. "$TC actions flush action mirred",
  15. 0,
  16. 1,
  17. 255
  18. ]
  19. ],
  20. "cmdUnderTest": "$TC actions add action mirred egress mirror index 1 dev lo",
  21. "expExitCode": "0",
  22. "verifyCmd": "$TC actions list action mirred",
  23. "matchPattern": "action order [0-9]*: mirred \\(Egress Mirror to device lo\\).*index 1 ref",
  24. "matchCount": "1",
  25. "teardown": [
  26. "$TC actions flush action mirred"
  27. ]
  28. },
  29. {
  30. "id": "6fb4",
  31. "name": "Add mirred redirect to egress action",
  32. "category": [
  33. "actions",
  34. "mirred"
  35. ],
  36. "plugins": {
  37. "requires": "nsPlugin"
  38. },
  39. "setup": [
  40. [
  41. "$TC actions flush action mirred",
  42. 0,
  43. 1,
  44. 255
  45. ]
  46. ],
  47. "cmdUnderTest": "$TC actions add action mirred egress redirect index 2 dev lo action pipe",
  48. "expExitCode": "0",
  49. "verifyCmd": "$TC actions list action mirred",
  50. "matchPattern": "action order [0-9]*: mirred \\(Egress Redirect to device lo\\).*index 2 ref",
  51. "matchCount": "1",
  52. "teardown": [
  53. "$TC actions flush action mirred",
  54. "$TC actions flush action gact"
  55. ]
  56. },
  57. {
  58. "id": "ba38",
  59. "name": "Get mirred actions",
  60. "category": [
  61. "actions",
  62. "mirred"
  63. ],
  64. "plugins": {
  65. "requires": "nsPlugin"
  66. },
  67. "setup": [
  68. [
  69. "$TC actions flush action mirred",
  70. 0,
  71. 1,
  72. 255
  73. ],
  74. "$TC actions add action mirred egress mirror index 1 dev lo",
  75. "$TC actions add action mirred egress redirect index 2 dev lo"
  76. ],
  77. "cmdUnderTest": "$TC actions show action mirred",
  78. "expExitCode": "0",
  79. "verifyCmd": "$TC actions list action mirred",
  80. "matchPattern": "[Mirror|Redirect] to device lo",
  81. "matchCount": "2",
  82. "teardown": [
  83. "$TC actions flush action mirred"
  84. ]
  85. },
  86. {
  87. "id": "d7c0",
  88. "name": "Add invalid mirred direction",
  89. "category": [
  90. "actions",
  91. "mirred"
  92. ],
  93. "plugins": {
  94. "requires": "nsPlugin"
  95. },
  96. "setup": [
  97. [
  98. "$TC actions flush action mirred",
  99. 0,
  100. 1,
  101. 255
  102. ]
  103. ],
  104. "cmdUnderTest": "$TC actions add action mirred inbound mirror index 20 dev lo",
  105. "expExitCode": "255",
  106. "verifyCmd": "$TC actions list action mirred",
  107. "matchPattern": "action order [0-9]*: mirred \\(.*to device lo\\).*index 20 ref",
  108. "matchCount": "0",
  109. "teardown": [
  110. "$TC actions flush action mirred"
  111. ]
  112. },
  113. {
  114. "id": "e213",
  115. "name": "Add invalid mirred action",
  116. "category": [
  117. "actions",
  118. "mirred"
  119. ],
  120. "plugins": {
  121. "requires": "nsPlugin"
  122. },
  123. "setup": [
  124. [
  125. "$TC actions flush action mirred",
  126. 0,
  127. 1,
  128. 255
  129. ]
  130. ],
  131. "cmdUnderTest": "$TC actions add action mirred egress remirror index 20 dev lo",
  132. "expExitCode": "255",
  133. "verifyCmd": "$TC actions list action mirred",
  134. "matchPattern": "action order [0-9]*: mirred \\(Egress.*to device lo\\).*index 20 ref",
  135. "matchCount": "0",
  136. "teardown": [
  137. "$TC actions flush action mirred"
  138. ]
  139. },
  140. {
  141. "id": "2d89",
  142. "name": "Add mirred action with invalid device",
  143. "category": [
  144. "actions",
  145. "mirred"
  146. ],
  147. "plugins": {
  148. "requires": "nsPlugin"
  149. },
  150. "setup": [
  151. [
  152. "$TC actions flush action mirred",
  153. 0,
  154. 1,
  155. 255
  156. ]
  157. ],
  158. "cmdUnderTest": "$TC actions add action mirred egress mirror index 20 dev eltoh",
  159. "expExitCode": "255",
  160. "verifyCmd": "$TC actions list action mirred",
  161. "matchPattern": "action order [0-9]*: mirred \\(.*to device eltoh\\).*index 20 ref",
  162. "matchCount": "0",
  163. "teardown": [
  164. "$TC actions flush action mirred"
  165. ]
  166. },
  167. {
  168. "id": "300b",
  169. "name": "Add mirred action with duplicate index",
  170. "category": [
  171. "actions",
  172. "mirred"
  173. ],
  174. "plugins": {
  175. "requires": "nsPlugin"
  176. },
  177. "setup": [
  178. [
  179. "$TC actions flush action mirred",
  180. 0,
  181. 1,
  182. 255
  183. ],
  184. "$TC actions add action mirred egress redirect index 15 dev lo"
  185. ],
  186. "cmdUnderTest": "$TC actions add action mirred egress mirror index 15 dev lo",
  187. "expExitCode": "255",
  188. "verifyCmd": "$TC actions list action mirred",
  189. "matchPattern": "action order [0-9]*: mirred \\(.*to device lo\\).*index 15 ref",
  190. "matchCount": "1",
  191. "teardown": [
  192. "$TC actions flush action mirred"
  193. ]
  194. },
  195. {
  196. "id": "8917",
  197. "name": "Add mirred mirror action with control pass",
  198. "category": [
  199. "actions",
  200. "mirred"
  201. ],
  202. "plugins": {
  203. "requires": "nsPlugin"
  204. },
  205. "setup": [
  206. [
  207. "$TC actions flush action mirred",
  208. 0,
  209. 1,
  210. 255
  211. ]
  212. ],
  213. "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo pass index 1",
  214. "expExitCode": "0",
  215. "verifyCmd": "$TC actions get action mirred index 1",
  216. "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) pass.*index 1 ref",
  217. "matchCount": "1",
  218. "teardown": [
  219. "$TC actions flush action mirred"
  220. ]
  221. },
  222. {
  223. "id": "1054",
  224. "name": "Add mirred mirror action with control pipe",
  225. "category": [
  226. "actions",
  227. "mirred"
  228. ],
  229. "plugins": {
  230. "requires": "nsPlugin"
  231. },
  232. "setup": [
  233. [
  234. "$TC actions flush action mirred",
  235. 0,
  236. 1,
  237. 255
  238. ]
  239. ],
  240. "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo pipe index 15",
  241. "expExitCode": "0",
  242. "verifyCmd": "$TC actions get action mirred index 15",
  243. "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) pipe.*index 15 ref",
  244. "matchCount": "1",
  245. "teardown": [
  246. "$TC actions flush action mirred"
  247. ]
  248. },
  249. {
  250. "id": "9887",
  251. "name": "Add mirred mirror action with control continue",
  252. "category": [
  253. "actions",
  254. "mirred"
  255. ],
  256. "plugins": {
  257. "requires": "nsPlugin"
  258. },
  259. "setup": [
  260. [
  261. "$TC actions flush action mirred",
  262. 0,
  263. 1,
  264. 255
  265. ]
  266. ],
  267. "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo continue index 15",
  268. "expExitCode": "0",
  269. "verifyCmd": "$TC actions get action mirred index 15",
  270. "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) continue.*index 15 ref",
  271. "matchCount": "1",
  272. "teardown": [
  273. "$TC actions flush action mirred"
  274. ]
  275. },
  276. {
  277. "id": "e4aa",
  278. "name": "Add mirred mirror action with control reclassify",
  279. "category": [
  280. "actions",
  281. "mirred"
  282. ],
  283. "plugins": {
  284. "requires": "nsPlugin"
  285. },
  286. "setup": [
  287. [
  288. "$TC actions flush action mirred",
  289. 0,
  290. 1,
  291. 255
  292. ]
  293. ],
  294. "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo reclassify index 150",
  295. "expExitCode": "0",
  296. "verifyCmd": "$TC actions get action mirred index 150",
  297. "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) reclassify.*index 150 ref",
  298. "matchCount": "1",
  299. "teardown": [
  300. "$TC actions flush action mirred"
  301. ]
  302. },
  303. {
  304. "id": "ece9",
  305. "name": "Add mirred mirror action with control drop",
  306. "category": [
  307. "actions",
  308. "mirred"
  309. ],
  310. "plugins": {
  311. "requires": "nsPlugin"
  312. },
  313. "setup": [
  314. [
  315. "$TC actions flush action mirred",
  316. 0,
  317. 1,
  318. 255
  319. ]
  320. ],
  321. "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo drop index 99",
  322. "expExitCode": "0",
  323. "verifyCmd": "$TC actions get action mirred index 99",
  324. "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) drop.*index 99 ref",
  325. "matchCount": "1",
  326. "teardown": [
  327. "$TC actions flush action mirred"
  328. ]
  329. },
  330. {
  331. "id": "0031",
  332. "name": "Add mirred mirror action with control jump",
  333. "category": [
  334. "actions",
  335. "mirred"
  336. ],
  337. "plugins": {
  338. "requires": "nsPlugin"
  339. },
  340. "setup": [
  341. [
  342. "$TC actions flush action mirred",
  343. 0,
  344. 1,
  345. 255
  346. ]
  347. ],
  348. "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo jump 10 index 99",
  349. "expExitCode": "0",
  350. "verifyCmd": "$TC actions get action mirred index 99",
  351. "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) jump 10.*index 99 ref",
  352. "matchCount": "1",
  353. "teardown": [
  354. "$TC actions flush action mirred"
  355. ]
  356. },
  357. {
  358. "id": "407c",
  359. "name": "Add mirred mirror action with cookie",
  360. "category": [
  361. "actions",
  362. "mirred"
  363. ],
  364. "plugins": {
  365. "requires": "nsPlugin"
  366. },
  367. "setup": [
  368. [
  369. "$TC actions flush action mirred",
  370. 0,
  371. 1,
  372. 255
  373. ]
  374. ],
  375. "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo reclassify cookie aa11bb22cc33dd44ee55",
  376. "expExitCode": "0",
  377. "verifyCmd": "$TC actions ls action mirred",
  378. "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) reclassify.*cookie aa11bb22cc33dd44ee55",
  379. "matchCount": "1",
  380. "teardown": [
  381. "$TC actions flush action mirred"
  382. ]
  383. },
  384. {
  385. "id": "8b69",
  386. "name": "Add mirred mirror action with index at 32-bit maximum",
  387. "category": [
  388. "actions",
  389. "mirred"
  390. ],
  391. "plugins": {
  392. "requires": "nsPlugin"
  393. },
  394. "setup": [
  395. [
  396. "$TC actions flush action mirred",
  397. 0,
  398. 1,
  399. 255
  400. ]
  401. ],
  402. "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo pipe index 4294967295",
  403. "expExitCode": "0",
  404. "verifyCmd": "$TC actions get action mirred index 4294967295",
  405. "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) pipe.*index 4294967295",
  406. "matchCount": "1",
  407. "teardown": [
  408. "$TC actions flush action mirred"
  409. ]
  410. },
  411. {
  412. "id": "3f66",
  413. "name": "Add mirred mirror action with index exceeding 32-bit maximum",
  414. "category": [
  415. "actions",
  416. "mirred"
  417. ],
  418. "plugins": {
  419. "requires": "nsPlugin"
  420. },
  421. "setup": [
  422. [
  423. "$TC actions flush action mirred",
  424. 0,
  425. 1,
  426. 255
  427. ]
  428. ],
  429. "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo pipe index 429496729555",
  430. "expExitCode": "255",
  431. "verifyCmd": "$TC actions get action mirred index 429496729555",
  432. "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) pipe.*index 429496729555",
  433. "matchCount": "0",
  434. "teardown": []
  435. },
  436. {
  437. "id": "a70e",
  438. "name": "Delete mirred mirror action",
  439. "category": [
  440. "actions",
  441. "mirred"
  442. ],
  443. "plugins": {
  444. "requires": "nsPlugin"
  445. },
  446. "setup": [
  447. [
  448. "$TC actions flush action mirred",
  449. 0,
  450. 1,
  451. 255
  452. ],
  453. "$TC actions add action mirred egress mirror index 5 dev lo"
  454. ],
  455. "cmdUnderTest": "$TC actions del action mirred index 5",
  456. "expExitCode": "0",
  457. "verifyCmd": "$TC actions list action mirred",
  458. "matchPattern": "action order [0-9]*: mirred \\(Egress Mirror to device lo\\).*index 5 ref",
  459. "matchCount": "0",
  460. "teardown": [
  461. "$TC actions flush action mirred"
  462. ]
  463. },
  464. {
  465. "id": "3fb3",
  466. "name": "Delete mirred redirect action",
  467. "category": [
  468. "actions",
  469. "mirred"
  470. ],
  471. "plugins": {
  472. "requires": "nsPlugin"
  473. },
  474. "setup": [
  475. [
  476. "$TC actions flush action mirred",
  477. 0,
  478. 1,
  479. 255
  480. ],
  481. "$TC actions add action mirred egress redirect index 5 dev lo"
  482. ],
  483. "cmdUnderTest": "$TC actions del action mirred index 5",
  484. "expExitCode": "0",
  485. "verifyCmd": "$TC actions list action mirred",
  486. "matchPattern": "action order [0-9]*: mirred \\(Egress Redirect to device lo\\).*index 5 ref",
  487. "matchCount": "0",
  488. "teardown": [
  489. "$TC actions flush action mirred"
  490. ]
  491. },
  492. {
  493. "id": "2a9a",
  494. "name": "Replace mirred action with invalid goto chain control",
  495. "category": [
  496. "actions",
  497. "mirred"
  498. ],
  499. "plugins": {
  500. "requires": "nsPlugin"
  501. },
  502. "setup": [
  503. [
  504. "$TC actions flush action mirred",
  505. 0,
  506. 1,
  507. 255
  508. ],
  509. "$TC actions add action mirred ingress mirror dev lo drop index 90"
  510. ],
  511. "cmdUnderTest": "$TC actions replace action mirred ingress mirror dev lo goto chain 42 index 90 cookie c1a0c1a0",
  512. "expExitCode": "255",
  513. "verifyCmd": "$TC actions get action mirred index 90",
  514. "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) drop.*index 90 ref",
  515. "matchCount": "1",
  516. "teardown": [
  517. "$TC actions flush action mirred"
  518. ]
  519. },
  520. {
  521. "id": "4749",
  522. "name": "Add batch of 32 mirred redirect egress actions with cookie",
  523. "category": [
  524. "actions",
  525. "mirred"
  526. ],
  527. "plugins": {
  528. "requires": "nsPlugin"
  529. },
  530. "setup": [
  531. [
  532. "$TC actions flush action mirred",
  533. 0,
  534. 1,
  535. 255
  536. ]
  537. ],
  538. "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred egress redirect dev lo index \\$i cookie aabbccddeeff112233445566778800a1 \\\"; args=\"\\$args\\$cmd\"; done && $TC actions add \\$args\"",
  539. "expExitCode": "0",
  540. "verifyCmd": "$TC actions list action mirred",
  541. "matchPattern": "^[ \t]+index [0-9]+ ref",
  542. "matchCount": "32",
  543. "teardown": [
  544. "$TC actions flush action mirred"
  545. ]
  546. },
  547. {
  548. "id": "5c69",
  549. "name": "Delete batch of 32 mirred redirect egress actions",
  550. "category": [
  551. "actions",
  552. "mirred"
  553. ],
  554. "plugins": {
  555. "requires": "nsPlugin"
  556. },
  557. "setup": [
  558. [
  559. "$TC actions flush action mirred",
  560. 0,
  561. 1,
  562. 255
  563. ],
  564. "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred egress redirect dev lo index \\$i \\\"; args=\\\"\\$args\\$cmd\\\"; done && $TC actions add \\$args\""
  565. ],
  566. "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred index \\$i \\\"; args=\"\\$args\\$cmd\"; done && $TC actions del \\$args\"",
  567. "expExitCode": "0",
  568. "verifyCmd": "$TC actions list action mirred",
  569. "matchPattern": "^[ \t]+index [0-9]+ ref",
  570. "matchCount": "0",
  571. "teardown": []
  572. },
  573. {
  574. "id": "d3c0",
  575. "name": "Add batch of 32 mirred mirror ingress actions with cookie",
  576. "category": [
  577. "actions",
  578. "mirred"
  579. ],
  580. "plugins": {
  581. "requires": "nsPlugin"
  582. },
  583. "setup": [
  584. [
  585. "$TC actions flush action mirred",
  586. 0,
  587. 1,
  588. 255
  589. ]
  590. ],
  591. "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred ingress mirror dev lo index \\$i cookie aabbccddeeff112233445566778800a1 \\\"; args=\"\\$args\\$cmd\"; done && $TC actions add \\$args\"",
  592. "expExitCode": "0",
  593. "verifyCmd": "$TC actions list action mirred",
  594. "matchPattern": "^[ \t]+index [0-9]+ ref",
  595. "matchCount": "32",
  596. "teardown": [
  597. "$TC actions flush action mirred"
  598. ]
  599. },
  600. {
  601. "id": "e684",
  602. "name": "Delete batch of 32 mirred mirror ingress actions",
  603. "category": [
  604. "actions",
  605. "mirred"
  606. ],
  607. "plugins": {
  608. "requires": "nsPlugin"
  609. },
  610. "setup": [
  611. [
  612. "$TC actions flush action mirred",
  613. 0,
  614. 1,
  615. 255
  616. ],
  617. "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred ingress mirror dev lo index \\$i \\\"; args=\\\"\\$args\\$cmd\\\"; done && $TC actions add \\$args\""
  618. ],
  619. "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred index \\$i \\\"; args=\"\\$args\\$cmd\"; done && $TC actions del \\$args\"",
  620. "expExitCode": "0",
  621. "verifyCmd": "$TC actions list action mirred",
  622. "matchPattern": "^[ \t]+index [0-9]+ ref",
  623. "matchCount": "0",
  624. "teardown": []
  625. },
  626. {
  627. "id": "31e3",
  628. "name": "Add mirred mirror to egress action with no_percpu flag",
  629. "category": [
  630. "actions",
  631. "mirred"
  632. ],
  633. "plugins": {
  634. "requires": "nsPlugin"
  635. },
  636. "setup": [
  637. [
  638. "$TC actions flush action mirred",
  639. 0,
  640. 1,
  641. 255
  642. ]
  643. ],
  644. "cmdUnderTest": "$TC actions add action mirred egress mirror dev lo no_percpu",
  645. "expExitCode": "0",
  646. "verifyCmd": "$TC actions list action mirred",
  647. "matchPattern": "action order [0-9]*: mirred \\(Egress Mirror to device lo\\).*no_percpu",
  648. "matchCount": "1",
  649. "teardown": [
  650. "$TC actions flush action mirred"
  651. ]
  652. },
  653. {
  654. "id": "456d",
  655. "name": "Add mirred mirror to egress block action",
  656. "category": [
  657. "actions",
  658. "mirred"
  659. ],
  660. "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid",
  661. "plugins": {
  662. "requires": "nsPlugin"
  663. },
  664. "setup": [
  665. [
  666. "$TC actions flush action mirred",
  667. 0,
  668. 1,
  669. 255
  670. ],
  671. [
  672. "$TC qdisc add dev $DEV1 egress_block 21 clsact",
  673. 0
  674. ]
  675. ],
  676. "cmdUnderTest": "$TC actions add action mirred egress mirror index 1 blockid 21",
  677. "expExitCode": "0",
  678. "verifyCmd": "$TC -j actions get action mirred index 1",
  679. "matchJSON": [
  680. {
  681. "total acts": 0
  682. },
  683. {
  684. "actions": [
  685. {
  686. "order": 1,
  687. "kind": "mirred",
  688. "mirred_action": "mirror",
  689. "direction": "egress",
  690. "to_blockid": 21,
  691. "control_action": {
  692. "type": "pipe"
  693. },
  694. "index": 1,
  695. "ref": 1,
  696. "bind": 0,
  697. "not_in_hw": true
  698. }
  699. ]
  700. }
  701. ],
  702. "matchCount": "1",
  703. "teardown": [
  704. "$TC qdisc del dev $DEV1 egress_block 21 clsact",
  705. "$TC actions flush action mirred"
  706. ]
  707. },
  708. {
  709. "id": "2358",
  710. "name": "Add mirred mirror to ingress block action",
  711. "category": [
  712. "actions",
  713. "mirred"
  714. ],
  715. "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid",
  716. "plugins": {
  717. "requires": "nsPlugin"
  718. },
  719. "setup": [
  720. [
  721. "$TC actions flush action mirred",
  722. 0,
  723. 1,
  724. 255
  725. ],
  726. [
  727. "$TC qdisc add dev $DEV1 ingress_block 21 clsact",
  728. 0
  729. ]
  730. ],
  731. "cmdUnderTest": "$TC actions add action mirred ingress mirror index 1 blockid 21",
  732. "expExitCode": "0",
  733. "verifyCmd": "$TC -j actions get action mirred index 1",
  734. "matchJSON": [
  735. {
  736. "total acts": 0
  737. },
  738. {
  739. "actions": [
  740. {
  741. "order": 1,
  742. "kind": "mirred",
  743. "mirred_action": "mirror",
  744. "direction": "ingress",
  745. "to_blockid": 21,
  746. "control_action": {
  747. "type": "pipe"
  748. },
  749. "index": 1,
  750. "ref": 1,
  751. "bind": 0,
  752. "not_in_hw": true
  753. }
  754. ]
  755. }
  756. ],
  757. "matchCount": "1",
  758. "teardown": [
  759. "$TC qdisc del dev $DEV1 ingress_block 21 clsact",
  760. "$TC actions flush action mirred"
  761. ]
  762. },
  763. {
  764. "id": "fdb1",
  765. "name": "Add mirred redirect to egress block action",
  766. "category": [
  767. "actions",
  768. "mirred"
  769. ],
  770. "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid",
  771. "plugins": {
  772. "requires": "nsPlugin"
  773. },
  774. "setup": [
  775. [
  776. "$TC actions flush action mirred",
  777. 0,
  778. 1,
  779. 255
  780. ],
  781. [
  782. "$TC qdisc add dev $DEV1 ingress_block 21 clsact",
  783. 0
  784. ]
  785. ],
  786. "cmdUnderTest": "$TC actions add action mirred egress redirect index 1 blockid 21",
  787. "expExitCode": "0",
  788. "verifyCmd": "$TC -j actions get action mirred index 1",
  789. "matchJSON": [
  790. {
  791. "total acts": 0
  792. },
  793. {
  794. "actions": [
  795. {
  796. "order": 1,
  797. "kind": "mirred",
  798. "mirred_action": "redirect",
  799. "direction": "egress",
  800. "to_blockid": 21,
  801. "control_action": {
  802. "type": "stolen"
  803. },
  804. "index": 1,
  805. "ref": 1,
  806. "bind": 0,
  807. "not_in_hw": true
  808. }
  809. ]
  810. }
  811. ],
  812. "matchCount": "1",
  813. "teardown": [
  814. "$TC qdisc del dev $DEV1 ingress_block 21 clsact",
  815. "$TC actions flush action mirred"
  816. ]
  817. },
  818. {
  819. "id": "20cc",
  820. "name": "Add mirred redirect to ingress block action",
  821. "category": [
  822. "actions",
  823. "mirred"
  824. ],
  825. "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid",
  826. "plugins": {
  827. "requires": "nsPlugin"
  828. },
  829. "setup": [
  830. [
  831. "$TC actions flush action mirred",
  832. 0,
  833. 1,
  834. 255
  835. ],
  836. [
  837. "$TC qdisc add dev $DEV1 ingress_block 21 clsact",
  838. 0
  839. ]
  840. ],
  841. "cmdUnderTest": "$TC actions add action mirred ingress redirect index 1 blockid 21",
  842. "expExitCode": "0",
  843. "verifyCmd": "$TC -j actions get action mirred index 1",
  844. "matchJSON": [
  845. {
  846. "total acts": 0
  847. },
  848. {
  849. "actions": [
  850. {
  851. "order": 1,
  852. "kind": "mirred",
  853. "mirred_action": "redirect",
  854. "direction": "ingress",
  855. "to_blockid": 21,
  856. "control_action": {
  857. "type": "stolen"
  858. },
  859. "index": 1,
  860. "ref": 1,
  861. "bind": 0,
  862. "not_in_hw": true
  863. }
  864. ]
  865. }
  866. ],
  867. "matchCount": "1",
  868. "teardown": [
  869. "$TC qdisc del dev $DEV1 ingress_block 21 clsact",
  870. "$TC actions flush action mirred"
  871. ]
  872. },
  873. {
  874. "id": "e739",
  875. "name": "Try to add mirred action with both dev and block",
  876. "category": [
  877. "actions",
  878. "mirred"
  879. ],
  880. "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid",
  881. "plugins": {
  882. "requires": "nsPlugin"
  883. },
  884. "setup": [
  885. [
  886. "$TC actions flush action mirred",
  887. 0,
  888. 1,
  889. 255
  890. ],
  891. [
  892. "$TC qdisc add dev $DEV1 ingress_block 21 clsact",
  893. 0
  894. ]
  895. ],
  896. "cmdUnderTest": "$TC actions add action mirred ingress redirect index 1 blockid 21 dev $DEV1",
  897. "expExitCode": "255",
  898. "verifyCmd": "$TC -j actions list action mirred",
  899. "matchJSON": [],
  900. "matchCount": "1",
  901. "teardown": [
  902. "$TC qdisc del dev $DEV1 ingress_block 21 clsact",
  903. "$TC actions flush action mirred"
  904. ]
  905. },
  906. {
  907. "id": "2f47",
  908. "name": "Try to add mirred action without specifying neither dev nor block",
  909. "category": [
  910. "actions",
  911. "mirred"
  912. ],
  913. "plugins": {
  914. "requires": "nsPlugin"
  915. },
  916. "setup": [
  917. [
  918. "$TC actions flush action mirred",
  919. 0,
  920. 1,
  921. 255
  922. ],
  923. [
  924. "$TC qdisc add dev $DEV1 ingress_block 21 clsact",
  925. 0
  926. ]
  927. ],
  928. "cmdUnderTest": "$TC actions add action mirred ingress redirect index 1",
  929. "expExitCode": "255",
  930. "verifyCmd": "$TC -j actions list action mirred",
  931. "matchJSON": [],
  932. "matchCount": "1",
  933. "teardown": [
  934. "$TC qdisc del dev $DEV1 ingress_block 21 clsact",
  935. "$TC actions flush action mirred"
  936. ]
  937. },
  938. {
  939. "id": "3188",
  940. "name": "Replace mirred redirect to dev action with redirect to block",
  941. "category": [
  942. "actions",
  943. "mirred"
  944. ],
  945. "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid",
  946. "plugins": {
  947. "requires": "nsPlugin"
  948. },
  949. "setup": [
  950. [
  951. "$TC actions flush action mirred",
  952. 0,
  953. 1,
  954. 255
  955. ],
  956. [
  957. "$TC qdisc add dev $DEV1 ingress_block 21 clsact",
  958. 0
  959. ],
  960. [
  961. "$TC actions add action mirred ingress redirect index 1 dev $DEV1",
  962. 0
  963. ]
  964. ],
  965. "cmdUnderTest": "$TC actions replace action mirred egress redirect index 1 blockid 21",
  966. "expExitCode": "0",
  967. "verifyCmd": "$TC -j actions get action mirred index 1",
  968. "matchJSON": [
  969. {
  970. "total acts": 0
  971. },
  972. {
  973. "actions": [
  974. {
  975. "order": 1,
  976. "kind": "mirred",
  977. "mirred_action": "redirect",
  978. "direction": "egress",
  979. "to_blockid": 21,
  980. "control_action": {
  981. "type": "stolen"
  982. },
  983. "index": 1,
  984. "ref": 1,
  985. "bind": 0,
  986. "not_in_hw": true
  987. }
  988. ]
  989. }
  990. ],
  991. "matchCount": "1",
  992. "teardown": [
  993. "$TC qdisc del dev $DEV1 ingress_block 21 clsact",
  994. "$TC actions flush action mirred"
  995. ]
  996. },
  997. {
  998. "id": "83cc",
  999. "name": "Replace mirred redirect to block action with mirror to dev",
  1000. "category": [
  1001. "actions",
  1002. "mirred"
  1003. ],
  1004. "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid",
  1005. "plugins": {
  1006. "requires": "nsPlugin"
  1007. },
  1008. "setup": [
  1009. [
  1010. "$TC actions flush action mirred",
  1011. 0,
  1012. 1,
  1013. 255
  1014. ],
  1015. [
  1016. "$TC qdisc add dev $DEV1 ingress_block 21 clsact",
  1017. 0
  1018. ],
  1019. [
  1020. "$TC actions add action mirred egress redirect index 1 blockid 21",
  1021. 0
  1022. ]
  1023. ],
  1024. "cmdUnderTest": "$TC actions replace action mirred ingress mirror index 1 dev lo",
  1025. "expExitCode": "0",
  1026. "verifyCmd": "$TC -j actions get action mirred index 1",
  1027. "matchJSON": [
  1028. {
  1029. "total acts": 0
  1030. },
  1031. {
  1032. "actions": [
  1033. {
  1034. "order": 1,
  1035. "kind": "mirred",
  1036. "mirred_action": "mirror",
  1037. "direction": "ingress",
  1038. "to_dev": "lo",
  1039. "control_action": {
  1040. "type": "pipe"
  1041. },
  1042. "index": 1,
  1043. "ref": 1,
  1044. "bind": 0,
  1045. "not_in_hw": true
  1046. }
  1047. ]
  1048. }
  1049. ],
  1050. "matchCount": "1",
  1051. "teardown": [
  1052. "$TC qdisc del dev $DEV1 ingress_block 21 clsact",
  1053. "$TC actions flush action mirred"
  1054. ]
  1055. }
  1056. ]