1#ifndef NDNDPDK_NDNI_DATA_H
2#define NDNDPDK_NDNI_DATA_H
28__attribute__((nonnull))
bool
40__attribute__((nonnull, returns_nonnull))
struct rte_crypto_op*
47__attribute__((nonnull)) uint16_t
56__attribute__((nonnull))
bool
76__attribute__((nonnull))
void
83__attribute__((nonnull))
static inline uint16_t
84DataEnc_SizeofMetaInfo(
const uint8_t* meta) {
85 return likely(meta[0] ==
TtMetaInfo) ? 2 + meta[1] : 0;
97__attribute__((nonnull))
struct rte_mbuf*
111__attribute__((nonnull))
struct rte_mbuf*
121__attribute__((nonnull))
Packet*
144__attribute__((nonnull))
static inline Packet*
146 struct rte_mbuf* pkt =
148 if (unlikely(pkt == NULL)) {
uint8_t DataEnc_NoMetaInfo[]
Indicate that Data MetaInfo field should be omitted.
Definition data.c:26
struct rte_crypto_op * DataDigest_Prepare(CryptoQueuePair *cqp, Packet *npkt)
Prepare a crypto_op for Data digest computation.
Definition data.c:142
struct rte_mbuf * DataEnc_EncodeTpl(LName prefix, LName suffix, const uint8_t *meta, struct rte_mbuf *tplV, struct iovec *tplIov, int tplIovcnt, PacketMempools *mp, PacketTxAlign align)
Encode Data with Content from template.
Definition data.c:292
Packet * DataEnc_Sign(struct rte_mbuf *pkt, PacketMempools *mp, PacketTxAlign align)
Append Null signature to Data.
Definition data.c:352
bool PData_Parse(PData *data, struct rte_mbuf *pkt, ParseFor parseFor)
Parse Data.
Definition data.c:67
uint16_t DataDigest_Enqueue(CryptoQueuePair *cqp, struct rte_crypto_op **ops, uint16_t count)
Enqueue crypto_ops for Data digest computation.
Definition data.c:157
struct rte_mbuf * DataEnc_EncodeRoom(LName prefix, LName suffix, const uint8_t *meta, uint32_t roomL, struct iovec *roomIov, int *roomIovcnt, PacketMempools *mp, PacketTxAlign align)
Encode Data with unfilled Content room.
Definition data.c:315
DataSatisfyResult PData_CanSatisfy(PData *data, PInterest *interest)
Determine whether Data can satisfy Interest.
Definition data.c:132
bool DataDigest_Finish(struct rte_crypto_op *op, Packet **npkt)
Finish Data digest computation.
Definition data.c:166
void DataEnc_PrepareMetaInfo(uint8_t *room, ContentType ct, uint32_t freshness, LName finalBlock)
Prepare Data MetaInfo.
Definition data.c:175
ContentType
Definition an.h:61
@ TtMetaInfo
Definition an.h:41
struct Packet Packet
Definition common.h:11
DataSatisfyResult
Definition enum.h:23
ParseFor
Definition enum.h:29
@ ImplicitDigestLength
Definition enum.h:11
Crypto queue pair.
Definition cryptodev.h:12
Data encoder optimized for traffic generator.
Definition data.h:125
struct rte_mbuf * tpl
Definition data.h:126
const uint8_t * meta
Definition data.h:128
LName suffix
Definition data.h:127
struct iovec contentIov[1]
Definition data.h:129
Name in linear buffer.
Definition name.h:11
Parsed Data packet.
Definition data.h:9
RTE_MARKER64 a_
Definition data.h:16
uint32_t contentOffset
Content TLV-VALUE offset.
Definition data.h:14
bool isFinalBlock
Definition data.h:13
uint32_t freshness
FreshnessPeriod in millis.
Definition data.h:11
bool hasDigest
Definition data.h:12
uint32_t contentL
Content TLV-LENGTH.
Definition data.h:15
RTE_MARKER64 b_
Definition data.h:18
uint8_t digest[ImplicitDigestLength]
Definition data.h:17
PName name
Definition data.h:10
uint8_t helperScratch[192]
scratch area for helper threads
Definition data.h:19
Parsed Interest packet.
Definition interest.h:9
Parsed name.
Definition name.h:139
Mempools for packet modification.
Definition common.h:17
mbuf alignment requirements for encoding or packet modification.
Definition common.h:35