Lines Matching refs:sap

454 static inline bool llc_estab_match(const struct llc_sap *sap,
470 * __llc_lookup_established - Finds connection for the remote/local sap/mac
471 * @sap: SAP
477 * mac, remote sap, local mac, and local sap. Returns pointer for
481 static struct sock *__llc_lookup_established(struct llc_sap *sap,
488 int slot = llc_sk_laddr_hashfn(sap, laddr);
489 struct hlist_nulls_head *laddr_hb = &sap->sk_laddr_hash[slot];
494 if (llc_estab_match(sap, daddr, laddr, rc, net)) {
498 if (unlikely(llc_sk(rc)->sap != sap ||
499 !llc_estab_match(sap, daddr, laddr, rc, net))) {
519 struct sock *llc_lookup_established(struct llc_sap *sap,
527 sk = __llc_lookup_established(sap, daddr, laddr, net);
532 static inline bool llc_listener_match(const struct llc_sap *sap,
545 static struct sock *__llc_lookup_listener(struct llc_sap *sap,
551 int slot = llc_sk_laddr_hashfn(sap, laddr);
552 struct hlist_nulls_head *laddr_hb = &sap->sk_laddr_hash[slot];
557 if (llc_listener_match(sap, laddr, rc, net)) {
561 if (unlikely(llc_sk(rc)->sap != sap ||
562 !llc_listener_match(sap, laddr, rc, net))) {
584 * @sap: SAP
589 * local mac, and local sap. Returns pointer for parent socket found,
593 static struct sock *llc_lookup_listener(struct llc_sap *sap,
597 struct sock *rc = __llc_lookup_listener(sap, laddr, net);
601 rc = __llc_lookup_listener(sap, &null_addr, net);
606 static struct sock *__llc_lookup(struct llc_sap *sap,
611 struct sock *sk = __llc_lookup_established(sap, daddr, laddr, net);
613 return sk ? : llc_lookup_listener(sap, laddr, net);
701 * @sap: SAP
706 void llc_sap_add_socket(struct llc_sap *sap, struct sock *sk)
709 struct hlist_head *dev_hb = llc_sk_dev_hash(sap, llc->dev->ifindex);
710 struct hlist_nulls_head *laddr_hb = llc_sk_laddr_hash(sap, &llc->laddr);
712 llc_sap_hold(sap);
713 llc_sk(sk)->sap = sap;
715 spin_lock_bh(&sap->sk_lock);
717 sap->sk_count++;
720 spin_unlock_bh(&sap->sk_lock);
725 * @sap: SAP
731 void llc_sap_remove_socket(struct llc_sap *sap, struct sock *sk)
735 spin_lock_bh(&sap->sk_lock);
738 sap->sk_count--;
739 spin_unlock_bh(&sap->sk_lock);
740 llc_sap_put(sap);
775 llc_sap_add_socket(llc->sap, newsk);
776 llc_sap_hold(llc->sap);
781 void llc_conn_handler(struct llc_sap *sap, struct sk_buff *skb)
791 sk = __llc_lookup(sap, &saddr, &daddr, dev_net(skb->dev));