Skip to content
Snippets Groups Projects
Commit 089da5d2 authored by jkaeber's avatar jkaeber
Browse files

First GRE pipe is running.

parent 431da948
No related branches found
No related tags found
No related merge requests found
...@@ -27,27 +27,24 @@ ...@@ -27,27 +27,24 @@
//#include "GREPacket.ih" //#include "GREPacket.ih"
// Custom includes // Custom includes
#include <boost/io/ios_state.hpp>
#include <iomanip> #include <iomanip>
#define prefix_ #define prefix_
///////////////////////////////cc.p//////////////////////////////////////// ///////////////////////////////cc.p////////////////////////////////////////
namespace {
senf::PacketRegistry<senf::EtherTypes>::RegistrationProxy<senf::EthernetPacket>
registerTransparentEthernetBridging (0x6558);
}
prefix_ void senf::GREPacketType::dump(packet p, std::ostream & os) prefix_ void senf::GREPacketType::dump(packet p, std::ostream & os)
{ {
/* boost::io::ios_all_saver ias(os);
os << "GREPacket:\n" os << "GRE Encapsulation:\n"
<< std::hex << " checksum_present : " << p->checksum_present() << "\n"
<< " syncByte: 0x" << unsigned(p->sync_byte()) << "\n" << " protocol_type : 0x" << std::hex << p->protocol_type() << "\n"
<< " transport_error_indicator: 0x" << unsigned(p->transport_error_indicator()) << "\n" ;
<< " payload_unit_start_indicator (pusi): 0x" << unsigned(p->pusi()) << "\n"
<< " transport_priority: 0x" << unsigned(p->transport_priority()) << "\n"
<< std::dec
<< " pid: " << unsigned(p->pid()) << "\n"
<< std::hex
<< " transport_scrambling_control: 0x" << unsigned(p->transport_scrmbl_ctrl()) << "\n"
<< " adaptation_field_control: 0x" << unsigned(p->adaptation_field_ctrl()) << "\n"
<< " continuity_counter: 0x" << unsigned(p->continuity_counter()) << "\n";
*/
} }
///////////////////////////////cc.e//////////////////////////////////////// ///////////////////////////////cc.e////////////////////////////////////////
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
// Custom includes // Custom includes
#include <algorithm> #include <algorithm>
#include "../../Packets/Packets.hh" #include "../../Packets/Packets.hh"
#include "../DefaultBundle/EthernetPacket.hh"
//#include "GREPacket.mpp" //#include "GREPacket.mpp"
///////////////////////////////hh.p//////////////////////////////////////// ///////////////////////////////hh.p////////////////////////////////////////
...@@ -78,17 +79,20 @@ namespace senf { ...@@ -78,17 +79,20 @@ namespace senf {
*/ */
struct GREPacketType struct GREPacketType
: public PacketTypeBase, : public PacketTypeBase,
public PacketTypeMixin<GREPacketType> public PacketTypeMixin<GREPacketType, EtherTypes>
{ {
typedef PacketTypeMixin<GREPacketType> mixin; typedef PacketTypeMixin<GREPacketType, EtherTypes> mixin;
typedef ConcretePacket<GREPacketType> packet; typedef ConcretePacket<GREPacketType> packet;
typedef Parse_GREPacket parser; typedef Parse_GREPacket parser;
using mixin::nextPacketRange; using mixin::nextPacketRange;
using mixin::nextPacketType;
using mixin::init; using mixin::init;
using mixin::initSize; using mixin::initSize;
static void dump(packet p, std::ostream & os); static void dump(packet p, std::ostream & os);
static EtherTypes::key_t nextPacketKey(packet p) { return p->protocol_type(); }
static void finalize(packet p) { p->protocol_type() << key(p.next()); }
}; };
/** \brief GRE packet typedef */ /** \brief GRE packet typedef */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment