Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save orimanabu/3822e869f2ddae5164f8dbc3f9189fae to your computer and use it in GitHub Desktop.
Save orimanabu/3822e869f2ddae5164f8dbc3f9189fae to your computer and use it in GitHub Desktop.
ovs-appctl ofproto/trace on src node: OCP4.8 Pod-to-ClusterIP different node
[core@worker-4 ~]$ sudo ovs-vsctl --columns=ofport find interface external_ids:iface-id=proj1_client
ofport : 19
[core@worker-4 ~]$ sudo ovs-appctl ofproto/trace --ct-next new,trk br-int in_port=19,dl_src=0a:58:0a:83:02:28,dl_dst=0a:58:0a:83:02:01,tcp,nw_src=10.131.2.40,nw_dst=172.30.11.18,tcp_src=33333,tcp_dst=80,nw_ttl=64,dp_hash=1
Flow: dp_hash=0x1,tcp,in_port=19,vlan_tci=0x0000,dl_src=0a:58:0a:83:02:28,dl_dst=0a:58:0a:83:02:01,nw_src=10.131.2.40,nw_dst=172.30.11.18,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=33333,tp_dst=80,tcp_flags=0
bridge("br-int")
----------------
0. in_port=19, priority 100, cookie 0x680ddb98
set_field:0x2d->reg13
set_field:0xd->reg11
set_field:0x8->reg12
set_field:0x16->metadata
set_field:0x42->reg14
resubmit(,8)
8. reg14=0x42,metadata=0x16,dl_src=0a:58:0a:83:02:28, priority 50, cookie 0x1703ac99
resubmit(,9)
9. ip,reg14=0x42,metadata=0x16,dl_src=0a:58:0a:83:02:28,nw_src=10.131.2.40, priority 90, cookie 0x7a9898e4
resubmit(,10)
10. metadata=0x16, priority 0, cookie 0x8d66ad59
resubmit(,11)
11. metadata=0x16, priority 0, cookie 0x1ff0de6f
resubmit(,12)
12. metadata=0x16, priority 0, cookie 0xa1eb1d68
resubmit(,13)
13. ip,metadata=0x16, priority 100, cookie 0xa37aaeec
set_field:0x1000000000000000000000000/0x1000000000000000000000000->xxreg0
resubmit(,14)
14. ip,metadata=0x16, priority 100, cookie 0x48729749
set_field:0x4000000000000000000000000/0x4000000000000000000000000->xxreg0
resubmit(,15)
15. tcp,reg0=0x4/0x4,metadata=0x16, priority 120, cookie 0x428e6ecd
move:NXM_OF_IP_DST[]->NXM_NX_XXREG0[64..95]
-> NXM_NX_XXREG0[64..95] is now 0xac1e0b12
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: dp_hash=0x1,tcp,reg0=0x5,reg1=0xac1e0b12,reg2=0x50,reg11=0xd,reg12=0x8,reg13=0x2d,reg14=0x42,metadata=0x16,in_port=19,vlan_tci=0x0000,dl_src=0a:58:0a:83:02:28,dl_dst=0a:58:0a:83:02:01,nw_src=10.131.2.40,nw_dst=172.30.11.18,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=33333,tp_dst=80,tcp_flags=0
Megaflow: recirc_id=0,ct_state=-new-est-trk,eth,tcp,in_port=19,dl_src=0a:58:0a:83:02:28,dl_dst=0a:58:0a:83:02:01,nw_src=10.131.2.40,nw_dst=172.30.11.18,nw_frag=no,tp_dst=80
Datapath actions: ct(zone=45,nat),recirc(0x2657cf)
===============================================================================
recirc(0x2657cf) - resume conntrack with ct_state=new|trk
Replacing src/dst IP/ports to simulate NAT:
Initial flow:
Modified flow:
===============================================================================
Flow: recirc_id=0x2657cf,dp_hash=0x1,ct_state=new|trk,ct_zone=45,eth,tcp,reg0=0x5,reg1=0xac1e0b12,reg2=0x50,reg11=0xd,reg12=0x8,reg13=0x2d,reg14=0x42,metadata=0x16,in_port=19,vlan_tci=0x0000,dl_src=0a:58:0a:83:02:28,dl_dst=0a:58:0a:83:02:01,nw_src=10.131.2.40,nw_dst=172.30.11.18,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=33333,tp_dst=80,tcp_flags=0
bridge("br-int")
----------------
thaw
Resuming from table 16
16. ct_state=+new-est+trk,metadata=0x16, priority 7, cookie 0x44582a06
set_field:0x80000000000000000000000000/0x80000000000000000000000000->xxreg0
set_field:0x200000000000000000000000000/0x200000000000000000000000000->xxreg0
resubmit(,17)
17. ct_state=-est+trk,ip,metadata=0x16, priority 1, cookie 0xe3fc1aed
set_field:0x2000000000000000000000000/0x2000000000000000000000000->xxreg0
resubmit(,18)
18. metadata=0x16, priority 0, cookie 0x8a3c7a4c
resubmit(,19)
19. metadata=0x16, priority 0, cookie 0x49a583e6
resubmit(,20)
20. ct_state=+new+trk,tcp,metadata=0x16,nw_dst=172.30.11.18,tp_dst=80, priority 120, cookie 0x3f1e7480
set_field:0xac1e0b120000000000000000/0xffffffff0000000000000000->xxreg0
set_field:0x5000000000/0xffff00000000->xxreg0
group:97
-> using bucket 1
bucket 1
ct(commit,table=21,zone=NXM_NX_REG13[0..15],nat(dst=10.130.3.46:8080),exec(set_field:0x2/0x2->ct_label))
nat(dst=10.130.3.46:8080)
set_field:0x2/0x2->ct_label
-> A clone of the packet is forked to recirculate. The forked pipeline will be resumed at table 21.
-> Sets the packet to an untracked state, and clears all the conntrack fields.
Final flow: recirc_id=0x2657cf,dp_hash=0x1,ct_state=new|trk,ct_zone=45,eth,tcp,reg0=0x287,reg1=0xac1e0b12,reg2=0x50,reg11=0xd,reg12=0x8,reg13=0x2d,reg14=0x42,metadata=0x16,in_port=19,vlan_tci=0x0000,dl_src=0a:58:0a:83:02:28,dl_dst=0a:58:0a:83:02:01,nw_src=10.131.2.40,nw_dst=172.30.11.18,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=33333,tp_dst=80,tcp_flags=0
Megaflow: recirc_id=0x2657cf,dp_hash=0x1/0xf,ct_state=+new-est-rel-rpl-inv+trk,ct_label=0/0x1,eth,tcp,in_port=19,dl_dst=0a:58:0a:83:02:01,nw_dst=172.30.11.18,nw_frag=no,tp_dst=80
Datapath actions: ct(commit,zone=45,label=0x2/0x2,nat(dst=10.130.3.46:8080)),recirc(0x2657d0)
===============================================================================
recirc(0x2657d0) - 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.131.2.40,tp_src=33333,nw_dst=172.30.11.18,tp_dst=80
Modified flow: nw_src=10.131.2.40,tp_src=33333,nw_dst=10.130.3.46,tp_dst=8080
===============================================================================
Flow: recirc_id=0x2657d0,dp_hash=0x1,ct_state=new|trk,ct_zone=45,ct_label=0x2,eth,tcp,reg0=0x287,reg1=0xac1e0b12,reg2=0x50,reg11=0xd,reg12=0x8,reg13=0x2d,reg14=0x42,metadata=0x16,in_port=19,vlan_tci=0x0000,dl_src=0a:58:0a:83:02:28,dl_dst=0a:58:0a:83:02:01,nw_src=10.131.2.40,nw_dst=10.130.3.46,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=33333,tp_dst=8080,tcp_flags=0
bridge("br-int")
----------------
thaw
Resuming from table 21
21. ct_state=+trk,ip,metadata=0x16, priority 100, cookie 0xf07f9563
set_field:0/0x80->reg10
resubmit(,68)
68. No match.
drop
move:NXM_NX_REG10[7]->NXM_NX_XXREG0[102]
-> NXM_NX_XXREG0[102] is now 0
set_field:0/0x80->reg10
resubmit(,69)
69. No match.
drop
move:NXM_NX_REG10[7]->NXM_NX_XXREG0[108]
-> NXM_NX_XXREG0[108] is now 0
resubmit(,22)
22. metadata=0x16, priority 0, cookie 0xf944e3a2
resubmit(,23)
23. metadata=0x16, priority 0, cookie 0xcca28f18
resubmit(,24)
24. metadata=0x16, priority 0, cookie 0xf43a5f60
resubmit(,25)
25. metadata=0x16, priority 0, cookie 0x8a880aac
resubmit(,26)
26. metadata=0x16, priority 0, cookie 0xb2793f51
resubmit(,27)
27. metadata=0x16, priority 0, cookie 0x5dcb9a5c
resubmit(,28)
28. metadata=0x16, priority 0, cookie 0xc1614574
resubmit(,29)
29. metadata=0x16, priority 0, cookie 0x20071efc
resubmit(,30)
30. metadata=0x16,dl_dst=0a:58:0a:83:02:01, priority 50, cookie 0x7f82616a
set_field:0x1->reg15
resubmit(,37)
37. priority 0
resubmit(,38)
38. reg15=0x1,metadata=0x16, priority 100
set_field:0xd->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=0x16, priority 110, cookie 0xb6946a39
resubmit(,41)
41. ip,reg15=0x1,metadata=0x16, priority 110, cookie 0x1f580f37
resubmit(,42)
42. metadata=0x16, priority 0, cookie 0xcedf6cb2
resubmit(,43)
43. ct_state=+new-est+trk,metadata=0x16, priority 7, cookie 0xffe13232
set_field:0x80000000000000000000000000/0x80000000000000000000000000->xxreg0
set_field:0x200000000000000000000000000/0x200000000000000000000000000->xxreg0
resubmit(,44)
44. ct_state=-est+trk,ip,metadata=0x16, priority 1, cookie 0xa20334dc
set_field:0x2000000000000000000000000/0x2000000000000000000000000->xxreg0
resubmit(,45)
45. metadata=0x16, priority 0, cookie 0xb2da9db2
resubmit(,46)
46. metadata=0x16, priority 0, cookie 0x37196b01
resubmit(,47)
47. ip,reg0=0x2/0x2,metadata=0x16, priority 100, cookie 0xd49066cb
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(,48)
48. metadata=0x16, priority 0, cookie 0xda752bb0
resubmit(,49)
49. reg15=0x1,metadata=0x16, priority 50, cookie 0xd4445653
resubmit(,64)
64. priority 0
resubmit(,65)
65. reg15=0x1,metadata=0x16, priority 100, cookie 0xd91fad2e
clone(ct_clear,set_field:0->reg11,set_field:0->reg12,set_field:0->reg13,set_field:0x18->reg11,set_field:0x15->reg12,set_field:0x5->metadata,set_field:0x9->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:0x18->reg11
set_field:0x15->reg12
set_field:0x5->metadata
set_field:0x9->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=0x9,metadata=0x5,dl_dst=0a:58:0a:83:02:01, priority 50, cookie 0xdf11cb73
set_field:0xa580a8302010000000000000000/0xffffffffffff0000000000000000->xxreg0
resubmit(,9)
9. metadata=0x5, priority 0, cookie 0xc122b402
set_field:0x4/0x4->xreg4
resubmit(,10)
10. reg9=0x4/0x4,metadata=0x5, priority 100, cookie 0x682ffab1
resubmit(,11)
11. metadata=0x5, priority 0, cookie 0xdc715794
resubmit(,12)
12. metadata=0x5, priority 0, cookie 0xa562598f
resubmit(,13)
13. metadata=0x5, priority 0, cookie 0x2d398343
resubmit(,14)
14. metadata=0x5, priority 0, cookie 0x28735df8
resubmit(,15)
15. metadata=0x5, priority 0, cookie 0x68fbe064
resubmit(,16)
16. metadata=0x5, priority 0, cookie 0xf3aca06f
resubmit(,17)
17. metadata=0x5, priority 0, cookie 0xf69abc75
resubmit(,18)
18. ip,metadata=0x5,nw_dst=10.130.2.0/23, priority 47, cookie 0x86330ef1
dec_ttl()
set_field:0/0xffff00000000->xreg4
move:NXM_OF_IP_DST[]->NXM_NX_XXREG0[96..127]
-> NXM_NX_XXREG0[96..127] is now 0xa82032e
set_field:0xa8202010000000000000000/0xffffffff0000000000000000->xxreg0
set_field:0a:58:0a:82:02:01->eth_src
set_field:0x8->reg15
set_field:0x1/0x1->reg10
resubmit(,19)
19. reg8=0/0xffff,metadata=0x5, priority 150, cookie 0x9743d59c
resubmit(,20)
20. ip,metadata=0x5,nw_src=10.128.0.0/14,nw_dst=10.128.0.0/14, priority 101, cookie 0x34662525
set_field:0/0xffff00000000->xreg4
resubmit(,21)
21. reg8=0/0xffff,metadata=0x5, priority 150, cookie 0xd8180133
resubmit(,22)
22. reg0=0xa82032e,reg15=0x8,metadata=0x5, priority 100, cookie 0x62bd06d0
set_field:0a:58:0a:82:03:2e->eth_dst
resubmit(,23)
23. metadata=0x5, priority 0, cookie 0x27cb2bda
resubmit(,24)
24. metadata=0x5, priority 0, cookie 0xa6cee5
resubmit(,25)
25. metadata=0x5, priority 0, cookie 0xbf8e4590
resubmit(,26)
26. metadata=0x5, priority 0, cookie 0xadb98462
resubmit(,37)
37. priority 0
resubmit(,38)
38. reg15=0x8,metadata=0x5, priority 100
set_field:0x18->reg11
set_field:0x15->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=0x5, priority 0, cookie 0x9d1768f2
resubmit(,41)
41. metadata=0x5, priority 0, cookie 0xa5dfe476
resubmit(,42)
42. metadata=0x5, priority 0, cookie 0x9f51e30b
resubmit(,43)
43. reg15=0x8,metadata=0x5, priority 100, cookie 0x444094e8
resubmit(,64)
64. reg10=0x1/0x1,reg15=0x8,metadata=0x5, priority 100
push:NXM_OF_IN_PORT[]
set_field:ANY->in_port
resubmit(,65)
65. reg15=0x8,metadata=0x5, priority 100, cookie 0x2247fedc
clone(ct_clear,set_field:0->reg11,set_field:0->reg12,set_field:0->reg13,set_field:0x16->reg11,set_field:0xc->reg12,set_field:0x15->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:0x16->reg11
set_field:0xc->reg12
set_field:0x15->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=0x15, priority 50, cookie 0x47a3f2ce
resubmit(,9)
9. metadata=0x15, priority 0, cookie 0x23e0bee
resubmit(,10)
10. metadata=0x15, priority 0, cookie 0x8d66ad59
resubmit(,11)
11. metadata=0x15, priority 0, cookie 0x1ff0de6f
resubmit(,12)
12. metadata=0x15, priority 0, cookie 0xa1eb1d68
resubmit(,13)
13. ip,reg14=0x1,metadata=0x15, priority 110, cookie 0x345fe9a2
resubmit(,14)
14. ip,reg14=0x1,metadata=0x15, priority 110, cookie 0x15dcb534
resubmit(,15)
15. metadata=0x15, priority 0, cookie 0xed38ff3
resubmit(,16)
16. ct_state=-trk,metadata=0x15, priority 5, cookie 0x35217ee
set_field:0x100000000000000000000000000/0x100000000000000000000000000->xxreg0
set_field:0x200000000000000000000000000/0x200000000000000000000000000->xxreg0
resubmit(,17)
17. metadata=0x15, priority 0, cookie 0xfd7feaef
resubmit(,18)
18. metadata=0x15, priority 0, cookie 0x8a3c7a4c
resubmit(,19)
19. metadata=0x15, priority 0, cookie 0x49a583e6
resubmit(,20)
20. metadata=0x15, priority 0, cookie 0xb598f32d
resubmit(,21)
21. metadata=0x15, priority 0, cookie 0xfd315b27
resubmit(,22)
22. metadata=0x15, priority 0, cookie 0xf944e3a2
resubmit(,23)
23. metadata=0x15, priority 0, cookie 0xcca28f18
resubmit(,24)
24. metadata=0x15, priority 0, cookie 0xf43a5f60
resubmit(,25)
25. metadata=0x15, priority 0, cookie 0x8a880aac
resubmit(,26)
26. metadata=0x15, priority 0, cookie 0xb2793f51
resubmit(,27)
27. metadata=0x15, priority 0, cookie 0x5dcb9a5c
resubmit(,28)
28. metadata=0x15, priority 0, cookie 0xc1614574
resubmit(,29)
29. metadata=0x15, priority 0, cookie 0x20071efc
resubmit(,30)
30. metadata=0x15,dl_dst=0a:58:0a:82:03:2e, priority 50, cookie 0x40016e76
set_field:0x78->reg15
resubmit(,37)
37. reg15=0x78,metadata=0x15, priority 100, cookie 0x6fc5c888
set_field:0x15/0xffffff->tun_id
set_field:0x78->tun_metadata0
move:NXM_NX_REG14[0..14]->NXM_NX_TUN_METADATA0[16..30]
-> NXM_NX_TUN_METADATA0[16..30] is now 0x1
output:13
-> output to kernel tunnel
pop:NXM_OF_IN_PORT[]
-> NXM_OF_IN_PORT[] is now 19
Final flow: recirc_id=0x2657d0,dp_hash=0x1,eth,tcp,reg0=0x282,reg11=0xd,reg12=0x8,reg13=0x2d,reg14=0x42,reg15=0x1,metadata=0x16,in_port=19,vlan_tci=0x0000,dl_src=0a:58:0a:83:02:28,dl_dst=0a:58:0a:83:02:01,nw_src=10.131.2.40,nw_dst=10.130.3.46,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=33333,tp_dst=8080,tcp_flags=0
Megaflow: recirc_id=0x2657d0,ct_state=+new-est-rel-rpl-inv+trk,ct_label=0x2/0x3,eth,tcp,tun_id=0/0xffffff,tun_metadata0=NP,in_port=19,dl_src=0a:58:0a:83:02:28,dl_dst=0a:58:0a:83:02:01,nw_src=10.131.2.40/29,nw_dst=10.130.3.46,nw_ecn=0,nw_ttl=64,nw_frag=no
Datapath actions: ct(commit,zone=45,label=0/0x1),ct_clear,ct_clear,set(tunnel(tun_id=0x15,dst=172.16.13.107,ttl=64,tp_dst=6081,geneve({class=0x102,type=0x80,len=4,0x10078}),flags(df|csum|key))),set(eth(src=0a:58:0a:82:02:01,dst=0a:58:0a:82:03:2e)),set(ipv4(ttl=63)),1
[core@worker-4 ~]$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment