Lines Matching refs:skb

51 	struct sk_buff *skb;  in llc_alloc_frame()  local
54 skb = alloc_skb(hlen + data_size, GFP_ATOMIC); in llc_alloc_frame()
56 if (skb) { in llc_alloc_frame()
57 skb_reset_mac_header(skb); in llc_alloc_frame()
58 skb_reserve(skb, hlen); in llc_alloc_frame()
59 skb_reset_network_header(skb); in llc_alloc_frame()
60 skb_reset_transport_header(skb); in llc_alloc_frame()
61 skb->protocol = htons(ETH_P_802_2); in llc_alloc_frame()
62 skb->dev = dev; in llc_alloc_frame()
64 skb_set_owner_w(skb, sk); in llc_alloc_frame()
66 return skb; in llc_alloc_frame()
69 void llc_save_primitive(struct sock *sk, struct sk_buff *skb, u8 prim) in llc_save_primitive() argument
74 addr = llc_ui_skb_cb(skb); in llc_save_primitive()
78 addr->sllc_arphrd = skb->dev->type; in llc_save_primitive()
82 llc_pdu_decode_sa(skb, addr->sllc_mac); in llc_save_primitive()
83 llc_pdu_decode_ssap(skb, &addr->sllc_sap); in llc_save_primitive()
91 void llc_sap_rtn_pdu(struct llc_sap *sap, struct sk_buff *skb) in llc_sap_rtn_pdu() argument
93 struct llc_sap_state_ev *ev = llc_sap_ev(skb); in llc_sap_rtn_pdu()
94 struct llc_pdu_un *pdu = llc_pdu_un_hdr(skb); in llc_sap_rtn_pdu()
117 struct sk_buff *skb) in llc_find_sap_trans() argument
128 if (!next_trans[i]->ev(sap, skb)) { in llc_find_sap_trans()
146 struct sk_buff *skb) 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
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()
201 static void llc_sap_state_process(struct llc_sap *sap, struct sk_buff *skb) in llc_sap_state_process() argument
203 struct llc_sap_state_ev *ev = llc_sap_ev(skb); in llc_sap_state_process()
210 skb_get(skb); in llc_sap_state_process()
212 llc_sap_next_state(sap, skb); in llc_sap_state_process()
214 if (skb->sk->sk_state == TCP_LISTEN) in llc_sap_state_process()
215 kfree_skb(skb); in llc_sap_state_process()
217 llc_save_primitive(skb->sk, skb, ev->prim); in llc_sap_state_process()
220 if (sock_queue_rcv_skb(skb->sk, skb)) in llc_sap_state_process()
221 kfree_skb(skb); in llc_sap_state_process()
224 kfree_skb(skb); in llc_sap_state_process()
238 struct sk_buff *skb, u8 *dmac, u8 dsap) in llc_build_and_send_test_pkt() argument
240 struct llc_sap_state_ev *ev = llc_sap_ev(skb); in llc_build_and_send_test_pkt()
244 memcpy(ev->saddr.mac, skb->dev->dev_addr, IFHWADDRLEN); 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
266 struct llc_sap_state_ev *ev = llc_sap_ev(skb); in llc_build_and_send_xid_pkt()
270 memcpy(ev->saddr.mac, skb->dev->dev_addr, IFHWADDRLEN); 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
289 struct llc_sap_state_ev *ev = llc_sap_ev(skb); in llc_sap_rcv()
293 skb->sk = sk; in llc_sap_rcv()
294 llc_sap_state_process(sap, skb); in llc_sap_rcv()
354 const struct sk_buff *skb, in llc_mcast_match() argument
361 llc->dev == skb->dev; in llc_mcast_match()
364 static void llc_do_mcast(struct llc_sap *sap, struct sk_buff *skb, in llc_do_mcast() argument
371 skb1 = skb_clone(skb, GFP_ATOMIC); in llc_do_mcast()
392 struct sk_buff *skb) in llc_sap_mcast() argument
397 struct hlist_head *dev_hb = llc_sk_dev_hash(sap, skb->dev->ifindex); in llc_sap_mcast()
404 if (!llc_mcast_match(sap, laddr, skb, sk)) in llc_sap_mcast()
411 llc_do_mcast(sap, skb, stack, i); in llc_sap_mcast()
417 llc_do_mcast(sap, skb, stack, i); in llc_sap_mcast()
421 void llc_sap_handler(struct llc_sap *sap, struct sk_buff *skb) in llc_sap_handler() argument
425 llc_pdu_decode_da(skb, laddr.mac); in llc_sap_handler()
426 llc_pdu_decode_dsap(skb, &laddr.lsap); in llc_sap_handler()
429 llc_sap_mcast(sap, &laddr, skb); in llc_sap_handler()
430 kfree_skb(skb); in llc_sap_handler()
434 llc_sap_rcv(sap, skb, sk); in llc_sap_handler()
437 kfree_skb(skb); in llc_sap_handler()