Skip to content

Instantly share code, notes, and snippets.

@trozet
Created March 15, 2022 15:11
Show Gist options
  • Save trozet/a73ad0f73aa78fec0b7b3e78c4bc6f2a to your computer and use it in GitHub Desktop.
Save trozet/a73ad0f73aa78fec0b7b3e78c4bc6f2a to your computer and use it in GitHub Desktop.
[root@ovn-control-plane ~]# ovn-trace --ct new ovn-worker 'inport == "default_pod2" && eth.src ==0a:58:0a:f4:01:06 && eth.dst==0a:58:0a:f4:01:01 && ip4 && ip.ttl==64 && ip4.src==10.244.1.6 && ip4.dst==10.96.19.89 && tcp && tcp.src == 55594 && tcp.dst ==80' --lb-dst 10.96.19.89:80
2022-03-15T15:11:15Z|00001|ovntrace|WARN|reg0[8] == 1 && (inport==stor-ovn-worker): parsing expression failed (Syntax error at `stor' expecting constant.)
2022-03-15T15:11:15Z|00002|ovntrace|WARN|reg0[7] == 1 && (inport==stor-ovn-worker): parsing expression failed (Syntax error at `stor' expecting constant.)
# tcp,reg14=0x6,vlan_tci=0x0000,dl_src=0a:58:0a:f4:01:06,dl_dst=0a:58:0a:f4:01:01,nw_src=10.244.1.6,nw_dst=10.96.19.89,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=55594,tp_dst=80,tcp_flags=0
ingress(dp="ovn-worker", inport="default_pod2")
-----------------------------------------------
0. ls_in_port_sec_l2 (northd.c:5503): inport == "default_pod2" && eth.src == {0a:58:0a:f4:01:06}, priority 50, uuid 97a8e2fd
next;
1. ls_in_port_sec_ip (northd.c:5136): inport == "default_pod2" && eth.src == 0a:58:0a:f4:01:06 && ip4.src == {10.244.1.6}, priority 90, uuid 10f3555c
next;
5. ls_in_pre_acl (northd.c:5764): ip, priority 100, uuid 777218e2
reg0[0] = 1;
next;
6. ls_in_pre_lb (northd.c:5896): ip, priority 100, uuid 7bfe1200
reg0[2] = 1;
next;
7. ls_in_pre_stateful (northd.c:5923): reg0[2] == 1 && ip4 && tcp, priority 120, uuid c0f6e376
reg1 = ip4.dst;
reg2[0..15] = tcp.dst;
ct_lb;
ct_lb
-----
8. ls_in_acl_hint (northd.c:5994): ct.new && !ct.est, priority 7, uuid cfa67e57
reg0[7] = 1;
reg0[9] = 1;
next;
9. ls_in_acl (northd.c:6228): reg0[7] == 1 && (ip4.dst == 10.96.0.0/16), priority 21000, uuid dcf8c0bb
reg0[1] = 1;
next;
12. ls_in_stateful (northd.c:6748): ct.new && ip4.dst == 10.96.19.89 && tcp.dst == 80, priority 120, uuid c2a8b2b4
reg1 = 10.96.19.89;
reg2[0..15] = 80;
ct_lb(backends=172.18.0.3:80);
ct_lb /* default (use --ct to customize) */
-------------------------------------------
13. ls_in_pre_hairpin (northd.c:6807): ip && ct.trk, priority 100, uuid ce564510
reg0[6] = chk_lb_hairpin();
reg0[12] = chk_lb_hairpin_reply();
*** chk_lb_hairpin_reply action not implemented
next;
22. ls_in_l2_lkup (northd.c:8298): eth.dst == 0a:58:0a:f4:01:01, priority 50, uuid f9fa33c1
outport = "stor-ovn-worker";
output;
egress(dp="ovn-worker", inport="default_pod2", outport="stor-ovn-worker")
-------------------------------------------------------------------------
0. ls_out_pre_lb (northd.c:5653): ip && outport == "stor-ovn-worker", priority 110, uuid 31f73784
next;
1. ls_out_pre_acl (northd.c:5653): ip && outport == "stor-ovn-worker", priority 110, uuid 2f5ae973
next;
3. ls_out_acl_hint (northd.c:6047): ct.est && ct_label.blocked == 0, priority 1, uuid 8d0e0155
reg0[10] = 1;
next;
9. ls_out_port_sec_l2 (northd.c:5600): outport == "stor-ovn-worker", priority 50, uuid 845edf8a
output;
/* output to "stor-ovn-worker", type "patch" */
ingress(dp="ovn_cluster_router", inport="rtos-ovn-worker")
----------------------------------------------------------
0. lr_in_admission (northd.c:10529): eth.dst == 0a:58:0a:f4:01:01 && inport == "rtos-ovn-worker" && is_chassis_resident("cr-rtos-ovn-worker"), priority 50, uuid a21c1cd9
xreg0[0..47] = 0a:58:0a:f4:01:01;
next;
1. lr_in_lookup_neighbor (northd.c:10673): 1, priority 0, uuid 9826d68b
reg9[2] = 1;
next;
2. lr_in_learn_neighbor (northd.c:10682): reg9[2] == 1 || reg9[3] == 0, priority 100, uuid 9c89e867
next;
10. lr_in_ip_routing_pre (northd.c:10916): 1, priority 0, uuid 2d693671
reg7 = 0;
next;
11. lr_in_ip_routing (northd.c:9445): ip4.src == 10.244.1.0/24, priority 72, uuid 6ee8e939
ip.ttl--;
reg8[0..15] = 0;
reg0 = 100.64.0.3;
reg1 = 100.64.0.1;
eth.src = 0a:58:64:40:00:01;
outport = "rtoj-ovn_cluster_router";
flags.loopback = 1;
next;
12. lr_in_ip_routing_ecmp (northd.c:10991): reg8[0..15] == 0, priority 150, uuid f98bbf87
next;
13. lr_in_policy (northd.c:8678): ip4.src == 10.244.0.0/16 && ip4.dst == 172.18.0.3/32, priority 101, uuid 8c270e07
reg8[0..15] = 0;
next;
14. lr_in_policy_ecmp (northd.c:11126): reg8[0..15] == 0, priority 150, uuid 34f2d3aa
next;
15. lr_in_arp_resolve (northd.c:11512): outport == "rtoj-ovn_cluster_router" && reg0 == 100.64.0.3, priority 100, uuid b13f4552
eth.dst = 0a:58:64:40:00:03;
next;
19. lr_in_arp_request (northd.c:11807): 1, priority 0, uuid 1b571b79
output;
egress(dp="ovn_cluster_router", inport="rtos-ovn-worker", outport="rtoj-ovn_cluster_router")
--------------------------------------------------------------------------------------------
0. lr_out_chk_dnat_local (northd.c:13032): 1, priority 0, uuid 5424abab
reg9[4] = 0;
next;
6. lr_out_delivery (northd.c:11854): outport == "rtoj-ovn_cluster_router", priority 100, uuid 03368888
output;
/* output to "rtoj-ovn_cluster_router", type "patch" */
ingress(dp="join", inport="jtor-ovn_cluster_router")
----------------------------------------------------
0. ls_in_port_sec_l2 (northd.c:5503): inport == "jtor-ovn_cluster_router", priority 50, uuid b3997b92
next;
6. ls_in_pre_lb (northd.c:5650): ip && inport == "jtor-ovn_cluster_router", priority 110, uuid af88bc1f
next;
22. ls_in_l2_lkup (northd.c:8298): eth.dst == 0a:58:64:40:00:03, priority 50, uuid f7feb69e
outport = "jtor-GR_ovn-worker";
output;
egress(dp="join", inport="jtor-ovn_cluster_router", outport="jtor-GR_ovn-worker")
---------------------------------------------------------------------------------
0. ls_out_pre_lb (northd.c:5653): ip && outport == "jtor-GR_ovn-worker", priority 110, uuid 7f5f4f1c
next;
9. ls_out_port_sec_l2 (northd.c:5600): outport == "jtor-GR_ovn-worker", priority 50, uuid d5410aa1
output;
/* output to "jtor-GR_ovn-worker", type "l3gateway" */
ingress(dp="GR_ovn-worker", inport="rtoj-GR_ovn-worker")
--------------------------------------------------------
0. lr_in_admission (northd.c:10529): eth.dst == 0a:58:64:40:00:03 && inport == "rtoj-GR_ovn-worker", priority 50, uuid 29e9778c
xreg0[0..47] = 0a:58:64:40:00:03;
next;
1. lr_in_lookup_neighbor (northd.c:10673): 1, priority 0, uuid 9826d68b
reg9[2] = 1;
next;
2. lr_in_learn_neighbor (northd.c:10682): reg9[2] == 1 || reg9[3] == 0, priority 100, uuid 9c89e867
next;
10. lr_in_ip_routing_pre (northd.c:10916): 1, priority 0, uuid 2d693671
reg7 = 0;
next;
11. lr_in_ip_routing (northd.c:9445): ip4.dst == 172.18.0.0/16, priority 50, uuid 3377ba5c
ip.ttl--;
reg8[0..15] = 0;
reg0 = ip4.dst;
reg1 = 172.18.0.2;
eth.src = 02:42:ac:12:00:02;
outport = "rtoe-GR_ovn-worker";
flags.loopback = 1;
next;
12. lr_in_ip_routing_ecmp (northd.c:10991): reg8[0..15] == 0, priority 150, uuid f98bbf87
next;
13. lr_in_policy (northd.c:11124): 1, priority 0, uuid 25c812e7
reg8[0..15] = 0;
next;
14. lr_in_policy_ecmp (northd.c:11126): reg8[0..15] == 0, priority 150, uuid 34f2d3aa
next;
15. lr_in_arp_resolve (northd.c:11160): ip4, priority 0, uuid 4707de1b
get_arp(outport, reg0);
/* MAC binding to 02:42:ac:12:00:03. */
next;
19. lr_in_arp_request (northd.c:11807): 1, priority 0, uuid 1b571b79
output;
egress(dp="GR_ovn-worker", inport="rtoj-GR_ovn-worker", outport="rtoe-GR_ovn-worker")
-------------------------------------------------------------------------------------
0. lr_out_chk_dnat_local (northd.c:13032): 1, priority 0, uuid 5424abab
reg9[4] = 0;
next;
1. lr_out_undnat (northd.c:13052): ip, priority 50, uuid db0a5e07
flags.loopback = 1;
ct_dnat;
ct_dnat /* assuming no un-dnat entry, so no change */
-----------------------------------------------------
2. lr_out_post_undnat (northd.c:13054): ip && ct.new, priority 50, uuid 2ba6dd7e
ct_commit;
next;
3. lr_out_snat (northd.c:12732): ip && ip4.src == 10.244.0.0/16, priority 17, uuid ece348aa
ct_snat(172.18.0.2);
ct_snat(ip4.src=172.18.0.2)
---------------------------
6. lr_out_delivery (northd.c:11854): outport == "rtoe-GR_ovn-worker", priority 100, uuid e3396a20
output;
/* output to "rtoe-GR_ovn-worker", type "l3gateway" */
ingress(dp="ext_ovn-worker", inport="etor-GR_ovn-worker")
---------------------------------------------------------
0. ls_in_port_sec_l2 (northd.c:5503): inport == "etor-GR_ovn-worker", priority 50, uuid f6a9a6a0
next;
6. ls_in_pre_lb (northd.c:5650): ip && inport == "etor-GR_ovn-worker", priority 110, uuid 89d620a4
next;
22. ls_in_l2_lkup (northd.c:7505): 1, priority 0, uuid a7250752
outport = get_fdb(eth.dst);
next;
23. ls_in_l2_unknown (northd.c:7509): outport == "none", priority 50, uuid 982827dc
outport = "_MC_unknown";
output;
multicast(dp="ext_ovn-worker", mcgroup="_MC_unknown")
-----------------------------------------------------
egress(dp="ext_ovn-worker", inport="etor-GR_ovn-worker", outport="breth0_ovn-worker")
-------------------------------------------------------------------------------------
0. ls_out_pre_lb (northd.c:5653): ip && outport == "breth0_ovn-worker", priority 110, uuid 49e04d9b
next;
9. ls_out_port_sec_l2 (northd.c:5600): outport == "breth0_ovn-worker", priority 50, uuid dbe22831
output;
/* output to "breth0_ovn-worker", type "localnet" */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment