NDN-DPDK
High-Speed Named Data Networking Forwarder
|
Macros | |
#define | APPEND(ptr, extraLength) |
Functions | |
RTE_INIT (InitNullSig) | |
bool | PData_Parse (PData *data, struct rte_mbuf *pkt, ParseFor parseFor) |
Parse Data. More... | |
DataSatisfyResult | PData_CanSatisfy (PData *data, PInterest *interest) |
Determine whether Data can satisfy Interest. More... | |
struct rte_crypto_op * | DataDigest_Prepare (CryptoQueuePair *cqp, Packet *npkt) |
Prepare a crypto_op for Data digest computation. More... | |
uint16_t | DataDigest_Enqueue (CryptoQueuePair *cqp, struct rte_crypto_op **ops, uint16_t count) |
Enqueue crypto_ops for Data digest computation. More... | |
bool | DataDigest_Finish (struct rte_crypto_op *op, Packet **npkt) |
Finish Data digest computation. More... | |
void | DataEnc_PrepareMetaInfo (uint8_t *room, ContentType ct, uint32_t freshness, LName finalBlock) |
Prepare Data MetaInfo. More... | |
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. More... | |
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. More... | |
Packet * | DataEnc_Sign (struct rte_mbuf *pkt, PacketMempools *mp, PacketTxAlign align) |
Append Null signature to Data. More... | |
Variables | |
uint8_t | DataEnc_NoMetaInfo [] = {0} |
Indicate that Data MetaInfo field should be omitted. More... | |
#define APPEND | ( | ptr, | |
extraLength | |||
) |
uint16_t DataDigest_Enqueue | ( | CryptoQueuePair * | cqp, |
struct rte_crypto_op ** | ops, | ||
uint16_t | count | ||
) |
Enqueue crypto_ops for Data digest computation.
bool DataDigest_Finish | ( | struct rte_crypto_op * | op, |
Packet ** | npkt | ||
) |
Finish Data digest computation.
op | a dequeued crypto_op; will be freed. | |
[out] | npkt | the Data packet; DataDigest releases ownership. |
struct rte_crypto_op* DataDigest_Prepare | ( | CryptoQueuePair * | cqp, |
Packet * | npkt | ||
) |
Prepare a crypto_op for Data digest computation.
npkt | Data packet. |
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.
prefix | name prefix. | |
suffix | name suffix. | |
meta | prepared MetaInfo buffer. | |
roomL | Content TLV-LENGTH. | |
[out] | roomIov | Content iov, must be filled/zeroed by caller. |
[out] | roomIovcnt | Content iov count. |
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.
prefix | name prefix. |
suffix | name suffix. |
meta | prepared MetaInfo buffer. |
tplV | Content template. |
tplIov | Content iov, must match tplV . |
void DataEnc_PrepareMetaInfo | ( | uint8_t * | room, |
ContentType | ct, | ||
uint32_t | freshness, | ||
LName | finalBlock | ||
) |
Prepare Data MetaInfo.
room | output buffer; must have enough capacity. |
ct | ContentType numeric value. |
freshness | FreshnessPeriod numeric value. |
finalBlock | FinalBlockId TLV-VALUE. |
room
contains MetaInfo TLV.Required room
capacity is the sum of:
finalBlock.length
. Packet* DataEnc_Sign | ( | struct rte_mbuf * | pkt, |
PacketMempools * | mp, | ||
PacketTxAlign | align | ||
) |
Append Null signature to Data.
pkt | result of DataEnc_EncodeTpl or DataEnc_EncodeRoom . |
pkt
is freed. DataSatisfyResult PData_CanSatisfy | ( | PData * | data, |
PInterest * | interest | ||
) |
Determine whether Data can satisfy Interest.
Parse Data.
pkt | a uniquely owned, possibly segmented, direct mbuf that contains Data TLV. |
parseFor | if set to ParseForFw , skip FinalBlock and set data->isFinalBlock to false. |
RTE_INIT | ( | InitNullSig | ) |
uint8_t DataEnc_NoMetaInfo[] = {0} |
Indicate that Data MetaInfo field should be omitted.
unaligned_uint16_t sigInfoTL |
unaligned_uint16_t sigTypeTL |
uint8_t sigTypeV |
unaligned_uint16_t sigValueTL |