<< "0x" << std::hex << unsigned(p->id()) << "\n";
}
+prefix_ void senf::IPv6FragmentPacketType::finalize(packet p)
+{
+ try {
+ p->nextHeader() << key(p.next());
+ }
+ catch (InvalidPacketChainException & ex) {
+ p->nextHeader() << 59; // No next header
+ }
+}
+
prefix_ void senf::IPv6RoutingPacketType::dump(packet p, std::ostream & os)
{
os << "Internet protocol Version 6 routing extension:\n"
os << " " << *i << "\n";
}
+prefix_ void senf::IPv6RoutingPacketType::finalize(packet p)
+{
+ try {
+ p->nextHeader() << key(p.next());
+ }
+ catch (InvalidPacketChainException & ex) {
+ p->nextHeader() << 59; // No next header
+ }
+}
+
prefix_ void senf::IPv6HopByHopOptionsPacketType::dump(packet p, std::ostream & os)
{
os << "Internet protocol Version 6 Hop-By-Hop extension:\n"
i->dump( os);
}
+prefix_ void senf::IPv6HopByHopOptionsPacketType::finalize(packet p)
+{
+ try {
+ p->nextHeader() << key(p.next());
+ }
+ catch (InvalidPacketChainException & ex) {
+ p->nextHeader() << 59; // No next header
+ }
+}
+
prefix_ void senf::IPv6DestinationOptionsPacketType::dump(packet p, std::ostream & os)
{
os << "Internet protocol Version 6 Destination Options extension:\n"
/** \brief Dump given IPv6FragmentPacket in readable form to given output stream */
static void dump(packet p, std::ostream & os);
- static void finalize(packet p) {
- p->nextHeader() << key(p.next(nothrow)); }
+ static void finalize(packet p);
};
/** \brief IPv6 fragment extension packet typedef
static key_t nextPacketKey(packet p)
{ return p->nextHeader(); }
+
/** \brief Dump given IPv6RoutingPacket in readable form to given output stream */
static void dump(packet p, std::ostream & os);
- static void finalize(packet p) {
- p->nextHeader() << key(p.next(nothrow)); }
+ static void finalize(packet p);
};
/** \brief IPv6 routing extension packet typedef
using mixin::init;
using mixin::initSize;
- static key_t nextPacketKey(packet p)
- { return p->nextHeader(); }
+ static key_t nextPacketKey(packet p) {
+ return p->nextHeader(); }
/** \brief Dump given IPv6HopByHopOptionsPacket in readable form to given output stream */
static void dump(packet p, std::ostream & os);
- static void finalize(packet p) {
- p->nextHeader() << key(p.next(nothrow)); }
+ static void finalize(packet p);
};
/** \brief IPv6 routing Hop-By-Hop packet typedef