Lines Matching refs:skb

48 	struct sk_buff *skb;
58 skb = skb_dequeue(&lapb->ack_queue);
59 kfree_skb(skb);
66 struct sk_buff *skb, *skb_prev = NULL;
73 while ((skb = skb_dequeue(&lapb->ack_queue)) != NULL) {
75 skb_queue_head(&lapb->write_queue, skb);
77 skb_append(skb_prev, skb, &lapb->write_queue);
78 skb_prev = skb;
106 int lapb_decode(struct lapb_cb *lapb, struct sk_buff *skb,
111 lapb_dbg(2, "(%p) S%d RX %3ph\n", lapb->dev, lapb->state, skb->data);
116 if (!pskb_may_pull(skb, 2))
121 if (skb->data[0] == LAPB_ADDR_D)
123 if (skb->data[0] == LAPB_ADDR_C)
126 if (skb->data[0] == LAPB_ADDR_C)
128 if (skb->data[0] == LAPB_ADDR_D)
133 if (skb->data[0] == LAPB_ADDR_B)
135 if (skb->data[0] == LAPB_ADDR_A)
138 if (skb->data[0] == LAPB_ADDR_A)
140 if (skb->data[0] == LAPB_ADDR_B)
145 skb_pull(skb, 1);
148 if (!(skb->data[0] & LAPB_S)) {
149 if (!pskb_may_pull(skb, 2))
155 frame->ns = (skb->data[0] >> 1) & 0x7F;
156 frame->nr = (skb->data[1] >> 1) & 0x7F;
157 frame->pf = skb->data[1] & LAPB_EPF;
158 frame->control[0] = skb->data[0];
159 frame->control[1] = skb->data[1];
160 skb_pull(skb, 2);
161 } else if ((skb->data[0] & LAPB_U) == 1) {
162 if (!pskb_may_pull(skb, 2))
167 frame->type = skb->data[0] & 0x0F;
168 frame->nr = (skb->data[1] >> 1) & 0x7F;
169 frame->pf = skb->data[1] & LAPB_EPF;
170 frame->control[0] = skb->data[0];
171 frame->control[1] = skb->data[1];
172 skb_pull(skb, 2);
173 } else if ((skb->data[0] & LAPB_U) == 3) {
177 frame->type = skb->data[0] & ~LAPB_SPF;
178 frame->pf = skb->data[0] & LAPB_SPF;
179 frame->control[0] = skb->data[0];
181 skb_pull(skb, 1);
184 if (!(skb->data[0] & LAPB_S)) {
189 frame->ns = (skb->data[0] >> 1) & 0x07;
190 frame->nr = (skb->data[0] >> 5) & 0x07;
191 frame->pf = skb->data[0] & LAPB_SPF;
192 } else if ((skb->data[0] & LAPB_U) == 1) {
196 frame->type = skb->data[0] & 0x0F;
197 frame->nr = (skb->data[0] >> 5) & 0x07;
198 frame->pf = skb->data[0] & LAPB_SPF;
199 } else if ((skb->data[0] & LAPB_U) == 3) {
203 frame->type = skb->data[0] & ~LAPB_SPF;
204 frame->pf = skb->data[0] & LAPB_SPF;
207 frame->control[0] = skb->data[0];
209 skb_pull(skb, 1);
224 struct sk_buff *skb;
227 if ((skb = alloc_skb(LAPB_HEADER_LEN + 3, GFP_ATOMIC)) == NULL)
230 skb_reserve(skb, LAPB_HEADER_LEN + 1);
234 dptr = skb_put(skb, 1);
238 dptr = skb_put(skb, 2);
244 dptr = skb_put(skb, 1);
251 lapb_transmit_buffer(lapb, skb, type);
260 struct sk_buff *skb;
263 if ((skb = alloc_skb(LAPB_HEADER_LEN + 7, GFP_ATOMIC)) == NULL)
266 skb_reserve(skb, LAPB_HEADER_LEN + 1);
269 dptr = skb_put(skb, 6);
282 &skb->data[1]);
284 dptr = skb_put(skb, 4);
295 lapb->dev, lapb->state, &skb->data[1]);
298 lapb_transmit_buffer(lapb, skb, LAPB_RESPONSE);