NDN-DPDK
High-Speed Named Data Networking Forwarder
Loading...
Searching...
No Matches
packet.c File Reference
#include "packet.h"
#include "tlv-decoder.h"

Functions

bool Packet_Parse (Packet *npkt, ParseFor parseFor)
 Parse layer 2 and layer 3 in mbuf.
bool Packet_ParseL3 (Packet *npkt, ParseFor parseFor)
 Parse layer 3 in mbuf.
PacketPacket_Clone (Packet *npkt, PacketMempools *mp, PacketTxAlign align)
 Clone packet to new mbufs.

Variables

const char * PktType_Strings_ []

Function Documentation

◆ Packet_Clone()

Packet * Packet_Clone ( Packet * npkt,
PacketMempools * mp,
PacketTxAlign align )

Clone packet to new mbufs.

Return values
NULLallocation failure.
Returns
new mbufs that fulfill align requirements.
Postcondition
npkt is unaffected.

◆ Packet_Parse()

bool Packet_Parse ( Packet * npkt,
ParseFor parseFor )

Parse layer 2 and layer 3 in mbuf.

Parameters
npkta uniquely owned, possibly segmented, direct mbuf.
parseForsee PInterest_Parse and PData_Parse .
Returns
whether success.
Postcondition
If the packet is fragmented, Packet_GetType(npkt) returns PktFragment . Otherwise, same as Packet_ParseL3 .

◆ Packet_ParseL3()

bool Packet_ParseL3 ( Packet * npkt,
ParseFor parseFor )

Parse layer 3 in mbuf.

Parameters
npkta uniquely owned, possibly segmented, direct mbuf. Its PacketPriv.lpl3 should have been initialized.
parseForsee PInterest_Parse and PData_Parse .
Returns
whether success.
Postcondition
Packet_GetType(npkt) returns PktInterest , PktData , or PktNack .
One of PInterest , PData , or PNack is initialized.

Variable Documentation

◆ PktType_Strings_

const char* PktType_Strings_[]
Initial value:
= {
[PktFragment] = "fragment", [PktInterest] = "interest", [PktSInterest] = "interest",
[PktData] = "data", [PktSData] = "data", [PktNack] = "nack",
[PktSNack] = "nack",
}
@ PktSNack
Definition enum.h:42
@ PktSInterest
Definition enum.h:40
@ PktFragment
Definition enum.h:36
@ PktInterest
Definition enum.h:37
@ PktNack
Definition enum.h:39
@ PktData
Definition enum.h:38
@ PktSData
Definition enum.h:41