OMNET++ INETMANET

OMNET++ INETMANET is a framework in OMNET++ based on INET.

Link layer protocols in INETMANET:

  • 16e (Wimax).
  • 11 a, 802.11 e, 802.11 g.
  • Rstp.
  • 15.4.

Mobility models in INETMANET:

  • Gauss markov mobility.
  • TraCl mobility.
  • Ns2 mobility.
  • Chiang mobility.
  • Restricted const speed mobility.
  • Restricted linear mobility.

Sample code for INETMANET:

package inet.underTest.linklayer.rstp;
import inet.linklayer.etherswitch.MACRelayUnit;

simple MACRelayUnitSTPNP like MACRelayUnit
{
    parameters:
        string addressTableFile = default("");  // see MACRelayUnit
        int addressTableSize = default(100); // see MACRelayUnit
        double agingTime @unit("s") = default(300s); // see MACRelayUnit
        int numCPUs = default(1);  // number of CPUs
        double processingTime @unit("s") = default(0s);  // processing time of one frame
        int bufferSize @unit("B") = default(1MiB);  // memory
        int highWatermark @unit("B") = default(512KiB);  // buffer usage threshold to send PAUSE frame
        int pauseUnits = default(300);  // time to put in PAUSE frames (in units of 512 bit times)
        
        // RSTP parameters
        string bridgeAddress = default("auto"); // bridge mac address (automatic)
        int priority = default(32768);     // bridge priority (0x8000 default value)
        double helloTime = default(2);     // hello time delay (default 2 sec)
        double maxAge    = default(20);    // max age of a BPDU  (20 sec or hops default for RSTP). BPDU TimeToLive
        double bpduTimeout  = default(6);  // BPDU timeout to considers the root port lost (default 6 sec for RSTP) 
        double forwardDelay = default(14); // time taken to get a port into a forwarding mode (14 sec default)
        double holdTime  = default(1);     // hold time to avoid rate excess limit of BPDUs in a port (1s default)
        double migrateDelay = default(3);  // migration delay for negotiate the port migration 
        double portEdgeDelay = default(3); // delay to set a port in edge status in absence of BPDUs 
                                           // (according 802.1w it must be initally setted to migrateDelay)
		int packetFwdLimit  = default(500);  // maximum number of forwarded packet in a port before to trigger a bpdu transmission
		                                     // if the port forward this number a packets without send a bpdu (2 seconds), it forces
		                                     // a bpdu transmission in order to tie a possible loop                                             
                                           
        double powerOn @unit("s") = default(0s);  // Bridge Power on (become active in the network).
        
        bool showInfo = default(true); // show path cost over each bridge 
        
        @display("i=block/network2");
        
    gates:
        input lowerLayerIn[];    // see MACRelayUnit
        output lowerLayerOut[];  // see MACRelayUnit
}