|
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 |