MCPcopy Create free account
hub / github.com/F-Stack/f-stack / ff_mbuf_gethdr

Function ff_mbuf_gethdr

lib/ff_veth.c:366–388  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

364}
365
366void *
367ff_mbuf_gethdr(void *pkt, uint16_t total, void *data,
368 uint16_t len, uint8_t rx_csum)
369{
370 struct mbuf *m = m_gethdr(M_NOWAIT, MT_DATA);
371 if (m == NULL) {
372 return NULL;
373 }
374
375 m_extadd(m, data, len, ff_mbuf_ext_free, pkt, NULL, 0, EXT_DISPOSABLE);
376
377 m->m_pkthdr.len = total;
378 m->m_len = len;
379 m->m_next = NULL;
380 m->m_nextpkt = NULL;
381
382 if (rx_csum) {
383 m->m_pkthdr.csum_flags = CSUM_IP_CHECKED | CSUM_IP_VALID |
384 CSUM_DATA_VALID | CSUM_PSEUDO_HDR;
385 m->m_pkthdr.csum_data = 0xffff;
386 }
387 return (void *)m;
388}
389
390void *
391ff_mbuf_get(void *p, void *m, void *data, uint16_t len)

Callers 1

ff_veth_inputFunction · 0.85

Calls 2

m_extaddFunction · 0.85
m_gethdrFunction · 0.50

Tested by

no test coverage detected