diff options
Diffstat (limited to 'usr.sbin/dhcp')
-rw-r--r-- | usr.sbin/dhcp/dhclient/dhclient.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/usr.sbin/dhcp/dhclient/dhclient.c b/usr.sbin/dhcp/dhclient/dhclient.c index bc69b24eae4..32531224786 100644 --- a/usr.sbin/dhcp/dhclient/dhclient.c +++ b/usr.sbin/dhcp/dhclient/dhclient.c @@ -172,6 +172,7 @@ routehandler(struct protocol *p) struct rt_msghdr *rtm; struct if_msghdr *ifm; struct ifa_msghdr *ifam; + struct if_announcemsghdr *ifan; struct interface_info *ip; ssize_t n; @@ -205,6 +206,12 @@ routehandler(struct protocol *p) if ((rtm->rtm_flags & RTF_UP) == 0) goto die; break; + case RTM_IFANNOUNCE: + ifan = (struct if_announcemsghdr *)rtm; + if (ifan->ifan_what == IFAN_DEPARTURE && + (ip = isours(ifan->ifan_index)) != NULL) + goto die; + break; default: break; } |