Changeset View
Changeset View
Standalone View
Standalone View
sys/netpfil/pf/pf_if.c
Show First 20 Lines • Show All 437 Lines • ▼ Show 20 Lines | pfi_kif_update(struct pfi_kif *kif) | ||||
/* update all dynaddr */ | /* update all dynaddr */ | ||||
TAILQ_FOREACH(p, &kif->pfik_dynaddrs, entry) | TAILQ_FOREACH(p, &kif->pfik_dynaddrs, entry) | ||||
pfi_dynaddr_update(p); | pfi_dynaddr_update(p); | ||||
/* again for all groups kif is member of */ | /* again for all groups kif is member of */ | ||||
if (kif->pfik_ifp != NULL) { | if (kif->pfik_ifp != NULL) { | ||||
IF_ADDR_RLOCK(kif->pfik_ifp); | IF_ADDR_RLOCK(kif->pfik_ifp); | ||||
TAILQ_FOREACH(ifgl, &kif->pfik_ifp->if_groups, ifgl_next) | TAILQ_FOREACH(ifgl, &kif->pfik_ifp->if_groups, ifgl_next) | ||||
if (kif != ifgl->ifgl_group->ifg_pf_kif) | |||||
pfi_kif_update((struct pfi_kif *) | pfi_kif_update((struct pfi_kif *) | ||||
ifgl->ifgl_group->ifg_pf_kif); | ifgl->ifgl_group->ifg_pf_kif); | ||||
IF_ADDR_RUNLOCK(kif->pfik_ifp); | IF_ADDR_RUNLOCK(kif->pfik_ifp); | ||||
} | } | ||||
} | } | ||||
static void | static void | ||||
pfi_dynaddr_update(struct pfi_dynaddr *dyn) | pfi_dynaddr_update(struct pfi_dynaddr *dyn) | ||||
{ | { | ||||
struct pfi_kif *kif; | struct pfi_kif *kif; | ||||
▲ Show 20 Lines • Show All 407 Lines • Show Last 20 Lines |