DscpMarker

Package: inet.networklayer.diffserv

DscpMarker

simple module

C++ definition

Sets the DSCP field (lower six bit of Tos/TrafficClass) of IP datagrams to the value specified by the dscps parameter.

The dscps parameter is a space-separated list of DSCP values. Packets arriving at gate in[i] are marked with the ith value. If there are fewer DSCP values given than input gates, then the last one is repeated.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Used in compound modules

Name Type Description
DiffservTrafficConditioner compound module

TODO documentation

TC1 compound module

Traffic conditioner used in Experiments 1.1-1.6 and 5.1.

TC2 compound module

Traffic conditioner used in Experiment 3.1.

TrafficConditioner compound module

TODO documentation

Extends

Name Type Description
PacketProcessorBase simple module

Base module for various packet processing modules which maintains a few statistics.

Parameters

Name Type Default value Description
displayStringTextFormat string "processed %p pk (%l)"

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

dscps string

A space-separated list of DSCP values; both names (e.g., AF11, EF) and numbers (0x0A, 0b101110) can be used

Properties

Name Value Description
class DscpMarker
display i=block/star

Gates

Name Direction Size Description
in [ ] input
out output

Signals

Name Type Unit Description
packetMarked cPacket

Statistics

Name Title Source Record Unit Interpolation Mode Description
packetMarked packets marked packetMarked count, sum(packetBytes), vector(packetBytes) none

Source code

//
// Sets the DSCP field (lower six bit of Tos/TrafficClass) of IP datagrams
// to the value specified by the `dscps` parameter.
//
// The `dscps` parameter is a space-separated list of DSCP values.
// Packets arriving at gate `in[i]` are marked with the ith value. If there are fewer
// DSCP values given than input gates, then the last one is repeated.
//
simple DscpMarker extends PacketProcessorBase
{
    parameters:
        string dscps; // A space-separated list of DSCP values; both names (e.g., AF11, EF) and numbers (0x0A, 0b101110) can be used
        @class(DscpMarker);
        @display("i=block/star");
        @signal[packetMarked](type=cPacket);
        @statistic[packetMarked](title="packets marked"; source=packetMarked; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none);
    gates:
        input in[];
        output out;
}

File: src/inet/networklayer/diffserv/DscpMarker.ned