1#ifndef NDNDPDK_NDNI_LP_H
2#define NDNDPDK_NDNI_LP_H
29static __rte_always_inline uint64_t
30LpL2_GetSeqNum(
const LpL2* l2) {
41__attribute__((nonnull))
static __rte_always_inline
void
42LpPitToken_Set(
LpPitToken* token, uint8_t length,
const uint8_t* value) {
44 rte_memcpy(token->
value, value, length);
45 memset(RTE_PTR_ADD(token->
value, length), 0,
sizeof(token->
value) - length);
52__attribute__((nonnull, returns_nonnull))
const char*
84__attribute__((nonnull))
bool
93__attribute__((nonnull))
void
struct __rte_packed_begin vlanhdr __rte_packed_end
bool LpHeader_Parse(LpHeader *lph, struct rte_mbuf *pkt)
Parse NDNLPv2 header and strip from mbuf.
Definition lp.c:45
const char * LpPitToken_ToString(const LpPitToken *token)
Print PIT token as string for logging.
Definition lp.c:8
void LpHeader_Prepend(struct rte_mbuf *pkt, const LpL3 *l3, const LpL2 *l2)
Prepend NDNLPv2 header to mbuf.
Definition lp.c:144
struct Packet Packet
Definition common.h:11
@ LpMaxFragments
Definition enum.h:8
NDNLPv2 layer 2 fields and reassembler state.
Definition lp.h:9
uint64_t seqNumBase
seqNum-fragIndex
Definition lp.h:10
uint32_t reassBitmap
A bitmap of fragment arrival status.
Definition lp.h:22
Packet * reassFrags[LpMaxFragments]
Definition lp.h:24
struct cds_list_head reassNode
Definition lp.h:23
uint8_t fragCount
Definition lp.h:12
uint8_t fragIndex
Definition lp.h:11
NDNLPv2 layer 3 fields.
Definition lp.h:56
uint8_t nackReason
Definition lp.h:57
LpPitToken pitToken
Definition lp.h:59
uint8_t congMark
Definition lp.h:58
NDNLPv2 PIT token value.
Definition lp.h:35
uint8_t value[32]
Definition lp.h:37
uint8_t length
Definition lp.h:36