]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/net/if.c
xnu-1228.5.18.tar.gz
[apple/xnu.git] / bsd / net / if.c
index 04b3cadf6087de50ae88a6fc63a0d8008520a6e4..31d3cd0825cbe6913958e10c59daf405084cfa84 100644 (file)
@@ -653,7 +653,7 @@ ifa_ifwithnet(
        struct ifaddr *ifa = NULL;
        struct ifaddr *ifa_maybe = (struct ifaddr *) 0;
        u_int af = addr->sa_family;
-       char *addr_data = addr->sa_data, *cplim;
+       const char *addr_data = addr->sa_data, *cplim;
 
        ifnet_head_lock_shared();
        /*
@@ -681,7 +681,7 @@ ifa_ifwithnet(
                ifnet_lock_shared(ifp);
                for (ifa = ifp->if_addrhead.tqh_first; ifa;
                     ifa = ifa->ifa_link.tqe_next) {
-                       char *cp, *cp2, *cp3;
+                       const char *cp, *cp2, *cp3;
 
                        if (ifa->ifa_addr->sa_family != af)
 next:                          continue;
@@ -2048,13 +2048,14 @@ if_down_all(void)
        u_int32_t       count;
        u_int32_t       i;
 
-       if (ifnet_list_get(IFNET_FAMILY_ANY, &ifp, &count) != 0) {
+       if (ifnet_list_get_all(IFNET_FAMILY_ANY, &ifp, &count) == 0) {
                for (i = 0; i < count; i++) {
                        if_down(ifp[i]);
+                       dlil_proto_unplumb_all(ifp[i]);
                }
                ifnet_list_free(ifp);
        }
-       
+
        return 0;
 }