A Discrete-Event Network Simulator
API
Packet
+ Collaboration diagram for Packet:

Classes

class  ns3::Buffer
 automatically resized byte buffer More...
 
class  ns3::ByteTagIterator
 Iterator over the set of byte tags in a packet. More...
 
class  ns3::ByteTagList
 keep track of the byte tags stored in a packet. More...
 
struct  ns3::ByteTagListData
 Internal representation of the byte tags stored in a packet. More...
 
class  ns3::ByteTagListDataFreeList
 Container class for struct ByteTagListData. More...
 
class  ns3::Chunk
 abstract base class for ns3::Header and ns3::Trailer More...
 
struct  ns3::PacketMetadata::Data
 Data structure. More...
 
struct  ns3::Buffer::Data
 This data structure is variable-sized through its last member whose size is determined at allocation time and stored in the m_size field. More...
 
class  ns3::PacketMetadata::DataFreeList
 Class to hold all the metadata. More...
 
struct  ns3::PacketMetadata::ExtraItem
 ExtraItem structure. More...
 
class  ns3::Header
 Protocol header serialization and deserialization. More...
 
class  ns3::HigherLayerTxVectorTag
 This tag will be used to support higher layer control DataRate and TxPwr_Level for transmission. More...
 
class  ns3::PacketTagIterator::Item
 Identifies a packet tag within a packet. More...
 
class  ns3::ByteTagIterator::Item
 Identifies a byte tag and a set of bytes within a packet to which the tag applies. More...
 
struct  ns3::PacketMetadata::Item
 structure describing a packet metadata item More...
 
struct  ns3::ByteTagList::Iterator::Item
 An item specifies an individual tag within a byte buffer. More...
 
class  ns3::PacketMetadata::ItemIterator
 Iterator class for metadata items. More...
 
class  ns3::ByteTagList::Iterator
 An iterator for iterating through a byte tag list. More...
 
class  ns3::Buffer::Iterator
 iterator in a Buffer instance More...
 
struct  ns3::Buffer::LocalStaticDestructor
 Local static destructor structure. More...
 
class  ns3::NixVector
 Neighbor-index data structure for nix-vector routing. More...
 
class  ns3::Packet
 network packets More...
 
class  ns3::PacketMetadata
 Handle packet metadata about packet headers and trailers. More...
 
class  ns3::PacketTagIterator
 Iterator over the set of packet tags in a packet. More...
 
class  ns3::PacketTagList
 List of the packet tags stored in a packet. More...
 
class  ns3::SllHeader
 Protocol header serialization and deserialization. More...
 
struct  ns3::PacketMetadata::SmallItem
 SmallItem structure. More...
 
class  ns3::Tag
 tag a set of bytes in a packet More...
 
class  ns3::TagBuffer
 read and write tag data More...
 
struct  ns3::PacketTagList::TagData
 Tree node for sharing serialized tags. More...
 
class  ns3::Trailer
 Protocol trailer serialization and deserialization. More...
 
struct  anonymous_namespace{buffer.cc}::Zeroes
 Zero-filled buffer. More...
 

Enumerations

enum  { ns3::PacketMetadata::Item::PAYLOAD, ns3::PacketMetadata::Item::HEADER, ns3::PacketMetadata::Item::TRAILER }
 
enum  ns3::SllHeader::PacketType {
  ns3::SllHeader::UNICAST_FROM_PEER_TO_ME = 0, ns3::SllHeader::BROADCAST_BY_PEER = 1, ns3::SllHeader::MULTICAST_BY_PEER = 2, ns3::SllHeader::INTERCEPTED_PACKET = 3,
  ns3::SllHeader::SENT_BY_US
}
 Type of the packet. More...
 
enum  ns3::PacketTagList::TagData::TagData_e { ns3::PacketTagList::TagData::MAX_SIZE = 21 }
 Packet Tag maximum size. More...
 

Variables

ns3::ByteTagListDataFreeList ns3::g_freeList
 Container for struct ByteTagListData. More...
 
static struct anonymous_namespace{buffer.cc}::Zeroes anonymous_namespace{buffer.cc}::g_zeroes
 Zero-filled buffer. More...
 

Detailed Description

Enumeration Type Documentation

anonymous enum
Enumerator
PAYLOAD 
HEADER 
TRAILER 

Definition at line 87 of file packet-metadata.h.

Type of the packet.

Enumerator
UNICAST_FROM_PEER_TO_ME 

the packet was specifically sent to us by somebody else

BROADCAST_BY_PEER 

packet was broadcast by somebody else

MULTICAST_BY_PEER 

packet was multicast, but not broadcast, by somebody else

INTERCEPTED_PACKET 

packet was sent to somebody else by somebody else

SENT_BY_US 

the packet was sent by us

Definition at line 71 of file sll-header.h.

Packet Tag maximum size.

The maximum size (in bytes) of a Tag is stored in this constant.

Internal:
Ideally, TagData would be 32 bytes in size, so they require no padding on 64-bit architectures. (The architecture affects the size because of the next pointer.) This would leave 18 bytes for data. However, ns3:Ipv6PacketInfoTag needs 19 bytes! The current implementation allows 20 bytes, which gives TagData a size of 30 bytes on 32-byte machines (which gets padded with 2 bytes), and 34 bytes on 64-bit machines, which gets padded to 40 bytes.
Enumerator
MAX_SIZE 

Size of serialization buffer data.

Definition at line 159 of file packet-tag-list.h.

Variable Documentation

ns3::ByteTagListDataFreeList ns3::g_freeList
static
struct anonymous_namespace{buffer.cc}::Zeroes anonymous_namespace{buffer.cc}::g_zeroes
static

Zero-filled buffer.

Referenced by ns3::Buffer::CopyData().