summaryrefslogtreecommitdiffstats
path: root/sys/netinet
diff options
context:
space:
mode:
authormlaier <mlaier@FreeBSD.org>2004-02-26 04:27:55 +0000
committermlaier <mlaier@FreeBSD.org>2004-02-26 04:27:55 +0000
commitd937176b3481cd970c24fba3eddbe098a1fe564f (patch)
treeb65ebe6aae423d9c985d1fc587b2e375a7f3c7c4 /sys/netinet
parent428f1c9a0fbaac94f9cce57cd846b2b6f82e17d1 (diff)
downloadFreeBSD-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')
-rw-r--r--sys/netinet/in.c5
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;
OpenPOWER on IntegriCloud