This modul forwards frames (EtherFrame) based on their destination MAC addresses to appropriate ports.
It can work in two mode:
See also: EtherFrame, MACAddressTable, STP, RSTP
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Name | Type | Default value | Description |
---|---|---|---|
interfaceTablePath | string | "^.interfaceTable" |
The path to the InterfaceTable module |
macTablePath | string | "^.macTable" |
The path to the MACAddressTable module |
Name | Value | Description |
---|---|---|
display | i=block/broadcast;bgb=425,114 |
Name | Direction | Size | Description |
---|---|---|---|
ifIn [ ] | input | ||
ifOut [ ] | output | ||
stpIn | input | ||
stpOut | output |
Name | Type | Unit |
---|---|---|
packetReceivedFromLower | cPacket | |
packetSentToLower | cPacket |
// // 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 ~MACAddressTable, 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, MACAddressTable, STP, RSTP // simple Ieee8021dRelay like IMACRelayUnit { parameters: string interfaceTablePath = default("^.interfaceTable"); // The path to the InterfaceTable module string macTablePath = default("^.macTable"); // The path to the MACAddressTable module @display("i=block/broadcast;bgb=425,114"); @signal[packetSentToLower](type=cPacket); @signal[packetReceivedFromLower](type=cPacket); gates: input ifIn[]; output ifOut[]; input stpIn @loose; output stpOut @loose; }