INET Framework for OMNeT++/OMNEST
inet::Ipv6ExtensionHeader Class Reference

Class generated from inet/networklayer/ipv6/Ipv6Header.msg:32 by opp_msgtool. More...

#include <Ipv6Header_m.h>

Inheritance diagram for inet::Ipv6ExtensionHeader:
inet::Ipv6AuthenticationHeader inet::Ipv6DestinationOptionsHeader inet::Ipv6EncapsulatingSecurityPayloadHeader inet::Ipv6FragmentHeader inet::Ipv6HopByHopOptionsHeader inet::Ipv6RoutingHeader inet::HomeAddressOption

Public Member Functions

 Ipv6ExtensionHeader ()
 
 Ipv6ExtensionHeader (const Ipv6ExtensionHeader &other)
 
virtual ~Ipv6ExtensionHeader ()
 
Ipv6ExtensionHeaderoperator= (const Ipv6ExtensionHeader &other)
 
virtual Ipv6ExtensionHeaderdup () const override
 
virtual void parsimPack (omnetpp::cCommBuffer *b) const override
 
virtual void parsimUnpack (omnetpp::cCommBuffer *b) override
 
virtual uint8_t getExtensionType () const
 
virtual void setExtensionType (uint8_t extensionType)
 
virtual B getByteLength () const
 
virtual void setByteLength (B byteLength)
 
int getOrder () const
 

Protected Member Functions

bool operator== (const Ipv6ExtensionHeader &)=delete
 

Protected Attributes

uint8_t extensionType = 0
 
B byteLength = B(0)
 

Private Member Functions

void copy (const Ipv6ExtensionHeader &other)
 

Detailed Description

Class generated from inet/networklayer/ipv6/Ipv6Header.msg:32 by opp_msgtool.

//
// This serves as the base class for all the Ipv6 extension headers.
//
class Ipv6ExtensionHeader extends cObject
{
    @packetData;
    uint8_t extensionType;
    B byteLength = B(0);   // byteLength = n * 8;
}

Constructor & Destructor Documentation

◆ Ipv6ExtensionHeader() [1/2]

inet::Ipv6ExtensionHeader::Ipv6ExtensionHeader ( )

◆ Ipv6ExtensionHeader() [2/2]

inet::Ipv6ExtensionHeader::Ipv6ExtensionHeader ( const Ipv6ExtensionHeader other)

◆ ~Ipv6ExtensionHeader()

virtual inet::Ipv6ExtensionHeader::~Ipv6ExtensionHeader ( )
virtual

Member Function Documentation

◆ copy()

void inet::Ipv6ExtensionHeader::copy ( const Ipv6ExtensionHeader other)
private

◆ dup()

◆ getByteLength()

virtual B inet::Ipv6ExtensionHeader::getByteLength ( ) const
virtual

◆ getExtensionType()

virtual uint8_t inet::Ipv6ExtensionHeader::getExtensionType ( ) const
virtual

◆ getOrder()

int inet::Ipv6ExtensionHeader::getOrder ( ) const
65 {
66  switch (extensionType) {
68  return 0;
69 
71  return 1;
72 
74  return 2;
75 
77  return 3;
78 
80  return 4;
81 
83  return 5;
84 
85  // second IP_PROT_IPv6EXT_DEST has order 6
86 
88  return 7;
89 
90  default:
91  return -1;
92  }
93 }

Referenced by inet::Ipv6Header::addExtensionHeader().

◆ operator=()

Ipv6ExtensionHeader& inet::Ipv6ExtensionHeader::operator= ( const Ipv6ExtensionHeader other)

◆ operator==()

bool inet::Ipv6ExtensionHeader::operator== ( const Ipv6ExtensionHeader )
protecteddelete

◆ parsimPack()

virtual void inet::Ipv6ExtensionHeader::parsimPack ( omnetpp::cCommBuffer *  b) const
overridevirtual

◆ parsimUnpack()

◆ setByteLength()

virtual void inet::Ipv6ExtensionHeader::setByteLength ( B  byteLength)
virtual

◆ setExtensionType()

virtual void inet::Ipv6ExtensionHeader::setExtensionType ( uint8_t  extensionType)
virtual

Member Data Documentation

◆ byteLength

B inet::Ipv6ExtensionHeader::byteLength = B(0)
protected

◆ extensionType

uint8_t inet::Ipv6ExtensionHeader::extensionType = 0
protected

Referenced by getOrder().


The documentation for this class was generated from the following files:
inet::IP_PROT_IPv6EXT_HOP
@ IP_PROT_IPv6EXT_HOP
Definition: IpProtocolId_m.h:111
inet::IP_PROT_IPv6EXT_AUTH
@ IP_PROT_IPv6EXT_AUTH
Definition: IpProtocolId_m.h:115
inet::IP_PROT_IPv6EXT_ESP
@ IP_PROT_IPv6EXT_ESP
Definition: IpProtocolId_m.h:116
inet::IP_PROT_IPv6EXT_DEST
@ IP_PROT_IPv6EXT_DEST
Definition: IpProtocolId_m.h:112
inet::Ipv6ExtensionHeader::Ipv6ExtensionHeader
Ipv6ExtensionHeader()
inet::IP_PROT_IPv6EXT_FRAGMENT
@ IP_PROT_IPv6EXT_FRAGMENT
Definition: IpProtocolId_m.h:114
inet::IP_PROT_IPv6EXT_ROUTING
@ IP_PROT_IPv6EXT_ROUTING
Definition: IpProtocolId_m.h:113
inet::Ipv6ExtensionHeader::extensionType
uint8_t extensionType
Definition: Ipv6Header_m.h:77
inet::IP_PROT_IPv6EXT_MOB
@ IP_PROT_IPv6EXT_MOB
Definition: IpProtocolId_m.h:117