• Home
  • Raw
  • Download

Lines Matching refs:sap

91 void llc_sap_rtn_pdu(struct llc_sap *sap, struct sk_buff *skb)  in llc_sap_rtn_pdu()  argument
116 static struct llc_sap_state_trans *llc_find_sap_trans(struct llc_sap *sap, in llc_find_sap_trans() argument
122 struct llc_sap_state *curr_state = &llc_sap_state_table[sap->state - 1]; in llc_find_sap_trans()
128 if (!next_trans[i]->ev(sap, skb)) { in llc_find_sap_trans()
144 static int llc_exec_sap_trans_actions(struct llc_sap *sap, in llc_exec_sap_trans_actions() argument
152 if ((*next_action)(sap, skb)) in llc_exec_sap_trans_actions()
166 static int llc_sap_next_state(struct llc_sap *sap, struct sk_buff *skb) in llc_sap_next_state() argument
171 if (sap->state > LLC_NR_SAP_STATES) in llc_sap_next_state()
173 trans = llc_find_sap_trans(sap, skb); in llc_sap_next_state()
181 rc = llc_exec_sap_trans_actions(sap, trans, skb); in llc_sap_next_state()
187 sap->state = trans->next_state; in llc_sap_next_state()
201 static void llc_sap_state_process(struct llc_sap *sap, struct sk_buff *skb) in llc_sap_state_process() argument
212 llc_sap_next_state(sap, skb); in llc_sap_state_process()
237 void llc_build_and_send_test_pkt(struct llc_sap *sap, in llc_build_and_send_test_pkt() argument
242 ev->saddr.lsap = sap->laddr.lsap; in llc_build_and_send_test_pkt()
250 llc_sap_state_process(sap, skb); in llc_build_and_send_test_pkt()
263 void llc_build_and_send_xid_pkt(struct llc_sap *sap, struct sk_buff *skb, in llc_build_and_send_xid_pkt() argument
268 ev->saddr.lsap = sap->laddr.lsap; in llc_build_and_send_xid_pkt()
276 llc_sap_state_process(sap, skb); in llc_build_and_send_xid_pkt()
286 static void llc_sap_rcv(struct llc_sap *sap, struct sk_buff *skb, in llc_sap_rcv() argument
297 llc_sap_state_process(sap, skb); in llc_sap_rcv()
300 static inline bool llc_dgram_match(const struct llc_sap *sap, in llc_dgram_match() argument
319 static struct sock *llc_lookup_dgram(struct llc_sap *sap, in llc_lookup_dgram() argument
324 int slot = llc_sk_laddr_hashfn(sap, laddr); in llc_lookup_dgram()
325 struct hlist_nulls_head *laddr_hb = &sap->sk_laddr_hash[slot]; in llc_lookup_dgram()
330 if (llc_dgram_match(sap, laddr, rc)) { in llc_lookup_dgram()
334 if (unlikely(llc_sk(rc)->sap != sap || in llc_lookup_dgram()
335 !llc_dgram_match(sap, laddr, rc))) { in llc_lookup_dgram()
355 static inline bool llc_mcast_match(const struct llc_sap *sap, in llc_mcast_match() argument
367 static void llc_do_mcast(struct llc_sap *sap, struct sk_buff *skb, in llc_do_mcast() argument
380 llc_sap_rcv(sap, skb1, stack[i]); in llc_do_mcast()
393 static void llc_sap_mcast(struct llc_sap *sap, in llc_sap_mcast() argument
400 struct hlist_head *dev_hb = llc_sk_dev_hash(sap, skb->dev->ifindex); in llc_sap_mcast()
402 spin_lock_bh(&sap->sk_lock); in llc_sap_mcast()
407 if (!llc_mcast_match(sap, laddr, skb, sk)) in llc_sap_mcast()
414 llc_do_mcast(sap, skb, stack, i); in llc_sap_mcast()
418 spin_unlock_bh(&sap->sk_lock); in llc_sap_mcast()
420 llc_do_mcast(sap, skb, stack, i); in llc_sap_mcast()
424 void llc_sap_handler(struct llc_sap *sap, struct sk_buff *skb) in llc_sap_handler() argument
432 llc_sap_mcast(sap, &laddr, skb); in llc_sap_handler()
435 struct sock *sk = llc_lookup_dgram(sap, &laddr); in llc_sap_handler()
437 llc_sap_rcv(sap, skb, sk); in llc_sap_handler()