From cfb9c9abdc2696bc174bb10a3a28552dc917b98f Mon Sep 17 00:00:00 2001 From: carlsonj Date: Wed, 25 Apr 2007 11:54:45 -0700 Subject: 6396937 dhcpagent: cannot write /etc/dhcp/e1000g0.dhc 6514851 in.ndpd "giving up" message needs work 6524645 clear_lif_dhcp is too cautious 6525108 inconsistent handling of lists due to fix for CR 6209214 6528047 dhcp inform messages are sent with zero source 6541139 dhcpagent can leave timers running on drop 6541633 dhcpagent's route clean-up mechanism can misfire, removing default route --- usr/src/cmd/cmd-inet/sbin/dhcpagent/interface.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'usr/src/cmd/cmd-inet/sbin/dhcpagent/interface.c') diff --git a/usr/src/cmd/cmd-inet/sbin/dhcpagent/interface.c b/usr/src/cmd/cmd-inet/sbin/dhcpagent/interface.c index 4e1b8d892b..f5ed8b4a3e 100644 --- a/usr/src/cmd/cmd-inet/sbin/dhcpagent/interface.c +++ b/usr/src/cmd/cmd-inet/sbin/dhcpagent/interface.c @@ -779,8 +779,11 @@ verify_lif(const dhcp_lif_t *lif) fd = isv6 ? v6_sock_fd : v4_sock_fd; if (ioctl(fd, SIOCGLIFFLAGS, &lifr) == -1) { - dhcpmsg(MSG_ERR, "verify_lif: SIOCGLIFFLAGS failed on %s", - lif->lif_name); + if (errno != ENXIO) { + dhcpmsg(MSG_ERR, + "verify_lif: SIOCGLIFFLAGS failed on %s", + lif->lif_name); + } return (B_FALSE); } @@ -901,8 +904,10 @@ canonize_lif(dhcp_lif_t *lif) fd = isv6 ? v6_sock_fd : v4_sock_fd; if (ioctl(fd, SIOCGLIFFLAGS, &lifr) == -1) { - dhcpmsg(MSG_ERR, "canonize_lif: can't get flags for %s", - lif->lif_name); + if (errno != ENXIO) { + dhcpmsg(MSG_ERR, "canonize_lif: can't get flags for %s", + lif->lif_name); + } return; } @@ -1223,9 +1228,6 @@ clear_lif_dhcp(dhcp_lif_t *lif) (void) strlcpy(lifr.lifr_name, lif->lif_name, LIFNAMSIZ); - if (!(lif->lif_flags & IFF_DHCPRUNNING)) - return; - if (ioctl(fd, SIOCGLIFFLAGS, &lifr) == -1) return; -- cgit v1.2.3