Lines Matching refs:skb
31 static int x25_receive_data(struct sk_buff *skb, struct x25_neigh *nb) in x25_receive_data() argument
37 if (!pskb_may_pull(skb, X25_STD_MIN_LEN)) in x25_receive_data()
40 frametype = skb->data[2]; in x25_receive_data()
41 lci = ((skb->data[0] << 8) & 0xF00) + ((skb->data[1] << 0) & 0x0FF); in x25_receive_data()
48 x25_link_control(skb, nb, frametype); in x25_receive_data()
58 skb_reset_transport_header(skb); in x25_receive_data()
61 queued = x25_process_rx_frame(sk, skb); in x25_receive_data()
63 queued = !sk_add_backlog(sk, skb, sk->sk_rcvbuf); in x25_receive_data()
74 return x25_rx_call_request(skb, nb, lci); in x25_receive_data()
81 if (x25_forward_data(lci, nb, skb)) { in x25_receive_data()
85 kfree_skb(skb); in x25_receive_data()
99 int x25_lapb_receive_frame(struct sk_buff *skb, struct net_device *dev, in x25_lapb_receive_frame() argument
108 nskb = skb_copy(skb, GFP_ATOMIC); in x25_lapb_receive_frame()
111 kfree_skb(skb); in x25_lapb_receive_frame()
112 skb = nskb; in x25_lapb_receive_frame()
123 if (!pskb_may_pull(skb, 1)) in x25_lapb_receive_frame()
126 switch (skb->data[0]) { in x25_lapb_receive_frame()
129 skb_pull(skb, 1); in x25_lapb_receive_frame()
130 if (x25_receive_data(skb, nb)) { in x25_lapb_receive_frame()
146 kfree_skb(skb); in x25_lapb_receive_frame()
153 struct sk_buff *skb; in x25_establish_link() local
158 if ((skb = alloc_skb(1, GFP_ATOMIC)) == NULL) { in x25_establish_link()
162 ptr = skb_put(skb, 1); in x25_establish_link()
174 skb->protocol = htons(ETH_P_X25); in x25_establish_link()
175 skb->dev = nb->dev; in x25_establish_link()
177 dev_queue_xmit(skb); in x25_establish_link()
182 struct sk_buff *skb; in x25_terminate_link() local
192 skb = alloc_skb(1, GFP_ATOMIC); in x25_terminate_link()
193 if (!skb) { in x25_terminate_link()
198 ptr = skb_put(skb, 1); in x25_terminate_link()
201 skb->protocol = htons(ETH_P_X25); in x25_terminate_link()
202 skb->dev = nb->dev; in x25_terminate_link()
203 dev_queue_xmit(skb); in x25_terminate_link()
206 void x25_send_frame(struct sk_buff *skb, struct x25_neigh *nb) in x25_send_frame() argument
210 skb_reset_network_header(skb); in x25_send_frame()
214 dptr = skb_push(skb, 1); in x25_send_frame()
220 kfree_skb(skb); in x25_send_frame()
224 kfree_skb(skb); in x25_send_frame()
228 skb->protocol = htons(ETH_P_X25); in x25_send_frame()
229 skb->dev = nb->dev; in x25_send_frame()
231 dev_queue_xmit(skb); in x25_send_frame()