Ethernet VLAN C-Tag. More...

#include <senf/Packets/DefaultBundle/EthernetPacket.hh>

Inheritance diagram for senf::EthVLanCPacketType:

Public Types

typedef PacketTypeMixin< EthVLanCPacketType, EtherTypesmixin
 
typedef ConcretePacket< EthVLanCPacketTypepacket
 
typedef EthVLanPacketParser parser
 
- Public Types inherited from senf::PacketTypeBase
typedef Packet packet
 
typedef senf::detail::packet::iterator iterator
 
typedef senf::detail::packet::const_iterator const_iterator
 
typedef senf::detail::packet::size_type size_type
 
typedef senf::detail::packet::difference_type difference_type
 
typedef senf::detail::packet::byte byte
 
typedef PacketInterpreterBase::range range
 
typedef PacketInterpreterBase::optional_range optional_range
 
typedef PacketInterpreterBase::factory_t factory_t
 
typedef VoidPacketParser parser
 Parser to parser packet fields. More...
 
- Public Types inherited from senf::PacketTypeMixin< EthVLanCPacketType, EtherTypes >
typedef EtherTypes ::key_t key_t
 
typedef boost::optional< key_toptional_key_t
 

Static Public Member Functions

static key_t nextPacketKey (packet p)
 
static void dump (packet p, std::ostream &os)
 Dump given EthVLanPacket in readable form to given output stream. More...
 
static void finalize (packet p)
 
- Static Public Member Functions inherited from senf::PacketTypeBase
static optional_range no_range ()
 
static factory_t no_factory ()
 
template<class PacketType >
static factory_t factory ()
 
static size_type initSize ()
 Get size of new (empty) packet. More...
 
static size_type initHeadSize ()
 Get size of new (empty) packet header. More...
 
static void init (packet p)
 Initialize new packet. More...
 
static optional_range nextPacketRange (packet p)
 Get next packet placement. More...
 
static factory_t nextPacketType (packet p)
 Get type of next packet. More...
 
static void finalize (packet p)
 Finalize packet. More...
 
static void dump (packet p, std::ostream &os)
 Dump packet data in readable form. More...
 
- Static Public Member Functions inherited from senf::PacketTypeMixin< EthVLanCPacketType, EtherTypes >
static optional_key_t key (Packet const &p)
 Find key of packet from registry. More...
 
static PacketTypeBase::factory_t lookup (key_t key)
 Lookup the key in the registry. More...
 
static PacketInterpreterBase::optional_range nextPacketRange (ConcretePacket< EthVLanCPacketType > const &p)
 
static PacketInterpreterBase::factory_t nextPacketType (ConcretePacket< EthVLanCPacketType > const &p)
 
static PacketInterpreterBase::size_type initSize ()
 
static void init (ConcretePacket< EthVLanCPacketType > const &p)
 

Static Public Attributes

static const EtherTypes::key_t etherType = 0x8100
 

Detailed Description

Ethernet VLAN C-Tag.

Packet type (typedef):
EthVLanCPacket
Fields:
EthVLanPacketParser
EthVLanPacket.png
Associated registries:
EtherTypes
Finalize action:
Set type from type of next packet if found in EtherTypes

Definition at line 199 of file EthernetPacket.hh.

Member Typedef Documentation

◆ mixin

◆ packet

◆ parser

Member Function Documentation

◆ dump()

void senf::EthVLanCPacketType::dump ( packet  p,
std::ostream &  os 
)
static

Dump given EthVLanPacket in readable form to given output stream.

Definition at line 101 of file EthernetPacket.cc.

◆ finalize()

void senf::EthVLanCPacketType::finalize ( packet  p)
static

Definition at line 113 of file EthernetPacket.cc.

◆ nextPacketKey()

static key_t senf::EthVLanCPacketType::nextPacketKey ( packet  p)
inlinestatic
Todo:
Add LLC/SNAP support -> only use the registry for type() values >=1536, otherwise expect an LLC header

Definition at line 214 of file EthernetPacket.hh.

Member Data Documentation

◆ etherType

const EtherTypes::key_t senf::EthVLanCPacketType::etherType = 0x8100
static

Definition at line 222 of file EthernetPacket.hh.


The documentation for this struct was generated from the following files: