Lines Matching refs:sap

472 static inline bool llc_estab_match(const struct llc_sap *sap,  in llc_estab_match()  argument
496 static struct sock *__llc_lookup_established(struct llc_sap *sap, in __llc_lookup_established() argument
502 int slot = llc_sk_laddr_hashfn(sap, laddr); in __llc_lookup_established()
503 struct hlist_nulls_head *laddr_hb = &sap->sk_laddr_hash[slot]; in __llc_lookup_established()
508 if (llc_estab_match(sap, daddr, laddr, rc)) { in __llc_lookup_established()
512 if (unlikely(llc_sk(rc)->sap != sap || in __llc_lookup_established()
513 !llc_estab_match(sap, daddr, laddr, rc))) { in __llc_lookup_established()
533 struct sock *llc_lookup_established(struct llc_sap *sap, in llc_lookup_established() argument
540 sk = __llc_lookup_established(sap, daddr, laddr); in llc_lookup_established()
545 static inline bool llc_listener_match(const struct llc_sap *sap, in llc_listener_match() argument
556 static struct sock *__llc_lookup_listener(struct llc_sap *sap, in __llc_lookup_listener() argument
561 int slot = llc_sk_laddr_hashfn(sap, laddr); in __llc_lookup_listener()
562 struct hlist_nulls_head *laddr_hb = &sap->sk_laddr_hash[slot]; in __llc_lookup_listener()
567 if (llc_listener_match(sap, laddr, rc)) { in __llc_lookup_listener()
571 if (unlikely(llc_sk(rc)->sap != sap || in __llc_lookup_listener()
572 !llc_listener_match(sap, laddr, rc))) { in __llc_lookup_listener()
602 static struct sock *llc_lookup_listener(struct llc_sap *sap, in llc_lookup_listener() argument
606 struct sock *rc = __llc_lookup_listener(sap, laddr); in llc_lookup_listener()
609 rc = __llc_lookup_listener(sap, &null_addr); in llc_lookup_listener()
614 static struct sock *__llc_lookup(struct llc_sap *sap, in __llc_lookup() argument
618 struct sock *sk = __llc_lookup_established(sap, daddr, laddr); in __llc_lookup()
620 return sk ? : llc_lookup_listener(sap, laddr); in __llc_lookup()
713 void llc_sap_add_socket(struct llc_sap *sap, struct sock *sk) in llc_sap_add_socket() argument
716 struct hlist_head *dev_hb = llc_sk_dev_hash(sap, llc->dev->ifindex); in llc_sap_add_socket()
717 struct hlist_nulls_head *laddr_hb = llc_sk_laddr_hash(sap, &llc->laddr); in llc_sap_add_socket()
719 llc_sap_hold(sap); in llc_sap_add_socket()
720 llc_sk(sk)->sap = sap; in llc_sap_add_socket()
722 spin_lock_bh(&sap->sk_lock); in llc_sap_add_socket()
723 sap->sk_count++; in llc_sap_add_socket()
726 spin_unlock_bh(&sap->sk_lock); in llc_sap_add_socket()
737 void llc_sap_remove_socket(struct llc_sap *sap, struct sock *sk) in llc_sap_remove_socket() argument
741 spin_lock_bh(&sap->sk_lock); in llc_sap_remove_socket()
744 sap->sk_count--; in llc_sap_remove_socket()
745 spin_unlock_bh(&sap->sk_lock); in llc_sap_remove_socket()
746 llc_sap_put(sap); in llc_sap_remove_socket()
781 llc_sap_add_socket(llc->sap, newsk); in llc_create_incoming_sock()
782 llc_sap_hold(llc->sap); in llc_create_incoming_sock()
787 void llc_conn_handler(struct llc_sap *sap, struct sk_buff *skb) in llc_conn_handler() argument
797 sk = __llc_lookup(sap, &saddr, &daddr); in llc_conn_handler()