Lines Matching refs:asoc
100 struct sctp_association *asoc; in sctp_rcv() local
171 asoc = __sctp_rcv_lookup(net, skb, &src, &dest, &transport); in sctp_rcv()
173 if (!asoc) in sctp_rcv()
177 rcvr = asoc ? &asoc->base : &ep->base; in sctp_rcv()
187 asoc = NULL; in sctp_rcv()
207 if (!asoc) { in sctp_rcv()
222 chunk = sctp_chunkify(skb, asoc, sk, GFP_ATOMIC); in sctp_rcv()
391 void sctp_icmp_frag_needed(struct sock *sk, struct sctp_association *asoc, in sctp_icmp_frag_needed() argument
399 asoc->pmtu_pending = 1; in sctp_icmp_frag_needed()
419 sctp_assoc_sync_pmtu(asoc); in sctp_icmp_frag_needed()
422 sctp_retransmit(&asoc->outqueue, t, SCTP_RTXR_PMTUD); in sctp_icmp_frag_needed()
449 struct sctp_association *asoc, in sctp_icmp_proto_unreachable() argument
458 sctp_association_hold(asoc); in sctp_icmp_proto_unreachable()
467 sctp_association_put(asoc); in sctp_icmp_proto_unreachable()
471 asoc->state, asoc->ep, asoc, t, in sctp_icmp_proto_unreachable()
487 struct sctp_association *asoc; in sctp_err_lookup() local
505 asoc = __sctp_lookup_association(net, &saddr, &daddr, &transport); in sctp_err_lookup()
506 if (!asoc) in sctp_err_lookup()
509 sk = asoc->base.sk; in sctp_err_lookup()
531 ntohl(chunkhdr->init_hdr.init_tag) != asoc->c.my_vtag) in sctp_err_lookup()
534 } else if (vtag != asoc->c.peer_vtag) { in sctp_err_lookup()
546 *app = asoc; in sctp_err_lookup()
584 struct sctp_association *asoc = NULL; in sctp_v4_err() local
596 sk = sctp_err_lookup(net, AF_INET, skb, sctp_hdr(skb), &asoc, &transport); in sctp_v4_err()
618 sctp_icmp_frag_needed(sk, asoc, transport, in sctp_v4_err()
623 sctp_icmp_proto_unreachable(sk, asoc, in sctp_v4_err()
818 if (!net_eq(sock_net(t->asoc->base.sk), x->net)) in sctp_hash_cmp()
820 if (x->lport != htons(t->asoc->base.bind_addr.port)) in sctp_hash_cmp()
833 const struct net *net = sock_net(t->asoc->base.sk); in sctp_hash_obj()
834 __be16 lport = htons(t->asoc->base.bind_addr.port); in sctp_hash_obj()
888 if (t->asoc->temp) in sctp_hash_transport()
891 arg.net = sock_net(t->asoc->base.sk); in sctp_hash_transport()
893 arg.lport = htons(t->asoc->base.bind_addr.port); in sctp_hash_transport()
900 if (transport->asoc->ep == t->asoc->ep) { in sctp_hash_transport()
916 if (t->asoc->temp) in sctp_unhash_transport()
944 if (sctp_bind_addr_match(&t->asoc->base.bind_addr, in sctp_addrs_lookup_transport()
945 laddr, sctp_sk(t->asoc->base.sk))) in sctp_addrs_lookup_transport()
971 if (ep == t->asoc->ep) in sctp_epaddr_lookup_transport()
985 struct sctp_association *asoc = NULL; in __sctp_lookup_association() local
991 asoc = t->asoc; in __sctp_lookup_association()
995 return asoc; in __sctp_lookup_association()
1005 struct sctp_association *asoc; in sctp_lookup_association() local
1008 asoc = __sctp_lookup_association(net, laddr, paddr, transportp); in sctp_lookup_association()
1011 return asoc; in sctp_lookup_association()
1051 struct sctp_association *asoc; in __sctp_rcv_init_lookup() local
1087 asoc = __sctp_lookup_association(net, laddr, paddr, transportp); in __sctp_rcv_init_lookup()
1088 if (asoc) in __sctp_rcv_init_lookup()
1089 return asoc; in __sctp_rcv_init_lookup()
1148 struct sctp_association *asoc = NULL; in __sctp_rcv_walk_lookup() local
1186 asoc = __sctp_rcv_asconf_lookup( in __sctp_rcv_walk_lookup()
1194 if (asoc) in __sctp_rcv_walk_lookup()
1201 return asoc; in __sctp_rcv_walk_lookup()
1249 struct sctp_association *asoc; in __sctp_rcv_lookup() local
1251 asoc = __sctp_lookup_association(net, laddr, paddr, transportp); in __sctp_rcv_lookup()
1252 if (asoc) in __sctp_rcv_lookup()
1259 asoc = __sctp_rcv_lookup_harder(net, skb, laddr, transportp); in __sctp_rcv_lookup()
1260 if (asoc) in __sctp_rcv_lookup()
1273 return asoc; in __sctp_rcv_lookup()