BpduCfg

BpduCfg

class

(no description)

Usage diagram

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram

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

Extends

Name Type Description
BpduBase class

Represents a BPDU (Bridge PDU) used by the STP and RSTP protocols, as defined in the 802.1D-1998 specification.

Fields

Name Type Description
chunkLength b
protocolIdentifier BpduProtocolIdentifier

2 bytes, 0 for STP, 1 for RSTP (TODO use them)

protocolVersionIdentifier BpduProtocolVersionIdentifier

1 byte, version ID, currently 0, // 3:MultipleSpanningTree

bpduType BpduType

1 byte, 0 for Configuration BPDU, 1 for Topology Change Notification BPDU

tcaFlag bool

Topology Change Acknowledgment flag

reserved uint8_t

unused 6 bits of Flags

tcFlag bool

Topology Change flag

rootPriority uint16_t

2 bytes, priority of the tree root (part of Root Identifier)

rootAddress MacAddress

6 bytes, address of the tree root (part of Root Identifier)

rootPathCost uint32_t

4 bytes, cost to the root

bridgePriority uint16_t

2 bytes, priority of sender bridge (part of Bridge Identifier)

bridgeAddress MacAddress

6 bytes, address of sender bridge (part of Bridge Identifier)

portPriority unsigned int

1 byte, priority of sender port (part of Port Identifier)

portNum unsigned int

1 byte, port number (ethg[] gate index) of sender port (part of Port Identifier) (or 4 bit priority (shifted with 4 bit) and 12 bit portnum (in 802.1D-2004))

messageAge simtime_t

2 bytes, Message Age (in 256ths of a second)

maxAge simtime_t

2 bytes, maximum lifetime of the BPDU (in 256ths of a second)

helloTime simtime_t

2 bytes, Hello Time of the sender bridge (in 256ths of a second)

forwardDelay simtime_t

2 bytes, Forward Delay timer of the sender bridge (in 256ths of a second)

mutable bool
complete bool
correct bool
properlyRepresented bool
rawBin string[]
rawHex string[]
tags RegionTagSet::cObjectRegionTag[]

Source code

class BpduCfg extends BpduBase
{
    chunkLength = B(35);
    protocolIdentifier = SPANNING_TREE_PROTOCOL;
    protocolVersionIdentifier = SPANNING_TREE;
    bpduType = BPDU_CFG;
                                              // flags: 1 byte
    bool tcaFlag;                             //   Topology Change Acknowledgment flag
    uint8_t reserved = 0;                     //   unused 6 bits of Flags
    bool tcFlag;                              //   Topology Change flag

    uint16_t rootPriority;                    // 2 bytes, priority of the tree root (part of Root Identifier)
    MacAddress rootAddress;                   // 6 bytes, address of the tree root (part of Root Identifier)
    uint32_t rootPathCost;                    // 4 bytes, cost to the root

    uint16_t bridgePriority;                  // 2 bytes, priority of sender bridge (part of Bridge Identifier)
    MacAddress bridgeAddress;                 // 6 bytes, address of sender bridge (part of Bridge Identifier)

    unsigned int portPriority;                // 1 byte, priority of sender port (part of Port Identifier)
    unsigned int portNum;                     // 1 byte, port number (ethg[] gate index) of sender port (part of Port Identifier)
                                              // (or 4 bit priority (shifted with 4 bit) and 12 bit portnum (in 802.1D-2004))

    simtime_t messageAge;                     // 2 bytes, Message Age (in 256ths of a second)
    simtime_t maxAge;                         // 2 bytes, maximum lifetime of the BPDU (in 256ths of a second)
    simtime_t helloTime;                      // 2 bytes, Hello Time of the sender bridge (in 256ths of a second)
    simtime_t forwardDelay;                   // 2 bytes, Forward Delay timer of the sender bridge (in 256ths of a second)
}

File: src/inet/linklayer/ieee8021d/common/Ieee8021dBpdu.msg