• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/net/llc/

Lines Matching refs:sap

92  *	@sap: pointer to SAP
95 void llc_sap_rtn_pdu(struct llc_sap *sap, struct sk_buff *skb)
113 * @sap: pointer to SAP
120 static struct llc_sap_state_trans *llc_find_sap_trans(struct llc_sap *sap,
126 struct llc_sap_state *curr_state = &llc_sap_state_table[sap->state - 1];
132 if (!next_trans[i]->ev(sap, skb)) {
141 * @sap: pointer to SAP
148 static int llc_exec_sap_trans_actions(struct llc_sap *sap,
156 if ((*next_action)(sap, skb))
163 * @sap: pointer to SAP
170 static int llc_sap_next_state(struct llc_sap *sap, struct sk_buff *skb)
175 if (sap->state > LLC_NR_SAP_STATES)
177 trans = llc_find_sap_trans(sap, skb);
185 rc = llc_exec_sap_trans_actions(sap, trans, skb);
191 sap->state = trans->next_state;
198 * @sap: sap to use
205 static void llc_sap_state_process(struct llc_sap *sap, struct sk_buff *skb)
216 llc_sap_next_state(sap, skb);
233 * @sap: sap to use
236 * @dsap: destination sap
241 void llc_build_and_send_test_pkt(struct llc_sap *sap,
246 ev->saddr.lsap = sap->laddr.lsap;
254 llc_sap_state_process(sap, skb);
259 * @sap: sap to use
262 * @dsap: destination sap
267 void llc_build_and_send_xid_pkt(struct llc_sap *sap, struct sk_buff *skb,
272 ev->saddr.lsap = sap->laddr.lsap;
280 llc_sap_state_process(sap, skb);
284 * llc_sap_rcv - sends received pdus to the sap state machine
285 * @sap: current sap component structure.
288 * Sends received pdus to the sap state machine.
290 static void llc_sap_rcv(struct llc_sap *sap, struct sk_buff *skb,
298 llc_sap_state_process(sap, skb);
301 static inline bool llc_dgram_match(const struct llc_sap *sap,
313 * llc_lookup_dgram - Finds dgram socket for the local sap/mac
314 * @sap: SAP
318 * mac, and local sap. Returns pointer for socket found, %NULL otherwise.
320 static struct sock *llc_lookup_dgram(struct llc_sap *sap,
325 int slot = llc_sk_laddr_hashfn(sap, laddr);
326 struct hlist_nulls_head *laddr_hb = &sap->sk_laddr_hash[slot];
331 if (llc_dgram_match(sap, laddr, rc)) {
335 if (unlikely(llc_sk(rc)->sap != sap ||
336 !llc_dgram_match(sap, laddr, rc))) {
356 static inline bool llc_mcast_match(const struct llc_sap *sap,
368 static void llc_do_mcast(struct llc_sap *sap, struct sk_buff *skb,
381 llc_sap_rcv(sap, skb1, stack[i]);
388 * @sap: SAP
391 * Search socket list of the SAP and finds connections with same sap.
394 static void llc_sap_mcast(struct llc_sap *sap,
402 struct hlist_head *dev_hb = llc_sk_dev_hash(sap, skb->dev->ifindex);
404 spin_lock_bh(&sap->sk_lock);
409 if (!llc_mcast_match(sap, laddr, skb, sk))
416 llc_do_mcast(sap, skb, stack, i);
420 spin_unlock_bh(&sap->sk_lock);
422 llc_do_mcast(sap, skb, stack, i);
426 void llc_sap_handler(struct llc_sap *sap, struct sk_buff *skb)
434 llc_sap_mcast(sap, &laddr, skb);
437 struct sock *sk = llc_lookup_dgram(sap, &laddr);
439 llc_sap_rcv(sap, skb, sk);