Skip to content

Instantly share code, notes, and snippets.

@trozet
Created March 17, 2025 21:09
Show Gist options
  • Save trozet/3319bc7369b3959e0135018c5e96ce4f to your computer and use it in GitHub Desktop.
Save trozet/3319bc7369b3959e0135018c5e96ce4f to your computer and use it in GitHub Desktop.
reroute to other node via ovn drop
[root@ovn-worker ~]# ovn-trace --ct new ovn-worker 'inport == "k8s-ovn-worker" && eth.src == 0a:58:0a:f4:02:02 && eth.dst == 0a:58:0a:f4:02:01 && tcp && ip4.src==172.18.0.2 && ip4.dst==172.18.0.4 && ip.ttl==64 && tcp.dst==31470'
# tcp,reg14=0x2,vlan_tci=0x0000,dl_src=0a:58:0a:f4:02:02,dl_dst=0a:58:0a:f4:02:01,nw_src=172.18.0.2,nw_dst=172.18.0.4,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=0,tp_dst=31470,tcp_flags=0
ingress(dp="ovn-worker", inport="k8s-ovn-worker")
-------------------------------------------------
0. ls_in_check_port_sec (northd.c:9433): 1, priority 50, uuid 9c2358e2
reg0[15] = check_in_port_sec();
next;
4. ls_in_pre_acl (northd.c:6168): ip, priority 100, uuid 5c6ff985
reg0[0] = 1;
next;
5. ls_in_pre_lb (northd.c:6378): ip, priority 100, uuid 3b886425
reg0[2] = 1;
next;
6. ls_in_pre_stateful (northd.c:6401): reg0[2] == 1, priority 110, uuid 1539a198
ct_lb_mark;
ct_lb_mark
----------
7. ls_in_acl_hint (northd.c:6465): ct.new && !ct.est, priority 7, uuid 39a93d43
reg0[7] = 1;
reg0[9] = 1;
next;
8. ls_in_acl_eval (northd.c:7535): ip && !ct.est, priority 1, uuid 47dfe5ab
reg0[1] = 1;
next;
10. ls_in_acl_action (northd.c:7375): reg8[30..31] == 0, priority 500, uuid 2c5b76b0
reg8[30..31] = 1;
next(8);
8. ls_in_acl_eval (northd.c:7535): ip && !ct.est, priority 1, uuid 47dfe5ab
reg0[1] = 1;
next;
10. ls_in_acl_action (northd.c:7375): reg8[30..31] == 1, priority 500, uuid 09305bc8
reg8[30..31] = 2;
next(8);
8. ls_in_acl_eval (northd.c:7535): ip && !ct.est, priority 1, uuid 47dfe5ab
reg0[1] = 1;
next;
10. ls_in_acl_action (northd.c:7364): 1, priority 0, uuid bbd38c93
reg8[16] = 0;
reg8[17] = 0;
reg8[18] = 0;
reg8[30..31] = 0;
next;
15. ls_in_pre_hairpin (northd.c:8385): ip && ct.trk, priority 100, uuid 21e92669
reg0[6] = chk_lb_hairpin();
reg0[12] = chk_lb_hairpin_reply();
next;
20. ls_in_acl_after_lb_action (northd.c:7375): reg8[30..31] == 0, priority 500, uuid d42fddc4
reg8[30..31] = 1;
next(18);
20. ls_in_acl_after_lb_action (northd.c:7375): reg8[30..31] == 1, priority 500, uuid 4186f5d9
reg8[30..31] = 2;
next(18);
20. ls_in_acl_after_lb_action (northd.c:7364): 1, priority 0, uuid 7c44cdca
reg8[16] = 0;
reg8[17] = 0;
reg8[18] = 0;
reg8[30..31] = 0;
next;
21. ls_in_stateful (northd.c:8351): reg0[1] == 1 && reg0[13] == 0, priority 100, uuid 1ff882f6
ct_commit { ct_mark.blocked = 0; };
next;
28. ls_in_l2_lkup (northd.c:10310): eth.dst == { 0a:58:a9:fe:01:01, 0a:58:0a:f4:02:01 }, priority 50, uuid c50314c8
outport = "stor-ovn-worker";
output;
egress(dp="ovn-worker", inport="k8s-ovn-worker", outport="stor-ovn-worker")
---------------------------------------------------------------------------
0. ls_out_pre_acl (northd.c:6020): ip && outport == "stor-ovn-worker", priority 110, uuid 207c18a3
next;
1. ls_out_pre_lb (northd.c:6020): ip && outport == "stor-ovn-worker", priority 110, uuid 9b9e348a
next;
3. ls_out_acl_hint (northd.c:6465): ct.new && !ct.est, priority 7, uuid 26b92775
reg0[7] = 1;
reg0[9] = 1;
next;
4. ls_out_acl_eval (northd.c:7537): ip && !ct.est, priority 1, uuid 5dc638d3
reg0[1] = 1;
next;
6. ls_out_acl_action (northd.c:7375): reg8[30..31] == 0, priority 500, uuid ac70cdbc
reg8[30..31] = 1;
next(4);
4. ls_out_acl_eval (northd.c:7537): ip && !ct.est, priority 1, uuid 5dc638d3
reg0[1] = 1;
next;
6. ls_out_acl_action (northd.c:7375): reg8[30..31] == 1, priority 500, uuid 50e05442
reg8[30..31] = 2;
next(4);
4. ls_out_acl_eval (northd.c:7537): ip && !ct.est, priority 1, uuid 5dc638d3
reg0[1] = 1;
next;
6. ls_out_acl_action (northd.c:7364): 1, priority 0, uuid d4e63faf
reg8[16] = 0;
reg8[17] = 0;
reg8[18] = 0;
reg8[30..31] = 0;
next;
8. ls_out_stateful (northd.c:8356): reg0[1] == 1 && reg0[13] == 0, priority 100, uuid a789a5d8
ct_commit { ct_mark.blocked = 0; };
next;
9. ls_out_check_port_sec (northd.c:5980): 1, priority 0, uuid 6b5bb0dc
reg0[15] = check_out_port_sec();
next;
10. ls_out_apply_port_sec (northd.c:5988): 1, priority 0, uuid f96a3cb7
output;
/* output to "stor-ovn-worker", type "patch" */
ingress(dp="ovn_cluster_router", inport="rtos-ovn-worker")
----------------------------------------------------------
0. lr_in_admission (northd.c:13024): eth.dst == { 0a:58:a9:fe:01:01, 0a:58:0a:f4:02:01 } && inport == "rtos-ovn-worker" && is_chassis_resident("cr-rtos-ovn-worker"), priority 50, uuid 8e756e44
xreg0[0..47] = 0a:58:0a:f4:02:01;
next;
1. lr_in_lookup_neighbor (northd.c:13212): 1, priority 0, uuid aa2ab378
reg9[2] = 1;
next;
2. lr_in_learn_neighbor (northd.c:13222): reg9[2] == 1 || reg9[3] == 0, priority 100, uuid bf8b5fdc
mac_cache_use;
next;
13. lr_in_ip_routing_pre (northd.c:13465): 1, priority 0, uuid 9544878e
reg7 = 0;
next;
14. lr_in_ip_routing (northd.c:13522): 1, priority 0, uuid 1d39b259
drop;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment