X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FDefaultBundle%2FIPv6Packet.hh;h=2ce41a6101c0407a215d8438077d55d5711a5c69;hb=f7dcc6267c7637efaba2ebe5a20df5f849a68d39;hp=97f79abb2c34609de4e81fc47f56934ff2a4ff9e;hpb=34fd4548b1877daa2a7798c4e2b0e7d2454f3050;p=senf.git diff --git a/Packets/DefaultBundle/IPv6Packet.hh b/Packets/DefaultBundle/IPv6Packet.hh index 97f79ab..2ce41a6 100644 --- a/Packets/DefaultBundle/IPv6Packet.hh +++ b/Packets/DefaultBundle/IPv6Packet.hh @@ -59,6 +59,7 @@ namespace senf { /** \brief Parse an IPv6 packet + \image html IPv6Packet.png \see IPv6PacketType \n RFC 2460 */ @@ -91,14 +92,34 @@ namespace senf { \par Fields: \ref IPv6PacketParser + + + + + + + + + + + + + + + + + + + +
0 4 812 16 2024 2831
\ref IPv6PacketParser::version() "Version"\ref IPv6PacketParser::trafficClass() "Traffic Class"\ref IPv6PacketParser::flowLabel() "Flow Label"
\ref IPv6PacketParser::length() "Payload Length"\ref IPv6PacketParser::nextHeader() "Next Header"\ref IPv6PacketParser::hopLimit() "Hop Limit"
+ \ref IPv6PacketParser::source() "Source Address"
+ \ref IPv6PacketParser::destination() "Destination Address"
+ \par Associated registries: \ref IpTypes \par Finalize action: - Set \a length from payload size\n - Set \a nextHeader from type of next packet if found in \ref IpTypes - - \image html IPv6Packet.png + \copydetails finalize() \ingroup protocolbundle_default */ @@ -108,9 +129,10 @@ namespace senf { { #ifndef DOXYGEN typedef PacketTypeMixin mixin; - typedef ConcretePacket packet; - typedef IPv6PacketParser parser; #endif + typedef ConcretePacket packet; ///< IPv6 packet typedef + typedef IPv6PacketParser parser; ///< typedef to the parser of IPv6 packet + using mixin::nextPacketRange; using mixin::nextPacketType; using mixin::initSize; @@ -119,9 +141,15 @@ namespace senf { static key_t nextPacketKey(packet p) { return p->nextHeader(); } - static void dump(packet p, std::ostream & os); - - static void finalize(packet p); + /** \brief Dump given IPv6Packet in readable form to given output stream */ + static void dump(packet p, std::ostream & os); + + static void finalize(packet p); ///< Finalize packet. + /**< \li set \ref IPv6PacketParser::length() "length" + from payload size + \li set \ref IPv6PacketParser::nextHeader() + "nextHeader" from type of next packet if found + in \ref IpTypes */ }; /** \brief IPv6 packet typedef */