• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/xnu-2782.1.97/bsd/netinet/

Lines Matching refs:ifa

563 	struct ifaddr *ifa;
732 ifa = &ia->ia_ifa;
735 IFA_REMREF(ifa);
737 IFA_LOCK(ifa);
740 IFA_UNLOCK(ifa);
748 IFA_LOCK(ifa);
750 if_detach_ifa(ifp, ifa);
752 IFA_UNLOCK(ifa);
764 TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
765 IFA_LOCK(ifa);
766 if (ifa->ifa_addr->sa_family == AF_INET) {
767 IFA_UNLOCK(ifa);
770 IFA_UNLOCK(ifa);
775 if (ifa == NULL && ifp->if_allhostsinm != NULL) {
795 ifa = ifa_ifpgetprimary(ifp, AF_INET);
796 if (ifa != NULL) {
803 error = ifnet_ioctl(ifp, PF_INET, SIOCSIFADDR, ifa);
808 IFA_REMREF(ifa);
1116 struct ifaddr *ifa;
1185 TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
1186 IFA_LOCK(ifa);
1187 if (ifa->ifa_addr->sa_family == AF_INET) {
1188 IFA_UNLOCK(ifa);
1191 IFA_UNLOCK(ifa);
1194 return ((ifa == NULL) ? proto_unplumb(PF_INET, ifp) : EBUSY);
1262 TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
1263 iap = ifatoia(ifa);
1362 ifa = &ia->ia_ifa;
1363 IFA_LOCK(ifa);
1365 IFA_ADDREF_LOCKED(ifa);
1367 ifa->ifa_addr = (struct sockaddr *)&ia->ia_addr;
1368 ifa->ifa_dstaddr = (struct sockaddr *)&ia->ia_dstaddr;
1369 ifa->ifa_netmask = (struct sockaddr *)&ia->ia_sockmask;
1379 if_attach_ifa(ifp, ifa);
1387 ifa->ifa_debug |= IFD_NOTREADY;
1388 IFA_UNLOCK(ifa);
1392 IFA_ADDREF(ifa);
1479 panic("%s: unexpected (missing) refcnt ifa=%p", __func__,
1764 struct ifaddr *ifa;
1777 #define ia ((struct in_ifaddr *)ifa)
1779 TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
1780 IFA_LOCK(ifa);
1781 if (ifa->ifa_addr->sa_family == AF_INET &&
1794 IFA_UNLOCK(ifa);
1798 IFA_UNLOCK(ifa);
1829 struct ifaddr *ifa;
1831 ifa = ifap[i];
1832 IFA_LOCK(ifa);
1833 bcopy(ifa->ifa_addr, &ifr.ifr_addr,
1835 IFA_UNLOCK(ifa);
1846 IFA_LOCK(ifa);
1848 (void *)ifa->ifa_addr)->sin_addr;
1850 (void *)ifa->ifa_dstaddr)->sin_addr;
1855 IFA_UNLOCK(ifa);
2034 in_ifaddr_free(struct ifaddr *ifa)
2036 IFA_LOCK_ASSERT_HELD(ifa);
2038 if (ifa->ifa_refcnt != 0) {
2039 panic("%s: ifa %p bad ref cnt", __func__, ifa);
2041 } if (!(ifa->ifa_debug & IFD_ALLOC)) {
2042 panic("%s: ifa %p cannot be freed", __func__, ifa);
2045 if (ifa->ifa_debug & IFD_DEBUG) {
2046 struct in_ifaddr_dbg *inifa_dbg = (struct in_ifaddr_dbg *)ifa;
2050 if (ifa->ifa_debug & IFD_TRASHED) {
2052 IFA_CONVERT_LOCK(ifa);
2057 ifa->ifa_debug &= ~IFD_TRASHED;
2060 IFA_UNLOCK(ifa);
2061 ifa_lock_destroy(ifa);
2062 bzero(ifa, sizeof (struct in_ifaddr));
2063 zfree(inifa_zone, ifa);
2067 in_ifaddr_attached(struct ifaddr *ifa)
2069 struct in_ifaddr_dbg *inifa_dbg = (struct in_ifaddr_dbg *)ifa;
2071 IFA_LOCK_ASSERT_HELD(ifa);
2073 if (!(ifa->ifa_debug & IFD_DEBUG)) {
2074 panic("%s: ifa %p has no debug structure", __func__, ifa);
2077 if (ifa->ifa_debug & IFD_TRASHED) {
2079 IFA_CONVERT_LOCK(ifa);
2083 ifa->ifa_debug &= ~IFD_TRASHED;
2088 in_ifaddr_detached(struct ifaddr *ifa)
2090 struct in_ifaddr_dbg *inifa_dbg = (struct in_ifaddr_dbg *)ifa;
2092 IFA_LOCK_ASSERT_HELD(ifa);
2094 if (!(ifa->ifa_debug & IFD_DEBUG)) {
2095 panic("%s: ifa %p has no debug structure", __func__, ifa);
2097 } else if (ifa->ifa_debug & IFD_TRASHED) {
2098 panic("%s: ifa %p is already in trash list", __func__, ifa);
2101 ifa->ifa_debug |= IFD_TRASHED;
2103 IFA_CONVERT_LOCK(ifa);
2110 in_ifaddr_trace(struct ifaddr *ifa, int refhold)
2112 struct in_ifaddr_dbg *inifa_dbg = (struct in_ifaddr_dbg *)ifa;
2117 if (!(ifa->ifa_debug & IFD_DEBUG)) {
2118 panic("%s: ifa %p has no debug structure", __func__, ifa);