Lines Matching defs:sctp_ifa
1864 sctp_is_address_in_scope(struct sctp_ifa *ifa,
1937 sctp_add_addr_to_mbuf(struct mbuf *m, struct sctp_ifa *ifa, uint16_t *len)
2041 struct sctp_ifa *sctp_ifap;
2217 static struct sctp_ifa *
2218 sctp_is_ifa_addr_preferred(struct sctp_ifa *ifa,
2317 static struct sctp_ifa *
2318 sctp_is_ifa_addr_acceptable(struct sctp_ifa *ifa,
2404 sctp_is_addr_restricted(struct sctp_tcb *stcb, struct sctp_ifa *ifa)
2427 sctp_is_addr_in_ep(struct sctp_inpcb *inp, struct sctp_ifa *ifa)
2446 static struct sctp_ifa *
2459 struct sctp_ifa *sctp_ifa, *sifa;
2477 LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
2479 if ((sctp_ifa->address.sa.sa_family == AF_INET) &&
2481 &sctp_ifa->address.sin.sin_addr) != 0)) {
2486 if ((sctp_ifa->address.sa.sa_family == AF_INET6) &&
2488 &sctp_ifa->address.sin6.sin6_addr) != 0)) {
2492 if ((sctp_ifa->localifa_flags & SCTP_ADDR_DEFER_USE) &&
2495 sifa = sctp_is_ifa_addr_preferred(sctp_ifa,
2578 static struct sctp_ifa *
2591 struct sctp_ifa *sctp_ifa, *sifa;
2615 LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
2617 if ((sctp_ifa->address.sa.sa_family == AF_INET) &&
2619 &sctp_ifa->address.sin.sin_addr) != 0)) {
2624 if ((sctp_ifa->address.sa.sa_family == AF_INET6) &&
2626 &sctp_ifa->address.sin6.sin6_addr) != 0)) {
2630 if ((sctp_ifa->localifa_flags & SCTP_ADDR_DEFER_USE) && (non_asoc_addr_ok == 0))
2632 if (sctp_is_addr_in_ep(inp, sctp_ifa)) {
2633 sifa = sctp_is_ifa_addr_preferred(sctp_ifa, dest_is_loop, dest_is_priv, fam);
2649 LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
2651 if ((sctp_ifa->address.sa.sa_family == AF_INET) &&
2653 &sctp_ifa->address.sin.sin_addr) != 0)) {
2658 if ((sctp_ifa->address.sa.sa_family == AF_INET6) &&
2660 &sctp_ifa->address.sin6.sin6_addr) != 0)) {
2664 if ((sctp_ifa->localifa_flags & SCTP_ADDR_DEFER_USE) && (non_asoc_addr_ok == 0))
2666 if (sctp_is_addr_in_ep(inp, sctp_ifa)) {
2667 sifa = sctp_is_ifa_addr_acceptable(sctp_ifa, dest_is_loop, dest_is_priv, fam);
2765 static struct sctp_ifa *
2776 struct sctp_ifa *ifa, *sifa;
2891 struct sctp_ifa *ifa, *sifa;
2940 static struct sctp_ifa *
2954 struct sctp_ifa *sctp_ifa, *sifa;
3022 sctp_ifa = sctp_select_nth_preferred_addr_from_ifn_boundall(sctp_ifn, inp, stcb, non_asoc_addr_ok, dest_is_loop,
3025 /* if sctp_ifa is NULL something changed??, fall to plan b. */
3026 if (sctp_ifa) {
3027 atomic_add_int(&sctp_ifa->refcount, 1);
3032 return (sctp_ifa);
3101 LIST_FOREACH(sctp_ifa, &emit_ifn->ifalist, next_ifa) {
3102 SCTPDBG(SCTP_DEBUG_OUTPUT2, "ifa:%p\n", (void *)sctp_ifa);
3104 if ((sctp_ifa->address.sa.sa_family == AF_INET) &&
3106 &sctp_ifa->address.sin.sin_addr) != 0)) {
3112 if ((sctp_ifa->address.sa.sa_family == AF_INET6) &&
3114 &sctp_ifa->address.sin6.sin6_addr) != 0)) {
3119 if ((sctp_ifa->localifa_flags & SCTP_ADDR_DEFER_USE) &&
3124 sifa = sctp_is_ifa_addr_acceptable(sctp_ifa, dest_is_loop,
3166 LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
3168 if ((sctp_ifa->address.sa.sa_family == AF_INET) &&
3170 &sctp_ifa->address.sin.sin_addr) != 0)) {
3175 if ((sctp_ifa->address.sa.sa_family == AF_INET6) &&
3177 &sctp_ifa->address.sin6.sin6_addr) != 0)) {
3181 if ((sctp_ifa->localifa_flags & SCTP_ADDR_DEFER_USE) &&
3184 sifa = sctp_is_ifa_addr_acceptable(sctp_ifa,
3230 LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
3231 struct sctp_ifa *tmp_sifa;
3234 if ((sctp_ifa->address.sa.sa_family == AF_INET) &&
3236 &sctp_ifa->address.sin.sin_addr) != 0)) {
3241 if ((sctp_ifa->address.sa.sa_family == AF_INET6) &&
3243 &sctp_ifa->address.sin6.sin6_addr) != 0)) {
3247 if ((sctp_ifa->localifa_flags & SCTP_ADDR_DEFER_USE) &&
3250 tmp_sifa = sctp_is_ifa_addr_acceptable(sctp_ifa,
3292 struct sctp_ifa *
3299 struct sctp_ifa *answer;
4123 struct sctp_ifa *_lsrc;
4426 struct sctp_ifa *_lsrc;
13901 sctp_v4src_match_nexthop(struct sctp_ifa *sifa, sctp_route_t *ro)