OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PktInfo Struct Reference

#include <pkt_handler.h>

Collaboration diagram for PktInfo:

Public Member Functions

 PktInfo (Agent *agent, uint32_t buff_len, PktHandler::PktModuleName module, uint32_t mdata)
 
 PktInfo (const PacketBufferPtr &buff)
 
 PktInfo (const PacketBufferPtr &buff, const AgentHdr &hdr)
 
 PktInfo (PktHandler::PktModuleName module, InterTaskMsg *msg)
 
virtual ~PktInfo ()
 
const AgentHdrGetAgentHdr () const
 
void UpdateHeaderPtr ()
 
std::size_t hash (const Agent *agent, const EcmpLoadBalance &ecmp_has_fields_to_use) const
 
PacketBufferpacket_buffer () const
 
PacketBufferPtr packet_buffer_ptr () const
 
void AllocPacketBuffer (Agent *agent, uint32_t module, uint16_t len, uint32_t mdata)
 
void set_len (uint32_t len)
 
void reset_packet_buffer ()
 
uint32_t GetUdpPayloadLength () const
 

Public Attributes

PktHandler::PktModuleName module
 
uint8_t * pkt
 
uint16_t len
 
uint16_t max_pkt_len
 
uint8_t * data
 
InterTaskMsgipc
 
Address::Family family
 
PktType::Type type
 
AgentHdr agent_hdr
 
uint16_t ether_type
 
uint32_t vrf
 
MacAddress smac
 
MacAddress dmac
 
IpAddress ip_saddr
 
IpAddress ip_daddr
 
uint8_t ip_proto
 
uint32_t sport
 
uint32_t dport
 
uint32_t ttl
 
uint16_t icmp_chksum
 
MacAddress b_smac
 
MacAddress b_dmac
 
uint32_t i_sid
 
bool tcp_ack
 
TunnelInfo tunnel
 
bool l3_label
 
bool multicast_label
 
bool is_bfd_keepalive
 
bool is_segment_hc_pkt
 
VmInterface::FatFlowIgnoreAddressType ignore_address
 
bool same_port_number
 
bool is_fat_flow_src_prefix
 
IpAddress ip_ff_src_prefix
 
bool is_fat_flow_dst_prefix
 
IpAddress ip_ff_dst_prefix
 
struct ether_header * eth
 
uint32_t * pbb_header
 
struct ether_arp * arp
 
struct ip * ip
 
struct ip6_hdr * ip6
 
union {
   struct tcphdr *   tcp
 
   struct udphdr *   udp
 
   struct icmp *   icmp
 
   struct icmp6_hdr *   icmp6
 
   struct sctphdr *   sctp
 
   struct igmp *   igmp
 
transp
 

Private Attributes

PacketBufferPtr packet_buffer_
 

Detailed Description

Definition at line 377 of file pkt_handler.h.

Constructor & Destructor Documentation

PktInfo::PktInfo ( Agent agent,
uint32_t  buff_len,
PktHandler::PktModuleName  module,
uint32_t  mdata 
)

Definition at line 1365 of file pkt_handler.cc.

Here is the call graph for this function:

PktInfo::PktInfo ( const PacketBufferPtr buff)

Definition at line 1338 of file pkt_handler.cc.

PktInfo::PktInfo ( const PacketBufferPtr buff,
const AgentHdr hdr 
)

Definition at line 1352 of file pkt_handler.cc.

PktInfo::PktInfo ( PktHandler::PktModuleName  module,
InterTaskMsg msg 
)

Definition at line 1386 of file pkt_handler.cc.

PktInfo::~PktInfo ( )
virtual

Definition at line 1399 of file pkt_handler.cc.

Member Function Documentation

void PktInfo::AllocPacketBuffer ( Agent agent,
uint32_t  module,
uint16_t  len,
uint32_t  mdata 
)

Definition at line 1410 of file pkt_handler.cc.

Here is the call graph for this function:

const AgentHdr & PktInfo::GetAgentHdr ( ) const

Definition at line 1402 of file pkt_handler.cc.

uint32_t PktInfo::GetUdpPayloadLength ( ) const

Definition at line 1499 of file pkt_handler.cc.

std::size_t PktInfo::hash ( const Agent agent,
const EcmpLoadBalance ecmp_has_fields_to_use 
) const

Definition at line 1430 of file pkt_handler.cc.

Here is the call graph for this function:

PacketBuffer* PktInfo::packet_buffer ( ) const
inline

Definition at line 446 of file pkt_handler.h.

PacketBufferPtr PktInfo::packet_buffer_ptr ( ) const
inline

Definition at line 447 of file pkt_handler.h.

void PktInfo::reset_packet_buffer ( )

Definition at line 1406 of file pkt_handler.cc.

void PktInfo::set_len ( uint32_t  len)

Definition at line 1419 of file pkt_handler.cc.

void PktInfo::UpdateHeaderPtr ( )

Definition at line 1424 of file pkt_handler.cc.

Member Data Documentation

AgentHdr PktInfo::agent_hdr

Definition at line 388 of file pkt_handler.h.

struct ether_arp* PktInfo::arp

Definition at line 422 of file pkt_handler.h.

MacAddress PktInfo::b_dmac

Definition at line 403 of file pkt_handler.h.

MacAddress PktInfo::b_smac

Definition at line 402 of file pkt_handler.h.

uint8_t* PktInfo::data

Definition at line 383 of file pkt_handler.h.

MacAddress PktInfo::dmac

Definition at line 393 of file pkt_handler.h.

uint32_t PktInfo::dport

Definition at line 398 of file pkt_handler.h.

struct ether_header* PktInfo::eth

Definition at line 420 of file pkt_handler.h.

uint16_t PktInfo::ether_type

Definition at line 389 of file pkt_handler.h.

Address::Family PktInfo::family

Definition at line 386 of file pkt_handler.h.

uint32_t PktInfo::i_sid

Definition at line 404 of file pkt_handler.h.

struct icmp* PktInfo::icmp

Definition at line 428 of file pkt_handler.h.

struct icmp6_hdr* PktInfo::icmp6

Definition at line 429 of file pkt_handler.h.

uint16_t PktInfo::icmp_chksum

Definition at line 400 of file pkt_handler.h.

struct igmp* PktInfo::igmp

Definition at line 431 of file pkt_handler.h.

VmInterface::FatFlowIgnoreAddressType PktInfo::ignore_address

Definition at line 412 of file pkt_handler.h.

struct ip* PktInfo::ip

Definition at line 423 of file pkt_handler.h.

struct ip6_hdr* PktInfo::ip6

Definition at line 424 of file pkt_handler.h.

IpAddress PktInfo::ip_daddr

Definition at line 395 of file pkt_handler.h.

IpAddress PktInfo::ip_ff_dst_prefix

Definition at line 417 of file pkt_handler.h.

IpAddress PktInfo::ip_ff_src_prefix

Definition at line 415 of file pkt_handler.h.

uint8_t PktInfo::ip_proto

Definition at line 396 of file pkt_handler.h.

IpAddress PktInfo::ip_saddr

Definition at line 394 of file pkt_handler.h.

InterTaskMsg* PktInfo::ipc

Definition at line 384 of file pkt_handler.h.

bool PktInfo::is_bfd_keepalive

Definition at line 410 of file pkt_handler.h.

bool PktInfo::is_fat_flow_dst_prefix

Definition at line 416 of file pkt_handler.h.

bool PktInfo::is_fat_flow_src_prefix

Definition at line 414 of file pkt_handler.h.

bool PktInfo::is_segment_hc_pkt

Definition at line 411 of file pkt_handler.h.

bool PktInfo::l3_label

Definition at line 408 of file pkt_handler.h.

uint16_t PktInfo::len

Definition at line 380 of file pkt_handler.h.

uint16_t PktInfo::max_pkt_len

Definition at line 381 of file pkt_handler.h.

PktHandler::PktModuleName PktInfo::module

Definition at line 378 of file pkt_handler.h.

bool PktInfo::multicast_label

Definition at line 409 of file pkt_handler.h.

PacketBufferPtr PktInfo::packet_buffer_
private

Definition at line 456 of file pkt_handler.h.

uint32_t* PktInfo::pbb_header

Definition at line 421 of file pkt_handler.h.

uint8_t* PktInfo::pkt

Definition at line 379 of file pkt_handler.h.

bool PktInfo::same_port_number

Definition at line 413 of file pkt_handler.h.

struct sctphdr* PktInfo::sctp

Definition at line 430 of file pkt_handler.h.

MacAddress PktInfo::smac

Definition at line 392 of file pkt_handler.h.

uint32_t PktInfo::sport

Definition at line 397 of file pkt_handler.h.

struct tcphdr* PktInfo::tcp

Definition at line 426 of file pkt_handler.h.

bool PktInfo::tcp_ack

Definition at line 406 of file pkt_handler.h.

union { ... } PktInfo::transp
uint32_t PktInfo::ttl

Definition at line 399 of file pkt_handler.h.

TunnelInfo PktInfo::tunnel

Definition at line 407 of file pkt_handler.h.

PktType::Type PktInfo::type

Definition at line 387 of file pkt_handler.h.

struct udphdr* PktInfo::udp

Definition at line 427 of file pkt_handler.h.

uint32_t PktInfo::vrf

Definition at line 391 of file pkt_handler.h.


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