Created
March 14, 2022 20:40
-
-
Save trozet/acd74622a55bd7a0fbd83b625a912713 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[root@ovn-worker ~]# ovs-appctl ofproto/trace br-int in_port=4,dl_src=0a:58:0a:f4:01:03,dl_dst=0a:58:0a:f4:01:01,tcp,tp_dst=80,nw_dst=8.8.8.8,nw_src=10.244.1.3,nw_ttl=254 | |
Flow: tcp,in_port=4,vlan_tci=0x0000,dl_src=0a:58:0a:f4:01:03,dl_dst=0a:58:0a:f4:01:01,nw_src=10.244.1.3,nw_dst=8.8.8.8,nw_tos=0,nw_ecn=0,nw_ttl=254,tp_src=0,tp_dst=80,tcp_flags=0 | |
bridge("br-int") | |
---------------- | |
0. in_port=4, priority 100, cookie 0x6deecb21 | |
set_field:0x3->reg13 | |
set_field:0x4->reg11 | |
set_field:0x8->reg12 | |
set_field:0x4->metadata | |
set_field:0x3->reg14 | |
resubmit(,8) | |
8. reg14=0x3,metadata=0x4,dl_src=0a:58:0a:f4:01:03, priority 50, cookie 0x458f1408 | |
resubmit(,9) | |
9. ip,reg14=0x3,metadata=0x4,dl_src=0a:58:0a:f4:01:03,nw_src=10.244.1.3, priority 90, cookie 0x942a808b | |
resubmit(,10) | |
10. metadata=0x4, priority 0, cookie 0x1edbf914 | |
resubmit(,11) | |
11. metadata=0x4, priority 0, cookie 0x73e6d209 | |
resubmit(,12) | |
12. metadata=0x4, priority 0, cookie 0x1374175b | |
resubmit(,13) | |
13. ip,metadata=0x4, priority 100, cookie 0x6618d988 | |
set_field:0x1000000000000000000000000/0x1000000000000000000000000->xxreg0 | |
resubmit(,14) | |
14. ip,metadata=0x4, priority 100, cookie 0x80cf1902 | |
set_field:0x4000000000000000000000000/0x4000000000000000000000000->xxreg0 | |
resubmit(,15) | |
15. tcp,reg0=0x4/0x4,metadata=0x4, priority 120, cookie 0x9c15c849 | |
move:NXM_OF_IP_DST[]->NXM_NX_XXREG0[64..95] | |
-> NXM_NX_XXREG0[64..95] is now 0x8080808 | |
move:NXM_OF_TCP_DST[]->NXM_NX_XXREG0[32..47] | |
-> NXM_NX_XXREG0[32..47] is now 0x50 | |
ct(table=16,zone=NXM_NX_REG13[0..15],nat) | |
nat | |
-> A clone of the packet is forked to recirculate. The forked pipeline will be resumed at table 16. | |
-> Sets the packet to an untracked state, and clears all the conntrack fields. | |
Final flow: tcp,reg0=0x5,reg1=0x8080808,reg2=0x50,reg11=0x4,reg12=0x8,reg13=0x3,reg14=0x3,metadata=0x4,in_port=4,vlan_tci=0x0000,dl_src=0a:58:0a:f4:01:03,dl_dst=0a:58:0a:f4:01:01,nw_src=10.244.1.3,nw_dst=8.8.8.8,nw_tos=0,nw_ecn=0,nw_ttl=254,tp_src=0,tp_dst=80,tcp_flags=0 | |
Megaflow: recirc_id=0,ct_state=-new-est-trk,ct_label=0/0x2,eth,tcp,in_port=4,dl_src=0a:58:0a:f4:01:03,dl_dst=0a:58:0a:f4:01:01,nw_src=10.244.1.3,nw_dst=8.8.8.8,nw_frag=no,tp_dst=80 | |
Datapath actions: ct(zone=3,nat),recirc(0x65) | |
=============================================================================== | |
recirc(0x65) - resume conntrack with default ct_state=trk|new (use --ct-next to customize) | |
Replacing src/dst IP/ports to simulate NAT: | |
Initial flow: | |
Modified flow: | |
=============================================================================== | |
Flow: recirc_id=0x65,ct_state=new|trk,ct_zone=3,eth,tcp,reg0=0x5,reg1=0x8080808,reg2=0x50,reg11=0x4,reg12=0x8,reg13=0x3,reg14=0x3,metadata=0x4,in_port=4,vlan_tci=0x0000,dl_src=0a:58:0a:f4:01:03,dl_dst=0a:58:0a:f4:01:01,nw_src=10.244.1.3,nw_dst=8.8.8.8,nw_tos=0,nw_ecn=0,nw_ttl=254,tp_src=0,tp_dst=80,tcp_flags=0 | |
bridge("br-int") | |
---------------- | |
thaw | |
Resuming from table 16 | |
16. ct_state=+new-est+trk,metadata=0x4, priority 7, cookie 0xb7c78e43 | |
set_field:0x80000000000000000000000000/0x80000000000000000000000000->xxreg0 | |
set_field:0x200000000000000000000000000/0x200000000000000000000000000->xxreg0 | |
resubmit(,17) | |
17. ct_state=-est+trk,ip,metadata=0x4, priority 1, cookie 0xd7edfa11 | |
set_field:0x2000000000000000000000000/0x2000000000000000000000000->xxreg0 | |
resubmit(,18) | |
18. metadata=0x4, priority 0, cookie 0x1f5e1f6 | |
resubmit(,19) | |
19. metadata=0x4, priority 0, cookie 0x29deac01 | |
resubmit(,20) | |
20. ip,reg0=0x2/0x2002,metadata=0x4, priority 100, cookie 0x7307dead | |
ct(commit,zone=NXM_NX_REG13[0..15],exec(set_field:0/0x1->ct_label)) | |
set_field:0/0x1->ct_label | |
-> Sets the packet to an untracked state, and clears all the conntrack fields. | |
resubmit(,21) | |
21. metadata=0x4, priority 0, cookie 0x965a3953 | |
resubmit(,22) | |
22. metadata=0x4, priority 0, cookie 0x11f7f6e9 | |
resubmit(,23) | |
23. metadata=0x4, priority 0, cookie 0x9bfbb5c9 | |
resubmit(,24) | |
24. metadata=0x4, priority 0, cookie 0xc78c9182 | |
resubmit(,25) | |
25. metadata=0x4, priority 0, cookie 0xdd13d1b7 | |
resubmit(,26) | |
26. metadata=0x4, priority 0, cookie 0x7a217e3b | |
resubmit(,27) | |
27. metadata=0x4, priority 0, cookie 0xa9b4b5ea | |
resubmit(,28) | |
28. metadata=0x4, priority 0, cookie 0xe2145443 | |
resubmit(,29) | |
29. metadata=0x4, priority 0, cookie 0xdcfdc68 | |
resubmit(,30) | |
30. metadata=0x4,dl_dst=0a:58:0a:f4:01:01, priority 50, cookie 0x3373ca1a | |
set_field:0x1->reg15 | |
resubmit(,37) | |
37. priority 0 | |
resubmit(,38) | |
38. reg15=0x1,metadata=0x4, priority 100, cookie 0x9e5cfe7 | |
set_field:0x4->reg11 | |
set_field:0x8->reg12 | |
resubmit(,39) | |
39. priority 0 | |
set_field:0->reg0 | |
set_field:0->reg1 | |
set_field:0->reg2 | |
set_field:0->reg3 | |
set_field:0->reg4 | |
set_field:0->reg5 | |
set_field:0->reg6 | |
set_field:0->reg7 | |
set_field:0->reg8 | |
set_field:0->reg9 | |
resubmit(,40) | |
40. ip,reg15=0x1,metadata=0x4, priority 110, cookie 0x7466bb01 | |
resubmit(,41) | |
41. ip,reg15=0x1,metadata=0x4, priority 110, cookie 0x28b06151 | |
resubmit(,42) | |
42. metadata=0x4, priority 0, cookie 0xbed1ff7d | |
resubmit(,43) | |
43. ct_state=-trk,metadata=0x4, priority 5, cookie 0x9f42a88c | |
set_field:0x100000000000000000000000000/0x100000000000000000000000000->xxreg0 | |
set_field:0x200000000000000000000000000/0x200000000000000000000000000->xxreg0 | |
resubmit(,44) | |
44. metadata=0x4, priority 0, cookie 0x165ca917 | |
resubmit(,45) | |
45. metadata=0x4, priority 0, cookie 0x731284a2 | |
resubmit(,46) | |
46. metadata=0x4, priority 0, cookie 0xb0ba8276 | |
resubmit(,47) | |
47. metadata=0x4, priority 0, cookie 0x73d41492 | |
resubmit(,48) | |
48. metadata=0x4, priority 0, cookie 0x156c6c0a | |
resubmit(,49) | |
49. reg15=0x1,metadata=0x4, priority 50, cookie 0x9eb24547 | |
resubmit(,64) | |
64. priority 0 | |
resubmit(,65) | |
65. reg15=0x1,metadata=0x4, priority 100, cookie 0x9e5cfe7 | |
clone(ct_clear,set_field:0->reg11,set_field:0->reg12,set_field:0->reg13,set_field:0x7->reg11,set_field:0x1->reg12,set_field:0x1->metadata,set_field:0x3->reg14,set_field:0->reg10,set_field:0->reg15,set_field:0->reg0,set_field:0->reg1,set_field:0->reg2,set_field:0->reg3,set_field:0->reg4,set_field:0->reg5,set_field:0->reg6,set_field:0->reg7,set_field:0->reg8,set_field:0->reg9,resubmit(,8)) | |
ct_clear | |
set_field:0->reg11 | |
set_field:0->reg12 | |
set_field:0->reg13 | |
set_field:0x7->reg11 | |
set_field:0x1->reg12 | |
set_field:0x1->metadata | |
set_field:0x3->reg14 | |
set_field:0->reg10 | |
set_field:0->reg15 | |
set_field:0->reg0 | |
set_field:0->reg1 | |
set_field:0->reg2 | |
set_field:0->reg3 | |
set_field:0->reg4 | |
set_field:0->reg5 | |
set_field:0->reg6 | |
set_field:0->reg7 | |
set_field:0->reg8 | |
set_field:0->reg9 | |
resubmit(,8) | |
8. reg14=0x3,metadata=0x1,dl_dst=0a:58:0a:f4:01:01, priority 50, cookie 0xdb6c19f5 | |
set_field:0xa580af401010000000000000000/0xffffffffffff0000000000000000->xxreg0 | |
resubmit(,9) | |
9. metadata=0x1, priority 0, cookie 0x4913dfb4 | |
set_field:0x4/0x4->xreg4 | |
resubmit(,10) | |
10. reg9=0/0x8,metadata=0x1, priority 100, cookie 0x8ef7d8e7 | |
resubmit(,11) | |
11. metadata=0x1, priority 0, cookie 0x8a5d3a3e | |
resubmit(,12) | |
12. metadata=0x1, priority 0, cookie 0xae5560a3 | |
resubmit(,13) | |
13. metadata=0x1, priority 0, cookie 0xc3177d0d | |
resubmit(,14) | |
14. metadata=0x1, priority 0, cookie 0xc897f99d | |
resubmit(,15) | |
15. metadata=0x1, priority 0, cookie 0x85ee74cc | |
resubmit(,16) | |
16. metadata=0x1, priority 0, cookie 0xec366a0 | |
resubmit(,17) | |
17. metadata=0x1, priority 0, cookie 0xcddd6264 | |
resubmit(,18) | |
18. metadata=0x1, priority 0, cookie 0x527bd2cb | |
set_field:0/0xffffffff->xxreg1 | |
resubmit(,19) | |
19. ip,metadata=0x1,nw_src=10.244.1.0/24, priority 72, cookie 0xf87d4645 | |
dec_ttl() | |
set_field:0/0xffff00000000->xreg4 | |
set_field:0x64400002000000000000000000000000/0xffffffff000000000000000000000000->xxreg0 | |
set_field:0x644000010000000000000000/0xffffffff0000000000000000->xxreg0 | |
set_field:0a:58:64:40:00:01->eth_src | |
set_field:0x1->reg15 | |
set_field:0x1/0x1->reg10 | |
resubmit(,20) | |
20. reg8=0/0xffff,metadata=0x1, priority 150, cookie 0xfa3a3b89 | |
resubmit(,21) | |
21. metadata=0x1, priority 0, cookie 0x99c63047 | |
set_field:0/0xffff00000000->xreg4 | |
resubmit(,22) | |
22. reg8=0/0xffff,metadata=0x1, priority 150, cookie 0xf313d584 | |
resubmit(,23) | |
23. reg0=0x64400002,reg15=0x1,metadata=0x1, priority 100, cookie 0x504f3e1b | |
set_field:0a:58:64:40:00:02->eth_dst | |
resubmit(,24) | |
24. metadata=0x1, priority 0, cookie 0xf8fd8c0f | |
resubmit(,25) | |
25. metadata=0x1, priority 0, cookie 0x8a53b052 | |
resubmit(,26) | |
26. metadata=0x1, priority 0, cookie 0xcb393cbd | |
resubmit(,27) | |
27. metadata=0x1, priority 0, cookie 0x8ce74c26 | |
resubmit(,37) | |
37. priority 0 | |
resubmit(,38) | |
38. reg15=0x1,metadata=0x1, priority 100, cookie 0x82f5cf3c | |
set_field:0x7->reg11 | |
set_field:0x1->reg12 | |
resubmit(,39) | |
39. priority 0 | |
set_field:0->reg0 | |
set_field:0->reg1 | |
set_field:0->reg2 | |
set_field:0->reg3 | |
set_field:0->reg4 | |
set_field:0->reg5 | |
set_field:0->reg6 | |
set_field:0->reg7 | |
set_field:0->reg8 | |
set_field:0->reg9 | |
resubmit(,40) | |
40. metadata=0x1, priority 0, cookie 0xccb26db2 | |
set_field:0/0x10->xreg4 | |
resubmit(,41) | |
41. metadata=0x1, priority 0, cookie 0xc2267155 | |
resubmit(,42) | |
42. metadata=0x1, priority 0, cookie 0xfed8fb31 | |
resubmit(,43) | |
43. metadata=0x1, priority 0, cookie 0xcf3dbe93 | |
resubmit(,44) | |
44. metadata=0x1, priority 0, cookie 0x609f11b6 | |
resubmit(,45) | |
45. metadata=0x1, priority 0, cookie 0xc4465aac | |
resubmit(,46) | |
46. reg15=0x1,metadata=0x1, priority 100, cookie 0xeeb4d3aa | |
resubmit(,64) | |
64. reg10=0x1/0x1,reg15=0x1,metadata=0x1, priority 100, cookie 0x82f5cf3c | |
push:NXM_OF_IN_PORT[] | |
set_field:ANY->in_port | |
resubmit(,65) | |
65. reg15=0x1,metadata=0x1, priority 100, cookie 0x82f5cf3c | |
clone(ct_clear,set_field:0->reg11,set_field:0->reg12,set_field:0->reg13,set_field:0x2->reg11,set_field:0x5->reg12,set_field:0x2->metadata,set_field:0x1->reg14,set_field:0->reg10,set_field:0->reg15,set_field:0->reg0,set_field:0->reg1,set_field:0->reg2,set_field:0->reg3,set_field:0->reg4,set_field:0->reg5,set_field:0->reg6,set_field:0->reg7,set_field:0->reg8,set_field:0->reg9,resubmit(,8)) | |
ct_clear | |
set_field:0->reg11 | |
set_field:0->reg12 | |
set_field:0->reg13 | |
set_field:0x2->reg11 | |
set_field:0x5->reg12 | |
set_field:0x2->metadata | |
set_field:0x1->reg14 | |
set_field:0->reg10 | |
set_field:0->reg15 | |
set_field:0->reg0 | |
set_field:0->reg1 | |
set_field:0->reg2 | |
set_field:0->reg3 | |
set_field:0->reg4 | |
set_field:0->reg5 | |
set_field:0->reg6 | |
set_field:0->reg7 | |
set_field:0->reg8 | |
set_field:0->reg9 | |
resubmit(,8) | |
8. reg14=0x1,metadata=0x2, priority 50, cookie 0xc1db670d | |
resubmit(,9) | |
9. metadata=0x2, priority 0, cookie 0x685c302d | |
resubmit(,10) | |
10. metadata=0x2, priority 0, cookie 0x1edbf914 | |
resubmit(,11) | |
11. metadata=0x2, priority 0, cookie 0x73e6d209 | |
resubmit(,12) | |
12. metadata=0x2, priority 0, cookie 0x1374175b | |
resubmit(,13) | |
13. metadata=0x2, priority 0, cookie 0xdf4c4ba4 | |
resubmit(,14) | |
14. ip,reg14=0x1,metadata=0x2, priority 110, cookie 0x4292e08a | |
resubmit(,15) | |
15. metadata=0x2, priority 0, cookie 0x67c4174b | |
resubmit(,16) | |
16. metadata=0x2, priority 0, cookie 0x937cc89c | |
resubmit(,17) | |
17. metadata=0x2, priority 0, cookie 0x2a5a582c | |
resubmit(,18) | |
18. metadata=0x2, priority 0, cookie 0x1f5e1f6 | |
resubmit(,19) | |
19. metadata=0x2, priority 0, cookie 0x29deac01 | |
resubmit(,20) | |
20. metadata=0x2, priority 0, cookie 0xc44e9ae8 | |
resubmit(,21) | |
21. metadata=0x2, priority 0, cookie 0x965a3953 | |
resubmit(,22) | |
22. metadata=0x2, priority 0, cookie 0x11f7f6e9 | |
resubmit(,23) | |
23. metadata=0x2, priority 0, cookie 0x9bfbb5c9 | |
resubmit(,24) | |
24. metadata=0x2, priority 0, cookie 0xc78c9182 | |
resubmit(,25) | |
25. metadata=0x2, priority 0, cookie 0xdd13d1b7 | |
resubmit(,26) | |
26. metadata=0x2, priority 0, cookie 0x7a217e3b | |
resubmit(,27) | |
27. metadata=0x2, priority 0, cookie 0xa9b4b5ea | |
resubmit(,28) | |
28. metadata=0x2, priority 0, cookie 0xe2145443 | |
resubmit(,29) | |
29. metadata=0x2, priority 0, cookie 0xdcfdc68 | |
resubmit(,30) | |
30. metadata=0x2,dl_dst=0a:58:64:40:00:02, priority 50, cookie 0x687cbb3f | |
set_field:0x2->reg15 | |
resubmit(,37) | |
37. priority 0 | |
resubmit(,38) | |
38. reg15=0x2,metadata=0x2, priority 100, cookie 0xefe80b68 | |
set_field:0x2->reg11 | |
set_field:0x5->reg12 | |
resubmit(,39) | |
39. priority 0 | |
set_field:0->reg0 | |
set_field:0->reg1 | |
set_field:0->reg2 | |
set_field:0->reg3 | |
set_field:0->reg4 | |
set_field:0->reg5 | |
set_field:0->reg6 | |
set_field:0->reg7 | |
set_field:0->reg8 | |
set_field:0->reg9 | |
resubmit(,40) | |
40. ip,reg15=0x2,metadata=0x2, priority 110, cookie 0xb3b4d16c | |
resubmit(,41) | |
41. metadata=0x2, priority 0, cookie 0xfe9ad52e | |
resubmit(,42) | |
42. metadata=0x2, priority 0, cookie 0xbed1ff7d | |
resubmit(,43) | |
43. metadata=0x2, priority 0, cookie 0x458d539a | |
resubmit(,44) | |
44. metadata=0x2, priority 0, cookie 0x165ca917 | |
resubmit(,45) | |
45. metadata=0x2, priority 0, cookie 0x731284a2 | |
resubmit(,46) | |
46. metadata=0x2, priority 0, cookie 0xb0ba8276 | |
resubmit(,47) | |
47. metadata=0x2, priority 0, cookie 0x73d41492 | |
resubmit(,48) | |
48. metadata=0x2, priority 0, cookie 0x156c6c0a | |
resubmit(,49) | |
49. reg15=0x2,metadata=0x2, priority 50, cookie 0xf28ae9e2 | |
resubmit(,64) | |
64. priority 0 | |
resubmit(,65) | |
65. reg15=0x2,metadata=0x2, priority 100, cookie 0xefe80b68 | |
clone(ct_clear,set_field:0->reg11,set_field:0->reg12,set_field:0->reg13,set_field:0x9->reg11,set_field:0x5->metadata,set_field:0x1->reg14,set_field:0->reg10,set_field:0->reg15,set_field:0->reg0,set_field:0->reg1,set_field:0->reg2,set_field:0->reg3,set_field:0->reg4,set_field:0->reg5,set_field:0->reg6,set_field:0->reg7,set_field:0->reg8,set_field:0->reg9,resubmit(,8)) | |
ct_clear | |
set_field:0->reg11 | |
set_field:0->reg12 | |
set_field:0->reg13 | |
set_field:0x9->reg11 | |
set_field:0x5->metadata | |
set_field:0x1->reg14 | |
set_field:0->reg10 | |
set_field:0->reg15 | |
set_field:0->reg0 | |
set_field:0->reg1 | |
set_field:0->reg2 | |
set_field:0->reg3 | |
set_field:0->reg4 | |
set_field:0->reg5 | |
set_field:0->reg6 | |
set_field:0->reg7 | |
set_field:0->reg8 | |
set_field:0->reg9 | |
resubmit(,8) | |
8. reg14=0x1,metadata=0x5,dl_dst=0a:58:64:40:00:02, priority 50, cookie 0x3517dd76 | |
set_field:0xa58644000020000000000000000/0xffffffffffff0000000000000000->xxreg0 | |
resubmit(,9) | |
9. metadata=0x5, priority 0, cookie 0x4913dfb4 | |
set_field:0x4/0x4->xreg4 | |
resubmit(,10) | |
10. reg9=0/0x8,metadata=0x5, priority 100, cookie 0x8ef7d8e7 | |
resubmit(,11) | |
11. metadata=0x5, priority 0, cookie 0x8a5d3a3e | |
resubmit(,12) | |
12. metadata=0x5, priority 0, cookie 0xae5560a3 | |
resubmit(,13) | |
13. metadata=0x5, priority 0, cookie 0xc3177d0d | |
resubmit(,14) | |
14. metadata=0x5, priority 0, cookie 0xc897f99d | |
resubmit(,15) | |
15. metadata=0x5, priority 0, cookie 0x85ee74cc | |
resubmit(,16) | |
16. metadata=0x5, priority 0, cookie 0xec366a0 | |
resubmit(,17) | |
17. metadata=0x5, priority 0, cookie 0xcddd6264 | |
resubmit(,18) | |
18. metadata=0x5, priority 0, cookie 0x527bd2cb | |
set_field:0/0xffffffff->xxreg1 | |
resubmit(,19) | |
19. ip,reg7=0,metadata=0x5, priority 1, cookie 0x3bb55d0 | |
dec_ttl() | |
set_field:0/0xffff00000000->xreg4 | |
set_field:0xac120001000000000000000000000000/0xffffffff000000000000000000000000->xxreg0 | |
set_field:0xac1200020000000000000000/0xffffffff0000000000000000->xxreg0 | |
set_field:02:42:ac:12:00:02->eth_src | |
set_field:0x2->reg15 | |
set_field:0x1/0x1->reg10 | |
resubmit(,20) | |
20. reg8=0/0xffff,metadata=0x5, priority 150, cookie 0xfa3a3b89 | |
resubmit(,21) | |
21. metadata=0x5, priority 0, cookie 0x99c63047 | |
set_field:0/0xffff00000000->xreg4 | |
resubmit(,22) | |
22. reg8=0/0xffff,metadata=0x5, priority 150, cookie 0xf313d584 | |
resubmit(,23) | |
23. ip,metadata=0x5, priority 0, cookie 0x8aa31e2c | |
push:NXM_NX_REG0[] | |
push:NXM_NX_XXREG0[96..127] | |
pop:NXM_NX_REG0[] | |
-> NXM_NX_REG0[] is now 0xac120001 | |
set_field:00:00:00:00:00:00->eth_dst | |
resubmit(,66) | |
66. reg0=0xac120001,reg15=0x2,metadata=0x5, priority 100, cookie 0x3b15b35c | |
set_field:02:42:c2:9b:02:d4->eth_dst | |
set_field:0x40/0x40->reg10 | |
pop:NXM_NX_REG0[] | |
-> NXM_NX_REG0[] is now 0xac120001 | |
resubmit(,24) | |
24. metadata=0x5, priority 0, cookie 0xf8fd8c0f | |
resubmit(,25) | |
25. metadata=0x5, priority 0, cookie 0x8a53b052 | |
resubmit(,26) | |
26. metadata=0x5, priority 0, cookie 0xcb393cbd | |
resubmit(,27) | |
27. metadata=0x5, priority 0, cookie 0x8ce74c26 | |
resubmit(,37) | |
37. priority 0 | |
resubmit(,38) | |
38. reg15=0x2,metadata=0x5, priority 100, cookie 0xccc7a9f6 | |
set_field:0x9->reg11 | |
resubmit(,39) | |
39. priority 0 | |
set_field:0->reg0 | |
set_field:0->reg1 | |
set_field:0->reg2 | |
set_field:0->reg3 | |
set_field:0->reg4 | |
set_field:0->reg5 | |
set_field:0->reg6 | |
set_field:0->reg7 | |
set_field:0->reg8 | |
set_field:0->reg9 | |
resubmit(,40) | |
40. metadata=0x5, priority 0, cookie 0xccb26db2 | |
set_field:0/0x10->xreg4 | |
resubmit(,41) | |
41. ip,metadata=0x5, priority 50, cookie 0xd95b3713 | |
set_field:0x1/0x1->reg10 | |
ct(table=42,zone=NXM_NX_REG11[0..15],nat) | |
nat | |
-> A clone of the packet is forked to recirculate. The forked pipeline will be resumed at table 42. | |
-> Sets the packet to an untracked state, and clears all the conntrack fields. | |
pop:NXM_OF_IN_PORT[] | |
-> NXM_OF_IN_PORT[] is now 4 | |
Final flow: recirc_id=0x65,eth,tcp,reg0=0x300,reg11=0x4,reg12=0x8,reg13=0x3,reg14=0x3,reg15=0x1,metadata=0x4,in_port=4,vlan_tci=0x0000,dl_src=0a:58:0a:f4:01:03,dl_dst=0a:58:0a:f4:01:01,nw_src=10.244.1.3,nw_dst=8.8.8.8,nw_tos=0,nw_ecn=0,nw_ttl=254,tp_src=0,tp_dst=80,tcp_flags=0 | |
Megaflow: recirc_id=0x65,ct_state=+new-est-rel-rpl-inv+trk-dnat,ct_label=0/0x3,eth,tcp,in_port=4,dl_src=0a:58:0a:f4:01:03,dl_dst=0a:58:0a:f4:01:01,nw_src=10.244.1.3,nw_dst=8.0.0.0/7,nw_ttl=254,nw_frag=no | |
Datapath actions: ct(commit,zone=3,label=0/0x1),ct_clear,ct_clear,ct_clear,set(eth(src=02:42:ac:12:00:02,dst=02:42:c2:9b:02:d4)),set(ipv4(ttl=252)),ct(zone=9,nat),recirc(0x66) | |
=============================================================================== | |
recirc(0x66) - resume conntrack with default ct_state=trk|new (use --ct-next to customize) | |
Replacing src/dst IP/ports to simulate NAT: | |
Initial flow: | |
Modified flow: | |
=============================================================================== | |
Flow: recirc_id=0x66,ct_state=new|trk,ct_zone=9,eth,tcp,reg10=0x41,reg11=0x9,reg14=0x1,reg15=0x2,metadata=0x5,in_port=ANY,vlan_tci=0x0000,dl_src=02:42:ac:12:00:02,dl_dst=02:42:c2:9b:02:d4,nw_src=10.244.1.3,nw_dst=8.8.8.8,nw_tos=0,nw_ecn=0,nw_ttl=252,tp_src=0,tp_dst=80,tcp_flags=0 | |
bridge("br-int") | |
---------------- | |
thaw | |
Resuming from table 42 | |
42. ct_state=+new+trk,ip,metadata=0x5, priority 50, cookie 0xe549210e | |
ct(commit,zone=NXM_NX_REG11[0..15]) | |
drop | |
-> Sets the packet to an untracked state, and clears all the conntrack fields. | |
resubmit(,43) | |
43. ip,metadata=0x5,nw_src=10.244.0.0/16, priority 17, cookie 0xdb3a134e | |
ct(commit,table=44,zone=NXM_NX_REG12[0..15],nat(src=172.18.0.2)) | |
nat(src=172.18.0.2) | |
-> A clone of the packet is forked to recirculate. The forked pipeline will be resumed at table 44. | |
-> Sets the packet to an untracked state, and clears all the conntrack fields. | |
Final flow: recirc_id=0x66,eth,tcp,reg10=0x41,reg11=0x9,reg14=0x1,reg15=0x2,metadata=0x5,in_port=ANY,vlan_tci=0x0000,dl_src=02:42:ac:12:00:02,dl_dst=02:42:c2:9b:02:d4,nw_src=10.244.1.3,nw_dst=8.8.8.8,nw_tos=0,nw_ecn=0,nw_ttl=252,tp_src=0,tp_dst=80,tcp_flags=0 | |
Megaflow: recirc_id=0x66,ct_state=+new+trk,eth,ip,in_port=ANY,nw_src=10.244.0.0/16,nw_frag=no | |
Datapath actions: ct(commit,zone=9),ct(commit,nat(src=172.18.0.2)),recirc(0x67) | |
=============================================================================== | |
recirc(0x67) - resume conntrack with default ct_state=trk|new (use --ct-next to customize) | |
Replacing src/dst IP/ports to simulate NAT: | |
Initial flow: nw_src=10.244.1.3,tp_src=0,nw_dst=8.8.8.8,tp_dst=80 | |
Modified flow: nw_src=172.18.0.2,tp_src=0,nw_dst=8.8.8.8,tp_dst=80 | |
=============================================================================== | |
Flow: recirc_id=0x67,ct_state=new|trk,eth,tcp,reg10=0x41,reg11=0x9,reg14=0x1,reg15=0x2,metadata=0x5,in_port=ANY,vlan_tci=0x0000,dl_src=02:42:ac:12:00:02,dl_dst=02:42:c2:9b:02:d4,nw_src=172.18.0.2,nw_dst=8.8.8.8,nw_tos=0,nw_ecn=0,nw_ttl=252,tp_src=0,tp_dst=80,tcp_flags=0 | |
bridge("br-int") | |
---------------- | |
thaw | |
Resuming from table 44 | |
44. metadata=0x5, priority 0, cookie 0x609f11b6 | |
resubmit(,45) | |
45. metadata=0x5, priority 0, cookie 0xc4465aac | |
resubmit(,46) | |
46. reg15=0x2,metadata=0x5, priority 100, cookie 0xc20dbcb2 | |
resubmit(,64) | |
64. reg10=0x1/0x1,reg15=0x2,metadata=0x5, priority 100, cookie 0xccc7a9f6 | |
push:NXM_OF_IN_PORT[] | |
set_field:ANY->in_port | |
resubmit(,65) | |
65. reg15=0x2,metadata=0x5, priority 100, cookie 0xccc7a9f6 | |
clone(ct_clear,set_field:0->reg11,set_field:0->reg12,set_field:0->reg13,set_field:0xc->reg11,set_field:0xa->reg12,set_field:0x6->metadata,set_field:0x1->reg14,set_field:0->reg10,set_field:0->reg15,set_field:0->reg0,set_field:0->reg1,set_field:0->reg2,set_field:0->reg3,set_field:0->reg4,set_field:0->reg5,set_field:0->reg6,set_field:0->reg7,set_field:0->reg8,set_field:0->reg9,resubmit(,8)) | |
ct_clear | |
set_field:0->reg11 | |
set_field:0->reg12 | |
set_field:0->reg13 | |
set_field:0xc->reg11 | |
set_field:0xa->reg12 | |
set_field:0x6->metadata | |
set_field:0x1->reg14 | |
set_field:0->reg10 | |
set_field:0->reg15 | |
set_field:0->reg0 | |
set_field:0->reg1 | |
set_field:0->reg2 | |
set_field:0->reg3 | |
set_field:0->reg4 | |
set_field:0->reg5 | |
set_field:0->reg6 | |
set_field:0->reg7 | |
set_field:0->reg8 | |
set_field:0->reg9 | |
resubmit(,8) | |
8. reg14=0x1,metadata=0x6, priority 50, cookie 0x10c7048a | |
resubmit(,9) | |
9. metadata=0x6, priority 0, cookie 0x685c302d | |
resubmit(,10) | |
10. metadata=0x6, priority 0, cookie 0x1edbf914 | |
resubmit(,11) | |
11. metadata=0x6, priority 0, cookie 0x73e6d209 | |
resubmit(,12) | |
12. metadata=0x6, priority 0, cookie 0x1374175b | |
resubmit(,13) | |
13. metadata=0x6, priority 0, cookie 0xdf4c4ba4 | |
resubmit(,14) | |
14. ip,reg14=0x1,metadata=0x6, priority 110, cookie 0x6c0e6a12 | |
resubmit(,15) | |
15. metadata=0x6, priority 0, cookie 0x67c4174b | |
resubmit(,16) | |
16. metadata=0x6, priority 65535, cookie 0x59b9a866 | |
resubmit(,17) | |
17. metadata=0x6, priority 65535, cookie 0x3dee752a | |
resubmit(,18) | |
18. metadata=0x6, priority 0, cookie 0x1f5e1f6 | |
resubmit(,19) | |
19. metadata=0x6, priority 0, cookie 0x29deac01 | |
resubmit(,20) | |
20. metadata=0x6, priority 0, cookie 0xc44e9ae8 | |
resubmit(,21) | |
21. metadata=0x6, priority 0, cookie 0x965a3953 | |
resubmit(,22) | |
22. metadata=0x6, priority 0, cookie 0x11f7f6e9 | |
resubmit(,23) | |
23. metadata=0x6, priority 0, cookie 0x9bfbb5c9 | |
resubmit(,24) | |
24. metadata=0x6, priority 0, cookie 0xc78c9182 | |
resubmit(,25) | |
25. metadata=0x6, priority 0, cookie 0xdd13d1b7 | |
resubmit(,26) | |
26. metadata=0x6, priority 0, cookie 0x7a217e3b | |
resubmit(,27) | |
27. metadata=0x6, priority 0, cookie 0xa9b4b5ea | |
resubmit(,28) | |
28. metadata=0x6, priority 0, cookie 0xe2145443 | |
resubmit(,29) | |
29. metadata=0x6, priority 0, cookie 0xdcfdc68 | |
resubmit(,30) | |
30. metadata=0x6, priority 0, cookie 0x63ddd7d5 | |
set_field:0->reg15 | |
resubmit(,71) | |
71. No match. | |
drop | |
resubmit(,31) | |
31. reg15=0,metadata=0x6, priority 50, cookie 0xab88dba6 | |
set_field:0x8001->reg15 | |
resubmit(,37) | |
37. priority 0 | |
resubmit(,38) | |
38. reg15=0x8001,metadata=0x6, priority 100, cookie 0xe928110a | |
set_field:0x2->reg15 | |
resubmit(,39) | |
39. priority 0 | |
set_field:0->reg0 | |
set_field:0->reg1 | |
set_field:0->reg2 | |
set_field:0->reg3 | |
set_field:0->reg4 | |
set_field:0->reg5 | |
set_field:0->reg6 | |
set_field:0->reg7 | |
set_field:0->reg8 | |
set_field:0->reg9 | |
resubmit(,40) | |
40. ip,reg15=0x2,metadata=0x6, priority 110, cookie 0x47c2d513 | |
resubmit(,41) | |
41. metadata=0x6, priority 0, cookie 0xfe9ad52e | |
resubmit(,42) | |
42. metadata=0x6, priority 0, cookie 0xbed1ff7d | |
resubmit(,43) | |
43. metadata=0x6, priority 65535, cookie 0xc1e7cb7e | |
resubmit(,44) | |
44. metadata=0x6, priority 65535, cookie 0xb252e8dd | |
resubmit(,45) | |
45. metadata=0x6, priority 0, cookie 0x731284a2 | |
resubmit(,46) | |
46. metadata=0x6, priority 0, cookie 0xb0ba8276 | |
resubmit(,47) | |
47. metadata=0x6, priority 0, cookie 0x73d41492 | |
resubmit(,48) | |
48. metadata=0x6, priority 0, cookie 0x156c6c0a | |
resubmit(,49) | |
49. reg15=0x2,metadata=0x6, priority 50, cookie 0xff737dd0 | |
resubmit(,64) | |
64. priority 0 | |
resubmit(,65) | |
65. reg15=0x2,metadata=0x6, priority 100, cookie 0xabca73f | |
output:3 | |
bridge("breth0") | |
---------------- | |
0. ip,in_port=2, priority 100, cookie 0xdeff105 | |
ct(commit,zone=64000,exec(set_field:0x1->ct_mark)) | |
set_field:0x1->ct_mark | |
-> Sets the packet to an untracked state, and clears all the conntrack fields. | |
output:1 | |
set_field:0x8001->reg15 | |
pop:NXM_OF_IN_PORT[] | |
-> NXM_OF_IN_PORT[] is now ANY | |
Final flow: unchanged | |
Megaflow: recirc_id=0x67,ct_state=+new-est-rel-rpl-inv+trk-dnat,ct_label=0/0x3,eth,tcp,in_port=ANY,dl_src=02:42:ac:12:00:02,dl_dst=02:42:c2:9b:02:d4,nw_src=172.18.0.2,nw_dst=8.0.0.0/7,nw_frag=no,tp_src=0x0/0xc000 | |
Datapath actions: ct_clear,ct(commit,zone=64000,mark=0x1/0xffffffff),4 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment