CVSROOT:        /cvs
Module name:    src
Changes by:     d...@cvs.openbsd.org    2019/11/08 00:16:30

Modified files:
        sys/net        : if.c if_pppx.c if_spppsubr.c if_var.h 
                         if_vxlan.c pf_if.c 
        sys/netinet    : in.c ip_carp.c 
        sys/netinet6   : in6.c in6_ifattach.c 

Log message:
convert interface address change hooks to tasks and a task_list.

this follows what's been done for detach and link state hooks, and
makes handling of hooks generally more robust.

address hooks are a bit different to detach/link state hooks in
that there's only a few things that register hooks (carp, pf, vxlan),
but a lot of places to run the hooks (lots of ipv4 and ipv6 address
configuration).

an address hook cookie was in struct pfi_kif, which is part of the
pf abi. rather than break pfctl -sI, this maintains the void * used
for the cookie and uses it to store a task, which is then used as
intended with the new api.

Reply via email to