Lines Matching refs:laddr

824 		struct sctp_laddr *laddr;  in sctp_does_stcb_own_this_addr()  local
826 LIST_FOREACH(laddr, &stcb->sctp_ep->sctp_addr_list, sctp_nxt_addr) { in sctp_does_stcb_own_this_addr()
827 if (laddr->ifa->localifa_flags & SCTP_BEING_DELETED) { in sctp_does_stcb_own_this_addr()
831 if (sctp_is_addr_restricted(stcb, laddr->ifa) && in sctp_does_stcb_own_this_addr()
832 (!sctp_is_addr_pending(stcb, laddr->ifa))) { in sctp_does_stcb_own_this_addr()
840 if (laddr->ifa->address.sa.sa_family != to->sa_family) { in sctp_does_stcb_own_this_addr()
849 sin = &laddr->ifa->address.sin; in sctp_does_stcb_own_this_addr()
863 sin6 = &laddr->ifa->address.sin6; in sctp_does_stcb_own_this_addr()
895 struct sctp_laddr *laddr; in sctp_tcb_special_locate() local
986 LIST_FOREACH(laddr, &inp->sctp_addr_list, sctp_nxt_addr) { in sctp_tcb_special_locate()
987 if (laddr->ifa == NULL) { in sctp_tcb_special_locate()
991 if (laddr->ifa->localifa_flags & SCTP_BEING_DELETED) { in sctp_tcb_special_locate()
995 if (laddr->ifa->address.sa.sa_family == in sctp_tcb_special_locate()
1003 intf_addr = &laddr->ifa->address.sin; in sctp_tcb_special_locate()
1019 intf_addr6 = &laddr->ifa->address.sin6; in sctp_tcb_special_locate()
1486 struct sctp_laddr *laddr; in sctp_endpoint_probe() local
1632 LIST_FOREACH(laddr, &inp->sctp_addr_list, sctp_nxt_addr) { in sctp_endpoint_probe()
1633 if (laddr->ifa == NULL) { in sctp_endpoint_probe()
1639 (void *)laddr->ifa); in sctp_endpoint_probe()
1640 if (laddr->ifa->localifa_flags & SCTP_BEING_DELETED) { in sctp_endpoint_probe()
1644 if (laddr->ifa->address.sa.sa_family == nam->sa_family) { in sctp_endpoint_probe()
1650 laddr->ifa->address.sin.sin_addr.s_addr) { in sctp_endpoint_probe()
1658 intf_addr6 = &laddr->ifa->address.sin6; in sctp_endpoint_probe()
2502 struct sctp_laddr *laddr, *oladdr; in sctp_move_pcb_and_assoc() local
2587 laddr = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_laddr), struct sctp_laddr); in sctp_move_pcb_and_assoc()
2588 if (laddr == NULL) { in sctp_move_pcb_and_assoc()
2598 memset(laddr, 0, sizeof(*laddr)); in sctp_move_pcb_and_assoc()
2599 (void)SCTP_GETTIME_TIMEVAL(&laddr->start_time); in sctp_move_pcb_and_assoc()
2600 laddr->ifa = oladdr->ifa; in sctp_move_pcb_and_assoc()
2601 atomic_add_int(&laddr->ifa->refcount, 1); in sctp_move_pcb_and_assoc()
2602 LIST_INSERT_HEAD(&new_inp->sctp_addr_list, laddr, in sctp_move_pcb_and_assoc()
2606 stcb->asoc.last_used_address = laddr; in sctp_move_pcb_and_assoc()
2669 struct sctp_laddr *laddr; in sctp_insert_laddr() local
2671 laddr = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_laddr), struct sctp_laddr); in sctp_insert_laddr()
2672 if (laddr == NULL) { in sctp_insert_laddr()
2678 memset(laddr, 0, sizeof(*laddr)); in sctp_insert_laddr()
2679 (void)SCTP_GETTIME_TIMEVAL(&laddr->start_time); in sctp_insert_laddr()
2680 laddr->ifa = ifa; in sctp_insert_laddr()
2681 laddr->action = act; in sctp_insert_laddr()
2684 LIST_INSERT_HEAD(list, laddr, sctp_nxt_addr); in sctp_insert_laddr()
2693 sctp_remove_laddr(struct sctp_laddr *laddr) in sctp_remove_laddr() argument
2697 LIST_REMOVE(laddr, sctp_nxt_addr); in sctp_remove_laddr()
2698 sctp_free_ifa(laddr->ifa); in sctp_remove_laddr()
2699 SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_laddr), laddr); in sctp_remove_laddr()
3208 struct sctp_laddr *laddr, *nladdr; in sctp_inpcb_free() local
3543 LIST_FOREACH_SAFE(laddr, &inp->sctp_addr_list, sctp_nxt_addr, nladdr) { in sctp_inpcb_free()
3544 sctp_remove_laddr(laddr); in sctp_inpcb_free()
4571 struct sctp_laddr *laddr, *naddr; in sctp_free_assoc() local
4989 LIST_FOREACH_SAFE(laddr, &asoc->sctp_restricted_addrs, sctp_nxt_addr, naddr) { in sctp_free_assoc()
4991 sctp_remove_laddr(laddr); in sctp_free_assoc()
5140 struct sctp_laddr *laddr; in sctp_update_ep_vflag() local
5145 LIST_FOREACH(laddr, &inp->sctp_addr_list, sctp_nxt_addr) { in sctp_update_ep_vflag()
5146 if (laddr->ifa == NULL) { in sctp_update_ep_vflag()
5152 if (laddr->ifa->localifa_flags & SCTP_BEING_DELETED) { in sctp_update_ep_vflag()
5155 switch (laddr->ifa->address.sa.sa_family) { in sctp_update_ep_vflag()
5179 struct sctp_laddr *laddr; in sctp_add_local_addr_ep() local
5198 LIST_FOREACH(laddr, &inp->sctp_addr_list, sctp_nxt_addr) { in sctp_add_local_addr_ep()
5199 if (laddr->ifa == ifa) { in sctp_add_local_addr_ep()
5263 struct sctp_laddr *laddr; in sctp_del_local_addr_ep() local
5271 LIST_FOREACH(laddr, &inp->sctp_addr_list, sctp_nxt_addr) { in sctp_del_local_addr_ep()
5272 if (laddr->ifa == ifa) { in sctp_del_local_addr_ep()
5291 if (inp->next_addr_touse == laddr) in sctp_del_local_addr_ep()
5300 if (stcb->asoc.last_used_address == laddr) in sctp_del_local_addr_ep()
5308 if (net->ro._s_addr == laddr->ifa) { in sctp_del_local_addr_ep()
5319 sctp_remove_laddr(laddr); in sctp_del_local_addr_ep()
5335 struct sctp_laddr *laddr; in sctp_add_local_addr_restricted() local
5353 LIST_FOREACH(laddr, list, sctp_nxt_addr) { in sctp_add_local_addr_restricted()
5354 if (laddr->ifa == ifa) { in sctp_add_local_addr_restricted()
5371 struct sctp_laddr *laddr; in sctp_del_local_addr_restricted() local
5392 LIST_FOREACH(laddr, &stcb->asoc.sctp_restricted_addrs, sctp_nxt_addr) { in sctp_del_local_addr_restricted()
5394 if (laddr->ifa == NULL) in sctp_del_local_addr_restricted()
5396 if (laddr->ifa == ifa) { in sctp_del_local_addr_restricted()
5397 sctp_remove_laddr(laddr); in sctp_del_local_addr_restricted()