Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save orimanabu/6dab4fa097b78a38d18ee8a9b06e6ab5 to your computer and use it in GitHub Desktop.
Save orimanabu/6dab4fa097b78a38d18ee8a9b06e6ab5 to your computer and use it in GitHub Desktop.
ovn-trace: OCP4.8 Pod-to-ClusterIP different node (with `--lb-dst`)
##
## ovn-trace command line
##
oc -n openshift-ovn-kubernetes exec -c ovnkube-node ovnkube-node-k2bsf -- \
ovn-trace -p /ovn-cert/tls.key -c /ovn-cert/tls.crt -C /ovn-ca/ca-bundle.crt --db 'ssl:172.16.13.102:9642' \
worker-4 --ct new '
inport == "proj1_client" &&
eth.src == 0a:58:0a:83:02:28 &&
eth.dst == 0a:58:0a:83:02:01 &&
ip4.src == 10.131.2.40 &&
ip4.dst == 172.30.11.18 &&
ip.ttl == 64 &&
tcp &&
tcp.src == 80 &&
tcp.dst == 80' \
--lb-dst 10.130.3.46:8080
##
## trace output
##
# tcp,reg14=0x42,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=80,tp_dst=80,tcp_flags=0
ingress(dp="worker-4", inport="proj1_client")
---------------------------------------------
0. ls_in_port_sec_l2 (ovn-northd.c:5036): inport == "proj1_client" && eth.src == {0a:58:0a:83:02:28}, priority 50, uuid 1703ac99
next;
1. ls_in_port_sec_ip (ovn-northd.c:4684): inport == "proj1_client" && eth.src == 0a:58:0a:83:02:28 && ip4.src == {10.131.2.40}, priority 90, uuid 7a9898e4
next;
5. ls_in_pre_acl (ovn-northd.c:5237): ip, priority 100, uuid a37aaeec
reg0[0] = 1;
next;
6. ls_in_pre_lb (ovn-northd.c:5405): ip, priority 100, uuid 48729749
reg0[2] = 1;
next;
7. ls_in_pre_stateful (ovn-northd.c:5432): reg0[2] == 1 && ip4 && tcp, priority 120, uuid 428e6ecd
reg1 = ip4.dst;
reg2[0..15] = tcp.dst;
ct_lb;
ct_lb
-----
8. ls_in_acl_hint (ovn-northd.c:5525): !ct.trk, priority 5, uuid 035217ee
reg0[8] = 1;
reg0[9] = 1;
next;
22. ls_in_l2_lkup (ovn-northd.c:7609): eth.dst == 0a:58:0a:83:02:01, priority 50, uuid 7f82616a
outport = "stor-worker-4";
output;
egress(dp="worker-4", inport="proj1_client", outport="stor-worker-4")
---------------------------------------------------------------------
0. ls_out_pre_lb (ovn-northd.c:5182): ip && outport == "stor-worker-4", priority 110, uuid b6946a39
next;
1. ls_out_pre_acl (ovn-northd.c:5182): ip && outport == "stor-worker-4", priority 110, uuid 1f580f37
next;
3. ls_out_acl_hint (ovn-northd.c:5525): !ct.trk, priority 5, uuid 424d9922
reg0[8] = 1;
reg0[9] = 1;
next;
9. ls_out_port_sec_l2 (ovn-northd.c:5131): outport == "stor-worker-4", priority 50, uuid d4445653
output;
/* output to "stor-worker-4", type "patch" */
ingress(dp="ovn_cluster_router", inport="rtos-worker-4")
--------------------------------------------------------
0. lr_in_admission (ovn-northd.c:9657): eth.dst == 0a:58:0a:83:02:01 && inport == "rtos-worker-4", priority 50, uuid df11cb73
xreg0[0..47] = 0a:58:0a:83:02:01;
next;
1. lr_in_lookup_neighbor (ovn-northd.c:9736): 1, priority 0, uuid c122b402
reg9[2] = 1;
next;
2. lr_in_learn_neighbor (ovn-northd.c:9745): reg9[2] == 1, priority 100, uuid 682ffab1
next;
10. lr_in_ip_routing (ovn-northd.c:8704): ip4.dst == 10.130.2.0/23, priority 47, uuid 86330ef1
ip.ttl--;
reg8[0..15] = 0;
reg0 = ip4.dst;
reg1 = 10.130.2.1;
eth.src = 0a:58:0a:82:02:01;
outport = "rtos-worker-3";
flags.loopback = 1;
next;
11. lr_in_ip_routing_ecmp (ovn-northd.c:10003): reg8[0..15] == 0, priority 150, uuid 9743d59c
next;
12. lr_in_policy (ovn-northd.c:8051): ip4.src == 10.128.0.0/14 && ip4.dst == 10.128.0.0/14, priority 101, uuid 34662525
reg8[0..15] = 0;
next;
13. lr_in_policy_ecmp (ovn-northd.c:10130): reg8[0..15] == 0, priority 150, uuid d8180133
next;
14. lr_in_arp_resolve (ovn-northd.c:10309): outport == "rtos-worker-3" && reg0 == 10.130.3.46, priority 100, uuid 62bd06d0
eth.dst = 0a:58:0a:82:03:2e;
next;
18. lr_in_arp_request (ovn-northd.c:10753): 1, priority 0, uuid adb98462
output;
egress(dp="ovn_cluster_router", inport="rtos-worker-4", outport="rtos-worker-3")
--------------------------------------------------------------------------------
3. lr_out_delivery (ovn-northd.c:10801): outport == "rtos-worker-3", priority 100, uuid 444094e8
output;
/* output to "rtos-worker-3", type "patch" */
ingress(dp="worker-3", inport="stor-worker-3")
----------------------------------------------
0. ls_in_port_sec_l2 (ovn-northd.c:5036): inport == "stor-worker-3", priority 50, uuid 47a3f2ce
next;
5. ls_in_pre_acl (ovn-northd.c:5179): ip && inport == "stor-worker-3", priority 110, uuid 345fe9a2
next;
6. ls_in_pre_lb (ovn-northd.c:5179): ip && inport == "stor-worker-3", priority 110, uuid 15dcb534
next;
8. ls_in_acl_hint (ovn-northd.c:5525): !ct.trk, priority 5, uuid 035217ee
reg0[8] = 1;
reg0[9] = 1;
next;
22. ls_in_l2_lkup (ovn-northd.c:7609): eth.dst == 0a:58:0a:82:03:2e, priority 50, uuid 40016e76
outport = "proj1_hello-6cdb8c795c-qkpk5";
output;
egress(dp="worker-3", inport="stor-worker-3", outport="proj1_hello-6cdb8c795c-qkpk5")
-------------------------------------------------------------------------------------
0. ls_out_pre_lb (ovn-northd.c:5407): ip, priority 100, uuid 38a41a98
reg0[2] = 1;
next;
1. ls_out_pre_acl (ovn-northd.c:5239): ip, priority 100, uuid ddaafe6d
reg0[0] = 1;
next;
2. ls_out_pre_stateful (ovn-northd.c:5452): reg0[2] == 1, priority 110, uuid 85953020
ct_lb;
ct_lb
-----
3. ls_out_acl_hint (ovn-northd.c:5525): !ct.trk, priority 5, uuid 424d9922
reg0[8] = 1;
reg0[9] = 1;
next;
8. ls_out_port_sec_ip (ovn-northd.c:4684): outport == "proj1_hello-6cdb8c795c-qkpk5" && eth.dst == 0a:58:0a:82:03:2e && ip4.dst == {255.255.255.255, 224.0.0.0/4, 10.130.3.46}, priority 90, uuid 51d34066
next;
9. ls_out_port_sec_l2 (ovn-northd.c:5131): outport == "proj1_hello-6cdb8c795c-qkpk5" && eth.dst == {0a:58:0a:82:03:2e}, priority 50, uuid 6ce0849b
output;
/* output to "proj1_hello-6cdb8c795c-qkpk5", type "" */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment