Ieee8021qSocketPacketProcessor

Package: inet.linklayer.ieee8021q

simple module Ieee8021qSocketPacketProcessor

Processes packets related to IEEE 802.1Q VLAN sockets. Delivers packets to registered sockets based on protocol and VLAN ID matching. Duplicates packets for delivery to interested sockets and supports “stealing” packets to prevent them from being forwarded. Enables applications to communicate directly with specific VLANs and implements protocol handlers for VLAN-specific traffic. Works in conjunction with Ieee8021qSocketTable to provide a socket-based API for VLAN communication.

See also: Ieee8021qSocketCommandProcessor

inet.linklayer.ieee8021q.Ieee8021qSocketPacketProcessorIeee8021qSocketPacketProcessorsimple

Usage diagram

Inheritance diagram

Used in compound modules

Name

Type

Description

Ieee8021qProtocol

compound module

Implements the IEEE 802.1Q protocol encapsulation/decapsulation. It also provides socket support so applications can use the protocol directly.

Extends

Name

Type

Description

PacketPusherBase

simple module

Base module for various packet pusher modules.

Parameters

Name

Type

Default value

Description

displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

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

socketTableModule

string

Properties

Name

Value

Description

class

Ieee8021qSocketPacketProcessor

display

i=block/cogwheel

Gates

Name

Direction

Size

Description

in

input

out

output

Source code

//
// Processes packets related to IEEE 802.1Q VLAN sockets. Delivers packets to
// registered sockets based on protocol and VLAN ID matching. Duplicates packets
// for delivery to interested sockets and supports "stealing" packets to prevent
// them from being forwarded. Enables applications to communicate directly with
// specific VLANs and implements protocol handlers for VLAN-specific traffic.
// Works in conjunction with ~Ieee8021qSocketTable to provide a socket-based API
// for VLAN communication.
//
// @see Ieee8021qSocketCommandProcessor
//
simple Ieee8021qSocketPacketProcessor extends PacketPusherBase like IPacketFlow
{
    parameters:
        @class(Ieee8021qSocketPacketProcessor);
        @display("i=block/cogwheel");
        string socketTableModule;
}

File: src/inet/linklayer/ieee8021q/Ieee8021qSocketPacketProcessor.ned