Ieee8021dRelay

Package: inet.linklayer.ieee8021d.relay

Ieee8021dRelay

simple module

C++ definition

This modul forwards frames (~EtherFrame) based on their destination MAC addresses to appropriate ports.

It can work in two mode:

  • STP unaware mode (If no module connected to its STP gate): Looks up the frames destination address in the ~MacForwardingTable, if it found the address, sends through that port, or otherwise broadcasts it.
  • STP aware mode (If an ~STP or ~RSTP module connected to its STP gate): Handles BPDU frames. If relaying a message also checks the port's status in the InterfaceTable.

<b>See also:</b> EtherFrame, MacForwardingTable, Stp, Rstp

Ieee8021dRelay

Inheritance diagram

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

Extends

Name Type Description
MacRelayUnitBase simple module (no description)

Parameters

Name Type Default value Description
macTableModule string
interfaceTableModule string
displayStringTextFormat string "proc: %p\ndisc: %d"

Properties

Name Value Description
display i=block/switch
class Ieee8021dRelay

Gates

Name Direction Size Description
lowerLayerIn input
lowerLayerOut output
upperLayerIn input
upperLayerOut output

Signals

Name Type Unit
packetReceivedFromUpper inet::Packet
packetReceivedFromLower inet::Packet
packetDropped inet::Packet
packetSentToLower inet::Packet

Statistics

Name Title Source Record Unit Interpolation Mode
packetDropped packets dropped count, sum(packetBytes), vector(packetBytes) none

Source code

//
// This modul forwards frames (~EtherFrame) based on their destination MAC addresses to appropriate ports.
//
// It can work in two mode:
// - STP unaware mode (If no module connected to its STP gate):
//     Looks up the frames destination address in the ~MacForwardingTable, if it found the address, sends through
//     that port, or otherwise broadcasts it.
// - STP aware mode (If an ~STP or ~RSTP module connected to its STP gate):
//     Handles BPDU frames.
//     If relaying a message also checks the port's status in the InterfaceTable.
//
// @see EtherFrame, MacForwardingTable, Stp, Rstp
//
simple Ieee8021dRelay extends MacRelayUnitBase like IMacRelayUnit
{
    parameters:
        @class(Ieee8021dRelay);
}

File: src/inet/linklayer/ieee8021d/relay/Ieee8021dRelay.ned