CVSROOT:        /cvs
Module name:    src
Changes by:     d...@cvs.openbsd.org    2019/11/10 22:20:54

Modified files:
        sys/net        : if.c 

Log message:
add linkstate hooks at the head of the tailq.

when vxlans parent interface has a link state change event, vxlan
reconfigures the parent to cope with things not being as it expects
when the interface comes back. it does this by removing its config
and then adding it again. part of it's config removal is to take
the link state hook away, and part of putting the config on is is
adding the link state hook.

if we're running an interfaces link state hooks from head to tail,
and the vxlan hook adds itself back to the tail, we end up running
the vxlan hook forever cos it always ends up at the tail.

bluhm@ hit this infinite loop while running regress tests. if turns
out we need to run link state hooks in the same order they were
added, i have a way to avoid this situation, but this is simple.

Reply via email to