X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FDefaultBundle%2FEthernetPacket.test.cc;h=397f6f5f1ad9942231aeb5a6ff82e11108306cf0;hb=a18d131c38ffe7178ea4736ed3f584125e9903ae;hp=48f5500ff7099d31116a558c6a7f773b63c67aaa;hpb=2d6585ff852e9d282c17003ba1db0b73eb3a8500;p=senf.git diff --git a/Packets/DefaultBundle/EthernetPacket.test.cc b/Packets/DefaultBundle/EthernetPacket.test.cc index 48f5500..397f6f5 100644 --- a/Packets/DefaultBundle/EthernetPacket.test.cc +++ b/Packets/DefaultBundle/EthernetPacket.test.cc @@ -27,6 +27,7 @@ // Custom includes #include "EthernetPacket.hh" +#include "IpV4Packet.hh" #include #include @@ -68,6 +69,26 @@ BOOST_AUTO_UNIT_TEST(ethernetPacket_chain) BOOST_CHECK_EQUAL( *v.next().data().begin(), 0xf0 ); } +BOOST_AUTO_UNIT_TEST(ethernetPacket_create) +{ + senf::EthernetPacket eth (senf::EthernetPacket::create()); + eth->source() = senf::MACAddress::from_string("01:02:03:04:05:06"); + eth->destination() = senf::MACAddress::from_string("07:08:09:0a:0b:0c"); + + senf::EthVLanPacket vlan (senf::EthVLanPacket::createAfter(eth)); + vlan->priority() = 9u; + vlan->cfi() = true; + vlan->vlanId() = 0x234u; + + eth.finalize(); + BOOST_CHECK_EQUAL(eth->type(), 0x8100u); + BOOST_CHECK_EQUAL(vlan->type(), 0u); + + senf::IpV4Packet ip (senf::IpV4Packet::createAfter(vlan)); + eth.finalize(); + BOOST_CHECK_EQUAL(vlan->type(), 0x0800u); +} + ///////////////////////////////cc.e//////////////////////////////////////// #undef prefix_