diff options
author | mlaier <mlaier@FreeBSD.org> | 2004-02-26 04:27:55 +0000 |
---|---|---|
committer | mlaier <mlaier@FreeBSD.org> | 2004-02-26 04:27:55 +0000 |
commit | d937176b3481cd970c24fba3eddbe098a1fe564f (patch) | |
tree | b65ebe6aae423d9c985d1fc587b2e375a7f3c7c4 /sys/netinet/in.c | |
parent | 428f1c9a0fbaac94f9cce57cd846b2b6f82e17d1 (diff) | |
download | FreeBSD-src-d937176b3481cd970c24fba3eddbe098a1fe564f.zip FreeBSD-src-d937176b3481cd970c24fba3eddbe098a1fe564f.tar.gz |
Bring eventhandler callbacks for pf.
This enables pf to track dynamic address changes on interfaces (dailup) with
the "on (<ifname>)"-syntax. This also brings hooks in anticipation of
tracking cloned interfaces, which will be in future versions of pf.
Approved by: bms(mentor)
Diffstat (limited to 'sys/netinet/in.c')
-rw-r--r-- | sys/netinet/in.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/netinet/in.c b/sys/netinet/in.c index 187ed93..1873ae4 100644 --- a/sys/netinet/in.c +++ b/sys/netinet/in.c @@ -363,6 +363,8 @@ in_control(so, cmd, data, ifp, td) (struct sockaddr_in *) &ifr->ifr_addr, 1); if (error != 0 && iaIsNew) break; + if (error == 0) + EVENTHANDLER_INVOKE(ifaddr_event, ifp); return (0); case SIOCSIFNETMASK: @@ -405,6 +407,8 @@ in_control(so, cmd, data, ifp, td) if ((ifp->if_flags & IFF_BROADCAST) && (ifra->ifra_broadaddr.sin_family == AF_INET)) ia->ia_broadaddr = ifra->ifra_broadaddr; + if (error == 0) + EVENTHANDLER_INVOKE(ifaddr_event, ifp); return (error); case SIOCDIFADDR: @@ -427,6 +431,7 @@ in_control(so, cmd, data, ifp, td) in_pcbpurgeif0(&ripcbinfo, ifp); in_pcbpurgeif0(&udbinfo, ifp); } + EVENTHANDLER_INVOKE(ifaddr_event, ifp); error = 0; break; |