Auf Branch develop

zum Commit vorgemerkte Änderungen:
	geändert:       src/AbstractRouter.h
	neue Datei:     src/ArpToNdpPacketHandler.cpp
	neue Datei:     src/ArpToNdpPacketHandler.h
	neue Datei:     src/INetworkInterfaceCard_t.h
	neue Datei:     src/Ip4Packet_t.h
	geändert:       src/Ip6Packet_t.h
	neue Datei:     src/IpVersionRouter.cpp
	neue Datei:     src/IpVersionRouter.h
This commit is contained in:
stubbfel
2016-12-11 23:02:56 +01:00
parent 6979ae8bb2
commit 7a781d6d46
8 changed files with 200 additions and 2 deletions

35
src/IpVersionRouter.cpp Normal file
View File

@@ -0,0 +1,35 @@
#include "IpVersionRouter.h"
#include <tins/arp.h>
#include <tins/ip.h>
#include <tins/ipv6.h>
#include "INetworkInterfaceCard.h"
IpVersionRouter::IpVersionRouter()
{
}
IpVersionRouter::~IpVersionRouter()
{
}
bool IpVersionRouter::handle(IN const Tins::PDU & pdu, IN IPacketHandler * /* callBackHandler*/)
{
const Tins::IPv6 * ipv6Pdu = pdu.find_pdu<Tins::IPv6>();
if(ipv6Pdu != nullptr)
{
ipv6Card->sendPacket(pdu);
return true;
}
const Tins::IP * ipv4Pdu = pdu.find_pdu<Tins::IP>();
if(ipv4Pdu == nullptr)
{
const Tins::ARP * arpPdu = pdu.find_pdu<Tins::ARP>();
if(arpPdu == nullptr)
{
return false;
}
}
ipv4Card->sendPacket(pdu);
return true;
}