Lines Matching defs:laddr
809 struct sctp_laddr *laddr;
811 LIST_FOREACH(laddr, &stcb->sctp_ep->sctp_addr_list, sctp_nxt_addr) {
812 if (laddr->ifa->localifa_flags & SCTP_BEING_DELETED) {
816 if (sctp_is_addr_restricted(stcb, laddr->ifa) &&
817 (!sctp_is_addr_pending(stcb, laddr->ifa))) {
825 if (laddr->ifa->address.sa.sa_family != to->sa_family) {
834 sin = &laddr->ifa->address.sin;
848 sin6 = &laddr->ifa->address.sin6;
880 struct sctp_laddr *laddr;
971 LIST_FOREACH(laddr, &inp->sctp_addr_list, sctp_nxt_addr) {
972 if (laddr->ifa == NULL) {
976 if (laddr->ifa->localifa_flags & SCTP_BEING_DELETED) {
980 if (laddr->ifa->address.sa.sa_family ==
988 intf_addr = &laddr->ifa->address.sin;
1004 intf_addr6 = &laddr->ifa->address.sin6;
1471 struct sctp_laddr *laddr;
1617 LIST_FOREACH(laddr, &inp->sctp_addr_list, sctp_nxt_addr) {
1618 if (laddr->ifa == NULL) {
1623 SCTPDBG(SCTP_DEBUG_PCB1, "Ok laddr->ifa:%p is possible, ",
1624 (void *)laddr->ifa);
1625 if (laddr->ifa->localifa_flags & SCTP_BEING_DELETED) {
1629 if (laddr->ifa->address.sa.sa_family == nam->sa_family) {
1635 laddr->ifa->address.sin.sin_addr.s_addr) {
1643 intf_addr6 = &laddr->ifa->address.sin6;
2487 struct sctp_laddr *laddr, *oladdr;
2570 /* Subset bound, so copy in the laddr list from the old_inp */
2572 laddr = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_laddr), struct sctp_laddr);
2573 if (laddr == NULL) {
2579 SCTPDBG(SCTP_DEBUG_PCB1, "Association hosed in TCP model, out of laddr memory\n");
2583 memset(laddr, 0, sizeof(*laddr));
2584 (void)SCTP_GETTIME_TIMEVAL(&laddr->start_time);
2585 laddr->ifa = oladdr->ifa;
2586 atomic_add_int(&laddr->ifa->refcount, 1);
2587 LIST_INSERT_HEAD(&new_inp->sctp_addr_list, laddr,
2591 stcb->asoc.last_used_address = laddr;
2649 * insert an laddr entry with the given ifa for the desired list
2654 struct sctp_laddr *laddr;
2656 laddr = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_laddr), struct sctp_laddr);
2657 if (laddr == NULL) {
2663 memset(laddr, 0, sizeof(*laddr));
2664 (void)SCTP_GETTIME_TIMEVAL(&laddr->start_time);
2665 laddr->ifa = ifa;
2666 laddr->action = act;
2669 LIST_INSERT_HEAD(list, laddr, sctp_nxt_addr);
2675 * Remove an laddr entry from the local address list (on an assoc)
2678 sctp_remove_laddr(struct sctp_laddr *laddr)
2682 LIST_REMOVE(laddr, sctp_nxt_addr);
2683 sctp_free_ifa(laddr->ifa);
2684 SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_laddr), laddr);
3193 struct sctp_laddr *laddr, *nladdr;
3528 LIST_FOREACH_SAFE(laddr, &inp->sctp_addr_list, sctp_nxt_addr, nladdr) {
3529 sctp_remove_laddr(laddr);
4558 struct sctp_laddr *laddr, *naddr;
4976 LIST_FOREACH_SAFE(laddr, &asoc->sctp_restricted_addrs, sctp_nxt_addr, naddr) {
4978 sctp_remove_laddr(laddr);
5127 struct sctp_laddr *laddr;
5132 LIST_FOREACH(laddr, &inp->sctp_addr_list, sctp_nxt_addr) {
5133 if (laddr->ifa == NULL) {
5139 if (laddr->ifa->localifa_flags & SCTP_BEING_DELETED) {
5142 switch (laddr->ifa->address.sa.sa_family) {
5166 struct sctp_laddr *laddr;
5185 LIST_FOREACH(laddr, &inp->sctp_addr_list, sctp_nxt_addr) {
5186 if (laddr->ifa == ifa) {
5250 struct sctp_laddr *laddr;
5258 LIST_FOREACH(laddr, &inp->sctp_addr_list, sctp_nxt_addr) {
5259 if (laddr->ifa == ifa) {
5278 if (inp->next_addr_touse == laddr)
5287 if (stcb->asoc.last_used_address == laddr)
5292 * to laddr
5295 if (net->ro._s_addr == laddr->ifa) {
5306 sctp_remove_laddr(laddr);
5322 struct sctp_laddr *laddr;
5340 LIST_FOREACH(laddr, list, sctp_nxt_addr) {
5341 if (laddr->ifa == ifa) {
5358 struct sctp_laddr *laddr;
5379 LIST_FOREACH(laddr, &stcb->asoc.sctp_restricted_addrs, sctp_nxt_addr) {
5381 if (laddr->ifa == NULL)
5383 if (laddr->ifa == ifa) {
5384 sctp_remove_laddr(laddr);