123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246 |
- %description: Tests for DSCPMarker
- %file: TestApp.ned
- simple TestApp
- {
- gates:
- input in;
- output out[];
- }
- %file: TestApp.cc
- #include <fstream>
- #include "inet/common/INETDefs.h"
- #include "inet/networklayer/ipv4/IPv4Datagram.h"
- #include "inet/networklayer/ipv6/IPv6Datagram.h"
- namespace diffserv_dscpmarker_1
- {
- using namespace inet;
- class INET_API TestApp : public cSimpleModule
- {
- std::ofstream out;
- protected:
- void initialize();
- void finalize();
- void handleMessage(cMessage *msg);
- };
- Define_Module(TestApp);
- void TestApp::initialize()
- {
- out.open("result.txt");
- if (out.fail())
- throw cRuntimeError("Can not open output file.");
- char buf[30];
- // send 64 IPv4 datagram
- for (int i = 0; i < 64; i++)
- {
- sprintf(buf, "ipv4-%d", i);
- IPv4Datagram *datagram = new IPv4Datagram(buf);
- send(datagram, "out", i);
- }
- // send 64 IPv6 datagram
- for (int i = 0; i < 64; i++)
- {
- sprintf(buf, "ipv6-%d", i);
- IPv6Datagram *datagram = new IPv6Datagram(buf);
- send(datagram, "out", i);
- }
- }
- void TestApp::finalize()
- {
- out.close();
- }
- void TestApp::handleMessage(cMessage *msg)
- {
- if (dynamic_cast<IPv4Datagram*>(msg))
- {
- IPv4Datagram *datagram = (IPv4Datagram*)msg;
- out << datagram->getName() << ": " << datagram->getDiffServCodePoint() << "\n";
- }
- else if (dynamic_cast<IPv6Datagram*>(msg))
- {
- IPv6Datagram *datagram = (IPv6Datagram*)msg;
- out << datagram->getName() << ": " << datagram->getDiffServCodePoint() << "\n";
- }
- delete msg;
- }
- }
- %file: TestNetwork.ned
- import inet.networklayer.diffserv.DSCPMarker;
- network TestNetwork
- {
- submodules:
- app: TestApp;
- marker: DSCPMarker { dscps = "*"; }
- connections:
- for i=0..63 {
- app.out++ --> marker.in++;
- }
- marker.out --> app.in;
- }
- %inifile: omnetpp.ini
- ned-path = .;../../../../src;../../lib
- sim-time-limit=100s
- cmdenv-express-mode = true
- network = TestNetwork
- #omnetpp 5.0 - 5.1 compatibility:
- eventlog-file = "${resultdir}/${configname}-${runnumber}.elog"
- output-scalar-file = "${resultdir}/${configname}-${runnumber}.sca"
- output-vector-file = "${resultdir}/${configname}-${runnumber}.vec"
- snapshot-file = "${resultdir}/${configname}-${runnumber}.sna"
- %contains: result.txt
- ipv4-1: 1
- ipv4-2: 2
- ipv4-3: 3
- ipv4-4: 4
- ipv4-5: 5
- ipv4-6: 6
- ipv4-7: 7
- ipv4-8: 8
- ipv4-9: 9
- ipv4-10: 10
- ipv4-11: 11
- ipv4-12: 12
- ipv4-13: 13
- ipv4-14: 14
- ipv4-15: 15
- ipv4-16: 16
- ipv4-17: 17
- ipv4-18: 18
- ipv4-19: 19
- ipv4-20: 20
- ipv4-21: 21
- ipv4-22: 22
- ipv4-23: 23
- ipv4-24: 24
- ipv4-25: 25
- ipv4-26: 26
- ipv4-27: 27
- ipv4-28: 28
- ipv4-29: 29
- ipv4-30: 30
- ipv4-31: 31
- ipv4-32: 32
- ipv4-33: 33
- ipv4-34: 34
- ipv4-35: 35
- ipv4-36: 36
- ipv4-37: 37
- ipv4-38: 38
- ipv4-39: 39
- ipv4-40: 40
- ipv4-41: 41
- ipv4-42: 42
- ipv4-43: 43
- ipv4-44: 44
- ipv4-45: 45
- ipv4-46: 46
- ipv4-47: 47
- ipv4-48: 48
- ipv4-49: 49
- ipv4-50: 50
- ipv4-51: 51
- ipv4-52: 52
- ipv4-53: 53
- ipv4-54: 54
- ipv4-55: 55
- ipv4-56: 56
- ipv4-57: 57
- ipv4-58: 58
- ipv4-59: 59
- ipv4-60: 60
- ipv4-61: 61
- ipv4-62: 62
- ipv4-63: 63
- ipv6-0: 0
- ipv6-1: 1
- ipv6-2: 2
- ipv6-3: 3
- ipv6-4: 4
- ipv6-5: 5
- ipv6-6: 6
- ipv6-7: 7
- ipv6-8: 8
- ipv6-9: 9
- ipv6-10: 10
- ipv6-11: 11
- ipv6-12: 12
- ipv6-13: 13
- ipv6-14: 14
- ipv6-15: 15
- ipv6-16: 16
- ipv6-17: 17
- ipv6-18: 18
- ipv6-19: 19
- ipv6-20: 20
- ipv6-21: 21
- ipv6-22: 22
- ipv6-23: 23
- ipv6-24: 24
- ipv6-25: 25
- ipv6-26: 26
- ipv6-27: 27
- ipv6-28: 28
- ipv6-29: 29
- ipv6-30: 30
- ipv6-31: 31
- ipv6-32: 32
- ipv6-33: 33
- ipv6-34: 34
- ipv6-35: 35
- ipv6-36: 36
- ipv6-37: 37
- ipv6-38: 38
- ipv6-39: 39
- ipv6-40: 40
- ipv6-41: 41
- ipv6-42: 42
- ipv6-43: 43
- ipv6-44: 44
- ipv6-45: 45
- ipv6-46: 46
- ipv6-47: 47
- ipv6-48: 48
- ipv6-49: 49
- ipv6-50: 50
- ipv6-51: 51
- ipv6-52: 52
- ipv6-53: 53
- ipv6-54: 54
- ipv6-55: 55
- ipv6-56: 56
- ipv6-57: 57
- ipv6-58: 58
- ipv6-59: 59
- ipv6-60: 60
- ipv6-61: 61
- ipv6-62: 62
- ipv6-63: 63
- %#--------------------------------------------------------------------------------------------------------------
- %not-contains: stdout
- undisposed object:
- %not-contains: stdout
- -- check module destructor
- %#--------------------------------------------------------------------------------------------------------------
|