Lines Matching refs:ifa

1318 			struct ifaddr *ifa;
1319 TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
1320 IFA_LOCK(ifa);
1322 ifa->ifa_addr->sa_family != family) {
1323 IFA_UNLOCK(ifa);
1329 IFA_UNLOCK(ifa);
1336 ifal->ifal_ifa = ifa;
1337 IFA_ADDREF_LOCKED(ifa);
1340 IFA_UNLOCK(ifa);
1392 struct ifaddr *ifa;
1402 ifa = interface->if_lladdr;
1403 IFA_LOCK_SPIN(ifa);
1404 lladdr = LLADDR(SDL((void *)ifa->ifa_addr));
1405 IFA_UNLOCK(ifa);
1441 struct ifaddr *ifa;
1450 ifa = interface->if_lladdr;
1451 IFA_LOCK_SPIN(ifa);
1452 sdl = SDL((void *)ifa->ifa_addr);
1455 IFA_UNLOCK(ifa);
1459 IFA_UNLOCK(ifa);
1468 struct ifaddr *ifa;
1482 ifa = ifnet_addrs[interface->if_index - 1];
1483 if (ifa != NULL) {
1486 IFA_LOCK_SPIN(ifa);
1487 sdl = (struct sockaddr_dl *)(void *)ifa->ifa_addr;
1498 IFA_UNLOCK(ifa);
1622 struct ifaddr *ifa;
1625 ifa = ifnet_addrs[ifp->if_index - 1];
1626 if (ifa == NULL)
1629 IFA_LOCK(ifa);
1630 ll_addr = (struct sockaddr_dl *)(void *)ifa->ifa_addr;
1634 IFA_UNLOCK(ifa);
1639 IFA_UNLOCK(ifa);
1830 ifaddr_reference(ifaddr_t ifa)
1832 if (ifa == NULL)
1835 IFA_ADDREF(ifa);
1840 ifaddr_release(ifaddr_t ifa)
1842 if (ifa == NULL)
1845 IFA_REMREF(ifa);
1850 ifaddr_address_family(ifaddr_t ifa)
1854 if (ifa != NULL) {
1855 IFA_LOCK_SPIN(ifa);
1856 if (ifa->ifa_addr != NULL)
1857 family = ifa->ifa_addr->sa_family;
1858 IFA_UNLOCK(ifa);
1864 ifaddr_address(ifaddr_t ifa, struct sockaddr *out_addr, u_int32_t addr_size)
1868 if (ifa == NULL || out_addr == NULL)
1871 IFA_LOCK_SPIN(ifa);
1872 if (ifa->ifa_addr == NULL) {
1873 IFA_UNLOCK(ifa);
1877 copylen = (addr_size >= ifa->ifa_addr->sa_len) ?
1878 ifa->ifa_addr->sa_len : addr_size;
1879 bcopy(ifa->ifa_addr, out_addr, copylen);
1881 if (ifa->ifa_addr->sa_len > addr_size) {
1882 IFA_UNLOCK(ifa);
1886 IFA_UNLOCK(ifa);
1891 ifaddr_dstaddress(ifaddr_t ifa, struct sockaddr *out_addr, u_int32_t addr_size)
1895 if (ifa == NULL || out_addr == NULL)
1898 IFA_LOCK_SPIN(ifa);
1899 if (ifa->ifa_dstaddr == NULL) {
1900 IFA_UNLOCK(ifa);
1904 copylen = (addr_size >= ifa->ifa_dstaddr->sa_len) ?
1905 ifa->ifa_dstaddr->sa_len : addr_size;
1906 bcopy(ifa->ifa_dstaddr, out_addr, copylen);
1908 if (ifa->ifa_dstaddr->sa_len > addr_size) {
1909 IFA_UNLOCK(ifa);
1913 IFA_UNLOCK(ifa);
1918 ifaddr_netmask(ifaddr_t ifa, struct sockaddr *out_addr, u_int32_t addr_size)
1922 if (ifa == NULL || out_addr == NULL)
1925 IFA_LOCK_SPIN(ifa);
1926 if (ifa->ifa_netmask == NULL) {
1927 IFA_UNLOCK(ifa);
1931 copylen = addr_size >= ifa->ifa_netmask->sa_len ?
1932 ifa->ifa_netmask->sa_len : addr_size;
1933 bcopy(ifa->ifa_netmask, out_addr, copylen);
1935 if (ifa->ifa_netmask->sa_len > addr_size) {
1936 IFA_UNLOCK(ifa);
1940 IFA_UNLOCK(ifa);
1945 ifaddr_ifnet(ifaddr_t ifa)
1949 if (ifa == NULL)
1953 ifp = ifa->ifa_ifp;