CVSROOT:        /cvs
Module name:    src
Changes by:     d...@cvs.openbsd.org    2022/02/25 21:46:34

Modified files:
        sys/net        : if_vxlan.c 

Log message:
add the mbuf tag that prevents loops in vxlan_encap, not vxlan_output.

vxlan_output calls ether_output, which will do arp for ipv4 packets.
if arp hasn't resolved an address for a peer yet, it will queue the
packet and transmit it again after resolution completes. the way
it outputs is to call the interface output routine again, which is
vxlan_output.

if we tag the packet in vxlan_output before arp, and then arp calls
vxlan_output again, it looks like a loop and drops it. moving the
tagging to when we add all the encap headers in vxlan_encap avoids
this issue.

Reply via email to