X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FDefaultBundle%2FIPv6Extensions.hh;h=34f2e839d693efb2de68b931e6e901e114018379;hb=4a99bad0289a65567e85cb51bd357a34562b2c04;hp=7d1aab69ec6ee18cf1f4378ecfe65436ccf3b025;hpb=328a72eb2f360d08f2d618ef6aae2ac6b42d76ab;p=senf.git diff --git a/senf/Packets/DefaultBundle/IPv6Extensions.hh b/senf/Packets/DefaultBundle/IPv6Extensions.hh index 7d1aab6..34f2e83 100644 --- a/senf/Packets/DefaultBundle/IPv6Extensions.hh +++ b/senf/Packets/DefaultBundle/IPv6Extensions.hh @@ -28,9 +28,7 @@ #define HH_SENF_Packets_DefaultBundle_IPv6Extensions_ 1 // Custom includes -#include -#include -#include +#include "IPv6ExtOptions.hh" #include "ListOptionTypeParser.hh" #include "IPv6Packet.hh" @@ -42,7 +40,7 @@ namespace senf { /** \brief Parse in IPv6 fragment extension header Parser implementing the IPv6 fragment extension. The fields implemented are: - \image html IPv6Extensions_Fragment.png + \image html IPv6FragmentPacket.png \see IPv6ExtensionType_Fragment \n RFC 2460 @@ -104,7 +102,9 @@ namespace senf { p->nextHeader() << key(p.next(nothrow)); } }; - /** \brief IPv6 fragment extension packet typedef */ + /** \brief IPv6 fragment extension packet typedef + \ingroup protocolbundle_default + */ typedef ConcretePacket IPv6FragmentPacket; // ===================================================================================================== @@ -113,12 +113,12 @@ namespace senf { Parser implementing the IPv6 routing Header extension (type 0 only). The fields implemented are: - \image html IPv6Extensions_Routing.png + \image html IPv6RoutingPacket.png \see IPv6ExtensionType_Routing \n RFC 2460 */ - struct IPv6PRoutingPacketParser : public PacketParserBase + struct IPv6RoutingPacketParser : public PacketParserBase { /* The Type 0 Routing header has the following format: (RFC 2460) @@ -158,7 +158,7 @@ namespace senf { SENF_PARSER_FIELD ( reserved, UInt32Parser ); //set to zero by RFC SENF_PARSER_VECTOR ( hopAddresses, segmentsLeft, INet6AddressParser ); - SENF_PARSER_FINALIZE ( IPv6PRoutingPacketParser ); + SENF_PARSER_FINALIZE ( IPv6RoutingPacketParser ); //provisionary, since only type 0 is implemented SENF_PARSER_INIT() { @@ -173,7 +173,7 @@ namespace senf { \ref IPv6RoutingPacket \par Fields: - \ref IPv6PRoutingPacketParser + \ref IPv6RoutingPacketParser \par Associated registries: \ref IpTypes @@ -193,7 +193,7 @@ namespace senf { /** \brief IPv6 routing extension packet typedef */ typedef ConcretePacket packet; /** \brief typedef to the parser of IPv6 routing extension packet */ - typedef IPv6PRoutingPacketParser parser; + typedef IPv6RoutingPacketParser parser; using mixin::nextPacketRange; using mixin::nextPacketType; @@ -209,7 +209,9 @@ namespace senf { p->nextHeader() << key(p.next(nothrow)); } }; - /** \brief IPv6 routing extension packet typedef */ + /** \brief IPv6 routing extension packet typedef + \ingroup protocolbundle_default + */ typedef ConcretePacket IPv6RoutingPacket; @@ -218,20 +220,21 @@ namespace senf { /** \brief Parse in IPv6 Hop-By-Hop extension header Parser implementing the IPv6 routing Header extension. The fields implemented are: - \image html IPv6Extensions_HopByHop.png + \image html IPv6HopByHopOptionsPacket.png \see IPv6ExtensionType_HopByHop \n RFC 2460 */ - struct IPv6HopByHopOptionsPacketParser : public PacketParserBase { + struct IPv6HopByHopOptionsPacketParser : public PacketParserBase + { # include SENF_PARSER() - SENF_PARSER_FIELD ( nextHeader, UInt8Parser ); - SENF_PARSER_FIELD ( headerLength, UInt8Parser ); + SENF_PARSER_FIELD ( nextHeader, UInt8Parser ); + SENF_PARSER_FIELD_RO ( headerLength, UInt8Parser ); typedef detail::FixedAuxParserPolicy ListOptionTypeAuxPolicy; typedef detail::ListOptionTypeParser_Policy< - IPv6GenericOptionTLVParser, ListOptionTypeAuxPolicy> ListOptionTypePolicy; + IPv6GenericOptionParser, ListOptionTypeAuxPolicy> ListOptionTypePolicy; typedef ListParser ListOptionTypeParser; SENF_PARSER_FIELD ( options, ListOptionTypeParser); @@ -282,7 +285,9 @@ namespace senf { p->nextHeader() << key(p.next(nothrow)); } }; - /** \brief IPv6 routing Hop-By-Hop packet typedef */ + /** \brief IPv6 routing Hop-By-Hop packet typedef + \ingroup protocolbundle_default + */ typedef ConcretePacket IPv6HopByHopOptionsPacket; // ===================================================================================================== @@ -291,7 +296,7 @@ namespace senf { Parser implementing the IPv6 Destination Options Header extension. The fields implemented are: - \image html IPv6Extensions_Destination.png + \image html IPv6DestinationOptionsPacket.png \see IPv6ExtensionType_Destination \n RFC 2460 @@ -347,7 +352,9 @@ namespace senf { p->nextHeader() << key(p.next(nothrow)); } }; - /** \brief IPv6 routing Destination Options packet typedef */ + /** \brief IPv6 routing Destination Options packet typedef + \ingroup protocolbundle_default + */ typedef ConcretePacket IPv6DestinationOptionsPacket; }