DscpMarker

Package: inet.networklayer.diffserv

simple module DscpMarker

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.

inet.networklayer.diffserv.DscpMarkerDscpMarkersimple

Inheritance diagram

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

“{markerStatus}”

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);
        displayStringTextFormat = default("{markerStatus}");
        @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