X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FDefaultBundle%2FIPv4Packet.cc;h=d9aa5635c71bde4f7ad563e6b18287ef2f6db15f;hb=9ab6056a616342015eb35d6730d61c45412eec46;hp=131649cbf1d539f6bdfe5ef0a7a1f3b02f66df0c;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Packets/DefaultBundle/IPv4Packet.cc b/senf/Packets/DefaultBundle/IPv4Packet.cc index 131649c..d9aa563 100644 --- a/senf/Packets/DefaultBundle/IPv4Packet.cc +++ b/senf/Packets/DefaultBundle/IPv4Packet.cc @@ -28,25 +28,19 @@ // Custom includes #include -#include -#include -#include #include -#include "../../Utils/IpChecksum.hh" +#include #include "EthernetPacket.hh" #define prefix_ -///////////////////////////////cc.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// namespace { - senf::PacketRegistry::RegistrationProxy - registerIPv4Packet (0x0800); - - senf::PacketRegistry::RegistrationProxy - regsiterIPv4Packet2 (4); // IP-in-IP encapsulation + SENF_PACKET_REGISTRY_REGISTER( senf::EtherTypes, 0x0800, senf::IPv4Packet); + SENF_PACKET_REGISTRY_REGISTER( senf::IpTypes, 4, senf::IPv4Packet); // IP-in-IP encapsulation } -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::IPv4PacketParser prefix_ boost::uint16_t senf::IPv4PacketParser::calcChecksum() @@ -59,27 +53,27 @@ prefix_ boost::uint16_t senf::IPv4PacketParser::calcChecksum() return summer.sum(); } -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::IPv4PacketType prefix_ void senf::IPv4PacketType::dump(packet p, std::ostream & os) { boost::io::ios_all_saver ias(os); - os << "Internet protocol Version 4:\n" - << " version : " << p->version() << "\n" - << " ip header length : " << p->ihl() << "\n" - << " tos : " << unsigned(p->tos()) << "\n" - << " length : " << p->length() << "\n" - << " identifier : " << p->identifier() << "\n" - << " dont fragment : " << p->df() << "\n" - << " more fragments : " << p->mf() << "\n" - << " fragment : " << p->frag() << "\n" - << " ttl : " << unsigned(p->ttl()) << "\n" - << " protocol : " << unsigned(p->protocol()) << "\n" - << " checksum : 0x" - << std::hex << std::setw(4) << std::setfill('0') << p->checksum() << std::dec << "\n" - << " source : " << p->source() << "\n" - << " destination : " << p->destination() << "\n"; + os << "Internet protocol Version 4:\n" + << senf::fieldName("version") << p->version() << "\n" + << senf::fieldName("ip header length") << p->ihl() << "\n" + << senf::fieldName("tos") << unsigned(p->tos()) << "\n" + << senf::fieldName("length") << p->length() << "\n" + << senf::fieldName("identifier") << p->identifier() << "\n" + << senf::fieldName("dont fragment") << p->df() << "\n" + << senf::fieldName("more fragments") << p->mf() << "\n" + << senf::fieldName("fragment") << p->frag() << "\n" + << senf::fieldName("ttl") << unsigned(p->ttl()) << "\n" + << senf::fieldName("protocol") << unsigned(p->protocol()) << "\n" + << senf::fieldName("checksum") + << "0x" << std::hex << std::setw(4) << std::setfill('0') << std::right << p->checksum() << std::dec << "\n" + << senf::fieldName("source") << p->source() << "\n" + << senf::fieldName("destination") << p->destination() << "\n"; } prefix_ void senf::IPv4PacketType::finalize(packet p) @@ -89,7 +83,7 @@ prefix_ void senf::IPv4PacketType::finalize(packet p) p->checksum() << p->calcChecksum(); } -///////////////////////////////cc.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_