ct.json 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509
  1. [
  2. {
  3. "id": "696a",
  4. "name": "Add simple ct action",
  5. "category": [
  6. "actions",
  7. "ct"
  8. ],
  9. "plugins": {
  10. "requires": "nsPlugin"
  11. },
  12. "setup": [
  13. [
  14. "$TC actions flush action ct",
  15. 0,
  16. 1,
  17. 255
  18. ]
  19. ],
  20. "cmdUnderTest": "$TC actions add action ct index 42",
  21. "expExitCode": "0",
  22. "verifyCmd": "$TC actions list action ct",
  23. "matchPattern": "action order [0-9]*: ct zone 0 pipe.*index 42 ref",
  24. "matchCount": "1",
  25. "teardown": [
  26. "$TC actions flush action ct"
  27. ]
  28. },
  29. {
  30. "id": "e38c",
  31. "name": "Add simple ct action with cookie",
  32. "category": [
  33. "actions",
  34. "ct"
  35. ],
  36. "plugins": {
  37. "requires": "nsPlugin"
  38. },
  39. "setup": [
  40. [
  41. "$TC actions flush action ct",
  42. 0,
  43. 1,
  44. 255
  45. ]
  46. ],
  47. "cmdUnderTest": "$TC actions add action ct index 42 cookie deadbeef",
  48. "expExitCode": "0",
  49. "verifyCmd": "$TC actions list action ct",
  50. "matchPattern": "action order [0-9]*: ct zone 0 pipe.*index 42 ref.*cookie deadbeef",
  51. "matchCount": "1",
  52. "teardown": [
  53. "$TC actions flush action ct"
  54. ]
  55. },
  56. {
  57. "id": "9f20",
  58. "name": "Add ct clear action",
  59. "category": [
  60. "actions",
  61. "ct"
  62. ],
  63. "plugins": {
  64. "requires": "nsPlugin"
  65. },
  66. "setup": [
  67. [
  68. "$TC actions flush action ct",
  69. 0,
  70. 1,
  71. 255
  72. ]
  73. ],
  74. "cmdUnderTest": "$TC actions add action ct clear index 42",
  75. "expExitCode": "0",
  76. "verifyCmd": "$TC actions list action ct",
  77. "matchPattern": "action order [0-9]*: ct clear pipe.*index 42 ref",
  78. "matchCount": "1",
  79. "teardown": [
  80. "$TC actions flush action ct"
  81. ]
  82. },
  83. {
  84. "id": "0bc1",
  85. "name": "Add ct clear action with cookie of max length",
  86. "category": [
  87. "actions",
  88. "ct"
  89. ],
  90. "plugins": {
  91. "requires": "nsPlugin"
  92. },
  93. "setup": [
  94. [
  95. "$TC actions flush action ct",
  96. 0,
  97. 1,
  98. 255
  99. ]
  100. ],
  101. "cmdUnderTest": "$TC actions add action ct clear index 42 cookie aa11bb22cc33dd44ee55ff66aa11b1b2",
  102. "expExitCode": "0",
  103. "verifyCmd": "$TC actions list action ct",
  104. "matchPattern": "action order [0-9]*: ct clear pipe.*index 42 ref.*cookie aa11bb22cc33dd44ee55ff66aa11b1b2",
  105. "matchCount": "1",
  106. "teardown": [
  107. "$TC actions flush action ct"
  108. ]
  109. },
  110. {
  111. "id": "5bea",
  112. "name": "Try ct with zone",
  113. "category": [
  114. "actions",
  115. "ct"
  116. ],
  117. "plugins": {
  118. "requires": "nsPlugin"
  119. },
  120. "setup": [
  121. [
  122. "$TC actions flush action ct",
  123. 0,
  124. 1,
  125. 255
  126. ]
  127. ],
  128. "cmdUnderTest": "$TC actions add action ct zone 404 index 42",
  129. "expExitCode": "0",
  130. "verifyCmd": "$TC actions list action ct",
  131. "matchPattern": "action order [0-9]*: ct zone 404 pipe.*index 42 ref",
  132. "matchCount": "1",
  133. "teardown": [
  134. "$TC actions flush action ct"
  135. ]
  136. },
  137. {
  138. "id": "d5d6",
  139. "name": "Try ct with zone, commit",
  140. "category": [
  141. "actions",
  142. "ct"
  143. ],
  144. "plugins": {
  145. "requires": "nsPlugin"
  146. },
  147. "setup": [
  148. [
  149. "$TC actions flush action ct",
  150. 0,
  151. 1,
  152. 255
  153. ]
  154. ],
  155. "cmdUnderTest": "$TC actions add action ct zone 404 commit index 42",
  156. "expExitCode": "0",
  157. "verifyCmd": "$TC actions list action ct",
  158. "matchPattern": "action order [0-9]*: ct commit zone 404 pipe.*index 42 ref",
  159. "matchCount": "1",
  160. "teardown": [
  161. "$TC actions flush action ct"
  162. ]
  163. },
  164. {
  165. "id": "029f",
  166. "name": "Try ct with zone, commit, mark",
  167. "category": [
  168. "actions",
  169. "ct"
  170. ],
  171. "plugins": {
  172. "requires": "nsPlugin"
  173. },
  174. "setup": [
  175. [
  176. "$TC actions flush action ct",
  177. 0,
  178. 1,
  179. 255
  180. ]
  181. ],
  182. "cmdUnderTest": "$TC actions add action ct zone 404 commit mark 0x42 index 42",
  183. "expExitCode": "0",
  184. "verifyCmd": "$TC actions list action ct",
  185. "matchPattern": "action order [0-9]*: ct commit mark 66 zone 404 pipe.*index 42 ref",
  186. "matchCount": "1",
  187. "teardown": [
  188. "$TC actions flush action ct"
  189. ]
  190. },
  191. {
  192. "id": "a58d",
  193. "name": "Try ct with zone, commit, mark, nat",
  194. "category": [
  195. "actions",
  196. "ct"
  197. ],
  198. "plugins": {
  199. "requires": "nsPlugin"
  200. },
  201. "setup": [
  202. [
  203. "$TC actions flush action ct",
  204. 0,
  205. 1,
  206. 255
  207. ]
  208. ],
  209. "cmdUnderTest": "$TC actions add action ct zone 404 commit mark 0x42 nat src addr 5.5.5.7 index 42",
  210. "expExitCode": "0",
  211. "verifyCmd": "$TC actions list action ct",
  212. "matchPattern": "action order [0-9]*: ct commit mark 66 zone 404 nat src addr 5.5.5.7 pipe.*index 42 ref",
  213. "matchCount": "1",
  214. "teardown": [
  215. "$TC actions flush action ct"
  216. ]
  217. },
  218. {
  219. "id": "901b",
  220. "name": "Try ct with full nat ipv4 range syntax",
  221. "category": [
  222. "actions",
  223. "ct"
  224. ],
  225. "plugins": {
  226. "requires": "nsPlugin"
  227. },
  228. "setup": [
  229. [
  230. "$TC actions flush action ct",
  231. 0,
  232. 1,
  233. 255
  234. ]
  235. ],
  236. "cmdUnderTest": "$TC actions add action ct commit nat src addr 5.5.5.7-5.5.6.0 port 1000-2000 index 44",
  237. "expExitCode": "0",
  238. "verifyCmd": "$TC actions list action ct",
  239. "matchPattern": "action order [0-9]*: ct commit zone 0 nat src addr 5.5.5.7-5.5.6.0 port 1000-2000 pipe.*index 44 ref",
  240. "matchCount": "1",
  241. "teardown": [
  242. "$TC actions flush action ct"
  243. ]
  244. },
  245. {
  246. "id": "072b",
  247. "name": "Try ct with full nat ipv6 syntax",
  248. "category": [
  249. "actions",
  250. "ct"
  251. ],
  252. "plugins": {
  253. "requires": "nsPlugin"
  254. },
  255. "setup": [
  256. [
  257. "$TC actions flush action ct",
  258. 0,
  259. 1,
  260. 255
  261. ]
  262. ],
  263. "cmdUnderTest": "$TC actions add action ct commit nat src addr 2001::1 port 1000-2000 index 44",
  264. "expExitCode": "0",
  265. "verifyCmd": "$TC actions list action ct",
  266. "matchPattern": "action order [0-9]*: ct commit zone 0 nat src addr 2001::1 port 1000-2000 pipe.*index 44 ref",
  267. "matchCount": "1",
  268. "teardown": [
  269. "$TC actions flush action ct"
  270. ]
  271. },
  272. {
  273. "id": "3420",
  274. "name": "Try ct with full nat ipv6 range syntax",
  275. "category": [
  276. "actions",
  277. "ct"
  278. ],
  279. "plugins": {
  280. "requires": "nsPlugin"
  281. },
  282. "setup": [
  283. [
  284. "$TC actions flush action ct",
  285. 0,
  286. 1,
  287. 255
  288. ]
  289. ],
  290. "cmdUnderTest": "$TC actions add action ct commit nat src addr 2001::1-2001::10 port 1000-2000 index 44",
  291. "expExitCode": "0",
  292. "verifyCmd": "$TC actions list action ct",
  293. "matchPattern": "action order [0-9]*: ct commit zone 0 nat src addr 2001::1-2001::10 port 1000-2000 pipe.*index 44 ref",
  294. "matchCount": "1",
  295. "teardown": [
  296. "$TC actions flush action ct"
  297. ]
  298. },
  299. {
  300. "id": "4470",
  301. "name": "Try ct with full nat ipv6 range syntax + force",
  302. "category": [
  303. "actions",
  304. "ct"
  305. ],
  306. "plugins": {
  307. "requires": "nsPlugin"
  308. },
  309. "setup": [
  310. [
  311. "$TC actions flush action ct",
  312. 0,
  313. 1,
  314. 255
  315. ]
  316. ],
  317. "cmdUnderTest": "$TC actions add action ct commit force nat src addr 2001::1-2001::10 port 1000-2000 index 44",
  318. "expExitCode": "0",
  319. "verifyCmd": "$TC actions list action ct",
  320. "matchPattern": "action order [0-9]*: ct commit force zone 0 nat src addr 2001::1-2001::10 port 1000-2000 pipe.*index 44 ref",
  321. "matchCount": "1",
  322. "teardown": [
  323. "$TC actions flush action ct"
  324. ]
  325. },
  326. {
  327. "id": "5d88",
  328. "name": "Try ct with label",
  329. "category": [
  330. "actions",
  331. "ct"
  332. ],
  333. "plugins": {
  334. "requires": "nsPlugin"
  335. },
  336. "setup": [
  337. [
  338. "$TC actions flush action ct",
  339. 0,
  340. 1,
  341. 255
  342. ]
  343. ],
  344. "cmdUnderTest": "$TC actions add action ct label 123123 index 44",
  345. "expExitCode": "0",
  346. "verifyCmd": "$TC actions list action ct",
  347. "matchPattern": "action order [0-9]*: ct zone 0 label 12312300000000000000000000000000 pipe.*index 44 ref",
  348. "matchCount": "1",
  349. "teardown": [
  350. "$TC actions flush action ct"
  351. ]
  352. },
  353. {
  354. "id": "04d4",
  355. "name": "Try ct with label with mask",
  356. "category": [
  357. "actions",
  358. "ct"
  359. ],
  360. "plugins": {
  361. "requires": "nsPlugin"
  362. },
  363. "setup": [
  364. [
  365. "$TC actions flush action ct",
  366. 0,
  367. 1,
  368. 255
  369. ]
  370. ],
  371. "cmdUnderTest": "$TC actions add action ct label 12312300000000000000000000000001/ffffffff000000000000000000000001 index 44",
  372. "expExitCode": "0",
  373. "verifyCmd": "$TC actions list action ct",
  374. "matchPattern": "action order [0-9]*: ct zone 0 label 12312300000000000000000000000001/ffffffff000000000000000000000001 pipe.*index 44 ref",
  375. "matchCount": "1",
  376. "teardown": [
  377. "$TC actions flush action ct"
  378. ]
  379. },
  380. {
  381. "id": "9751",
  382. "name": "Try ct with mark + mask",
  383. "category": [
  384. "actions",
  385. "ct"
  386. ],
  387. "plugins": {
  388. "requires": "nsPlugin"
  389. },
  390. "setup": [
  391. [
  392. "$TC actions flush action ct",
  393. 0,
  394. 1,
  395. 255
  396. ]
  397. ],
  398. "cmdUnderTest": "$TC actions add action ct mark 0x42/0xf0 index 42",
  399. "expExitCode": "0",
  400. "verifyCmd": "$TC actions list action ct",
  401. "matchPattern": "action order [0-9]*: ct mark 66/0xf0 zone 0 pipe.*index 42 ref",
  402. "matchCount": "1",
  403. "teardown": [
  404. "$TC actions flush action ct"
  405. ]
  406. },
  407. {
  408. "id": "2faa",
  409. "name": "Try ct with mark + mask and cookie",
  410. "category": [
  411. "actions",
  412. "ct"
  413. ],
  414. "plugins": {
  415. "requires": "nsPlugin"
  416. },
  417. "setup": [
  418. [
  419. "$TC actions flush action ct",
  420. 0,
  421. 1,
  422. 255
  423. ]
  424. ],
  425. "cmdUnderTest": "$TC actions add action ct mark 0x42/0xf0 index 42 cookie aa11bb22cc33dd44ee55ff66aa11b1b2",
  426. "expExitCode": "0",
  427. "verifyCmd": "$TC actions list action ct",
  428. "matchPattern": "action order [0-9]*: ct mark 66/0xf0 zone 0 pipe.*index 42 ref.*cookie aa11bb22cc33dd44ee55ff66aa11b1b2",
  429. "matchCount": "1",
  430. "teardown": [
  431. "$TC actions flush action ct"
  432. ]
  433. },
  434. {
  435. "id": "3991",
  436. "name": "Add simple ct action with no_percpu flag",
  437. "category": [
  438. "actions",
  439. "ct"
  440. ],
  441. "plugins": {
  442. "requires": "nsPlugin"
  443. },
  444. "setup": [
  445. [
  446. "$TC actions flush action ct",
  447. 0,
  448. 1,
  449. 255
  450. ]
  451. ],
  452. "cmdUnderTest": "$TC actions add action ct no_percpu",
  453. "expExitCode": "0",
  454. "verifyCmd": "$TC actions list action ct",
  455. "matchPattern": "action order [0-9]*: ct zone 0 pipe.*no_percpu",
  456. "matchCount": "1",
  457. "teardown": [
  458. "$TC actions flush action ct"
  459. ]
  460. },
  461. {
  462. "id": "3992",
  463. "name": "Add ct action triggering DNAT tuple conflict",
  464. "category": [
  465. "actions",
  466. "ct",
  467. "scapy"
  468. ],
  469. "plugins": {
  470. "requires": "nsPlugin"
  471. },
  472. "plugins": {
  473. "requires": [
  474. "nsPlugin",
  475. "scapyPlugin"
  476. ]
  477. },
  478. "setup": [
  479. [
  480. "$TC qdisc del dev $DEV1 ingress",
  481. 0,
  482. 1,
  483. 2,
  484. 255
  485. ],
  486. "$TC qdisc add dev $DEV1 ingress"
  487. ],
  488. "cmdUnderTest": "$TC filter add dev $DEV1 ingress protocol ip prio 1 flower ct_state -trk action ct commit nat dst addr 20.0.0.1 port 10 pipe action drop",
  489. "scapy": [
  490. {
  491. "iface": "$DEV0",
  492. "count": 1,
  493. "packet": "Ether(type=0x800)/IP(src='10.0.0.10',dst='10.0.0.10')/TCP(sport=5000,dport=10)"
  494. },
  495. {
  496. "iface": "$DEV0",
  497. "count": 1,
  498. "packet": "Ether(type=0x800)/IP(src='10.0.0.10',dst='10.0.0.20')/TCP(sport=5000,dport=10)"
  499. }
  500. ],
  501. "expExitCode": "0",
  502. "verifyCmd": "cat /proc/net/nf_conntrack",
  503. "matchPattern": "dst=10.0.0.20",
  504. "matchCount": "1",
  505. "teardown": [
  506. "$TC qdisc del dev $DEV1 ingress"
  507. ]
  508. }
  509. ]