X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FNetdeviceController.test.cc;h=784ea5cadce7fdab41c31feb1dad947e8e5ec1a1;hb=3cb0a2ff50b8f1111da34b696e64fb1b037cd683;hp=825afeb6b9877a98a7fc5c9f5c2cf855fcdadbd9;hpb=6d527cd9cf4d928926e5bf164ea470eb419fcbf8;p=senf.git diff --git a/Socket/NetdeviceController.test.cc b/Socket/NetdeviceController.test.cc index 825afeb..784ea5c 100644 --- a/Socket/NetdeviceController.test.cc +++ b/Socket/NetdeviceController.test.cc @@ -1,9 +1,9 @@ // $Id$ // // Copyright (C) 2007 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) -// Thorsten Horstmann +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY +// Thorsten Horstmann // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -27,6 +27,7 @@ // Custom includes #include "NetdeviceController.hh" +#include "Protocols/Raw/MACAddress.hh" #include "../Utils/auto_unit_test.hh" #include @@ -34,10 +35,30 @@ #define prefix_ ///////////////////////////////cc.p//////////////////////////////////////// -BOOST_AUTO_UNIT_TEST(NetdeviceController) -{ -// senf::NetdeviceController ctrl ("eth0"); -// std::cout << ctrl.hardwareAddress() << "\n"; +BOOST_AUTO_UNIT_TEST(NetdeviceController) { + + senf::NetdeviceController ctrl ("lo"); + std::cout << "name: " << ctrl.interfaceName() << "\n"; + + senf::MACAddress oldAddr(ctrl.hardwareAddress()); + int oldMTU = ctrl.mtu(); + + std::cout << "hw addr: " << oldAddr << "\n"; + std::cout << "mtu: " << oldMTU << "\n"; + + if (getuid() != 0) { + BOOST_WARN_MESSAGE(false, "Cannot run some tests of senf::NetdeviceController as non-root user"); + return; + } + + ctrl.mtu(oldMTU - 16); + std::cout << "new mtu: " << ctrl.mtu() << "\n"; + ctrl.mtu(oldMTU); + + senf::MACAddress newAddr(senf::MACAddress::from_string("00:18:de:2e:ec:00")); + ctrl.hardwareAddress(newAddr); + std::cout << "new hw addr: " << ctrl.hardwareAddress() << "\n"; + ctrl.hardwareAddress(oldAddr); } ///////////////////////////////cc.e////////////////////////////////////////