Lines Matching refs:skb
59 SYSCTL_NODE(_compat_linuxkpi, OID_AUTO, skb, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
94 struct sk_buff *skb; in linuxkpi_alloc_skb() local
98 skb = uma_zalloc(skbzone, linux_check_m_flags(gfp) | M_ZERO); in linuxkpi_alloc_skb()
99 if (skb == NULL) in linuxkpi_alloc_skb()
102 skb->prev = skb->next = skb; in linuxkpi_alloc_skb()
103 skb->truesize = size; in linuxkpi_alloc_skb()
104 skb->shinfo = (struct skb_shared_info *)(skb + 1); in linuxkpi_alloc_skb()
107 return (skb); in linuxkpi_alloc_skb()
136 uma_zfree(skbzone, skb); in linuxkpi_alloc_skb()
140 skb->head = skb->data = (uint8_t *)p; in linuxkpi_alloc_skb()
141 skb_reset_tail_pointer(skb); in linuxkpi_alloc_skb()
142 skb->end = skb->head + size; in linuxkpi_alloc_skb()
144 SKB_TRACE_FMT(skb, "data %p size %zu", (skb) ? skb->data : NULL, size); in linuxkpi_alloc_skb()
145 return (skb); in linuxkpi_alloc_skb()
151 struct sk_buff *skb; in linuxkpi_dev_alloc_skb() local
155 skb = linuxkpi_alloc_skb(len, gfp); in linuxkpi_dev_alloc_skb()
157 if (skb != NULL) in linuxkpi_dev_alloc_skb()
158 skb_reserve(skb, NET_SKB_PAD); in linuxkpi_dev_alloc_skb()
160 SKB_TRACE_FMT(skb, "data %p size %zu len %zu", in linuxkpi_dev_alloc_skb()
161 (skb) ? skb->data : NULL, size, len); in linuxkpi_dev_alloc_skb()
162 return (skb); in linuxkpi_dev_alloc_skb()
168 struct sk_buff *skb; in linuxkpi_build_skb() local
174 skb = linuxkpi_alloc_skb(0, GFP_KERNEL); in linuxkpi_build_skb()
175 if (skb == NULL) in linuxkpi_build_skb()
178 skb->_flags |= _SKB_FLAGS_SKBEXTFRAG; in linuxkpi_build_skb()
179 skb->truesize = fragsz; in linuxkpi_build_skb()
180 skb->head = skb->data = data; in linuxkpi_build_skb()
181 skb_reset_tail_pointer(skb); in linuxkpi_build_skb()
182 skb->end = skb->head + fragsz; in linuxkpi_build_skb()
184 return (skb); in linuxkpi_build_skb()
188 linuxkpi_skb_copy(const struct sk_buff *skb, gfp_t gfp) in linuxkpi_skb_copy() argument
196 len = skb->end - skb->head + skb->data_len; in linuxkpi_skb_copy()
202 headroom = skb_headroom(skb); in linuxkpi_skb_copy()
205 skb_put(new, skb->len); /* tail and len get adjusted */ in linuxkpi_skb_copy()
208 memcpy(new->head, skb->data - headroom, headroom + skb->len); in linuxkpi_skb_copy()
211 shinfo = skb->shinfo; in linuxkpi_skb_copy()
219 memcpy(new->cb, skb->cb, sizeof(skb->cb)); in linuxkpi_skb_copy()
226 linuxkpi_kfree_skb(struct sk_buff *skb) in linuxkpi_kfree_skb() argument
231 SKB_TRACE(skb); in linuxkpi_kfree_skb()
232 if (skb == NULL) in linuxkpi_kfree_skb()
240 if (skb->m != NULL) { in linuxkpi_kfree_skb()
243 m = skb->m; in linuxkpi_kfree_skb()
244 skb->m = NULL; in linuxkpi_kfree_skb()
246 KASSERT(skb->m_free_func != NULL, ("%s: skb %p has m %p but no " in linuxkpi_kfree_skb()
247 "m_free_func %p\n", __func__, skb, m, skb->m_free_func)); in linuxkpi_kfree_skb()
248 skb->m_free_func(m); in linuxkpi_kfree_skb()
250 KASSERT(skb->m == NULL, in linuxkpi_kfree_skb()
251 ("%s: skb %p m %p != NULL\n", __func__, skb, skb->m)); in linuxkpi_kfree_skb()
253 shinfo = skb->shinfo; in linuxkpi_kfree_skb()
270 if ((skb->_flags & _SKB_FLAGS_SKBEXTFRAG) != 0) { in linuxkpi_kfree_skb()
273 p = skb->head; in linuxkpi_kfree_skb()
275 skb->head = NULL; in linuxkpi_kfree_skb()
280 free(skb->head, M_LKPISKB); in linuxkpi_kfree_skb()
283 kfree(skb->head); in linuxkpi_kfree_skb()
284 uma_zfree(skbzone, skb); in linuxkpi_kfree_skb()
305 DB_SHOW_COMMAND(skb, db_show_skb) in DB_SHOW_COMMAND() argument
307 struct sk_buff *skb; in DB_SHOW_COMMAND() local
315 skb = (struct sk_buff *)addr; in DB_SHOW_COMMAND()
317 db_printf("skb %p\n", skb); in DB_SHOW_COMMAND()
318 db_printf("\tnext %p prev %p\n", skb->next, skb->prev); in DB_SHOW_COMMAND()
319 db_printf("\tlist %p\n", &skb->list); in DB_SHOW_COMMAND()
321 skb->len, skb->data_len, skb->truesize, skb->mac_len); in DB_SHOW_COMMAND()
323 skb->csum, skb->l3hdroff, skb->l4hdroff, skb->priority, skb->qmap); in DB_SHOW_COMMAND()
325 skb->pkt_type, skb->dev, skb->sk); in DB_SHOW_COMMAND()
327 skb->csum_offset, skb->csum_start, skb->ip_summed, skb->protocol); in DB_SHOW_COMMAND()
328 db_printf("\t_flags %#06x\n", skb->_flags); /* XXX-BZ print names? */ in DB_SHOW_COMMAND()
330 skb->head, skb->data, skb->tail, skb->end); in DB_SHOW_COMMAND()
332 skb->shinfo, skb->m, skb->m_free_func); in DB_SHOW_COMMAND()
334 if (skb->shinfo != NULL) { in DB_SHOW_COMMAND()
337 shinfo = skb->shinfo; in DB_SHOW_COMMAND()
352 db_printf("\tcb[] %p {", skb->cb); in DB_SHOW_COMMAND()
353 for (i = 0; i < nitems(skb->cb); i++) { in DB_SHOW_COMMAND()
355 skb->cb[i], (i < (nitems(skb->cb)-1)) ? ", " : ""); in DB_SHOW_COMMAND()
359 db_printf("\t__scratch[0] %p\n", skb->__scratch); in DB_SHOW_COMMAND()