39     os << 
"Internet protocol Version 6 fragment extension:\n"    42        << 
"0x" << std::hex << unsigned(p->fragmentOffset()) << 
"\n"    43        << 
senf::fieldName(
"more fragments")            << (p->moreFragments()?
"yes":
"no") << 
"\n"    45        << 
"0x" << std::hex << unsigned(p->id()) << 
"\n";
    51         p->nextHeader() << 
key(p.
next());
    54         p->nextHeader() << 59; 
    63     os << 
"Internet protocol Version 6 routing extension:\n"    65        << 
senf::fieldName(
"header length")             << unsigned(p->headerLength()) << 
"\n"    66        << 
senf::fieldName(
"routing type")              << unsigned(p->routingType()) << 
"\n"    67        << 
senf::fieldName(
"segments left")             << unsigned(p->segmentsLeft()) << 
"\n"    68        << 
"  further Hop Addresses:\n";
    69     typedef IPv6RoutingPacket::Parser::hopAddresses_t::container_type addrContainer_t;
    70     addrContainer_t hopAddresses (p->hopAddresses());
    71     if ( p->segmentsLeft() != 0 )
    73             os << 
"    " << *i << 
"\n";
    79         p->nextHeader() << 
key(p.
next());
    82         p->nextHeader() << 59; 
    91     os << 
"Internet protocol Version 6 Hop-By-Hop extension:\n"    93        << 
senf::fieldName(
"header length")             << unsigned(p->headerLength()) <<
" ("<< 
unsigned((1+p->headerLength())*8)<< 
")\n";
    94     os << 
"  OptionTypes:\n";
    95     typedef IPv6HopByHopOptionsPacket::Parser::options_t::container_type optContainer_t;
    96     optContainer_t options (p->options());
   104         p->nextHeader() << 
key(p.
next());
   107         p->nextHeader() << 59; 
   116     os << 
"Internet protocol Version 6 Destination Options extension:\n"   117        << 
senf::fieldName(
"next header")               << unsigned (p->nextHeader()) << 
"\n"   118        << 
senf::fieldName(
"header length")             << unsigned (p->headerLength()) << 
"\n";
   119     os << 
"  OptionTypes:\n";
   120     typedef IPv6DestinationOptionsPacket::Parser::options_t::container_type optContainer_t;
   121     optContainer_t options (p->options());
   129         p->nextHeader() << 
key(p.
next());
   132         p->nextHeader() << 59; 
 static optional_key_t key(Packet const &p)
Find key of packet from registry. 
static void dump(packet p, std::ostream &os)
Dump given IPv6FragmentPacket in readable form to given output stream. 
static void finalize(packet p)
std::string fieldName(std::string const &s)
static void finalize(packet p)
SENF_PACKET_INSTANTIATE_TEMPLATE(senf::IPv6FragmentPacket)
raw_container::const_iterator const_iterator
Protocol specific packet handle. 
Invalid packet chain operation. 
Packet next() const
Get next packet in chain. 
raw_container::iterator iterator
static void dump(packet p, std::ostream &os)
Dump given IPv6RoutingPacket in readable form to given output stream. 
static const IPTypes::key_t ipType
static void finalize(packet p)
static const IPTypes::key_t ipType
static void finalize(packet p)
SENF_PACKET_REGISTRY_REGISTER(senf::IPTypes, senf::IPv6FragmentPacketType::ipType, senf::IPv6FragmentPacket)
static void dump(packet p, std::ostream &os)
Dump given IPv6DestinationOptionsPacket in readable form to given output stream. 
static const IPTypes::key_t ipType
static void dump(packet p, std::ostream &os)
Dump given IPv6HopByHopOptionsPacket in readable form to given output stream. 
IPv6Extensions public header. 
static const IPTypes::key_t ipType
IP protocol number registry.