I don't know if this is a bug, a feature, or simply the way UDP traffic works and i've never heard about it
I've been troubleshooting an issue with SNMP being unreachable to a particular destination (Router E in the below example), yet pings and all other ICMP or TCP based traffic work fine
I've done a traceroute and found there is asymmetrical routing. The traffic paths are as follows
Device1->A->B->C->D->E (E being the destination, a MikroTik Router)
E->B->A->Device1
This works fine no problems at all, except for UDP traffic. For some reason when using UDP, E returns traffic back out the interface it received it on, creating a routing loop
Device1->A->B->C->D->E
E->D->E->D->E->D->E->D etc until packet dies
Router D has no firewall rules at all, no NAT, no mangle, nothing
Router E has rules but nothing in mangle other than QoS marks (nothing influences routing)
The 'best route' on RouterE is its default route which points to B, so traffic should go there. Instead it goes out the same interface it received the packet on. So why is it this the case for UDP packets but not TCP/ICMP?