Skip to content

[RSTP] [ixANVL 1.2] Superior RST BPDUs with "Unknown Port Role" are incorrectly ignored #40

Description

@xl4-allan

ixANVL RSTP Conformance Test No 1.2, sub-issue of Issue #39

Description

Verify that the DUT accepts an incoming RST BPDU with an 'Unknown' Port Role, correctly falls back to treating it as a legacy Configuration BPDU, and incorporates it into the Active Spanning Tree calculation.

Reference: NEGATIVE IEEE Std 802.1D-2004 S9.2.9 P61 Encoding of Port Role values

Test Step

  1. ANVL sends a superior RST BPDU (Root Identifier: 0 / 02:02:00:00:00:01, Path Cost: 0) to DUT Interface 1. The Flags field is set to 0x30, explicitly injecting an Unknown Port Role (00 in bits 3 and 4).

Expected Behavior

  • According to the standard While a valid implementation cannot generate this value, it must be accepted upon receipt.
  • It is expected a received BPDU with an Unknown CIST Port Role must be identified and treated as a Configuration BPDU.
  • Because Configuration BPDUs implicitly convey a Designated Port Role, if the BPDU contains a superior Priority Vector, the state machine must process it (effectively as SuperiorDesignatedInfo) and update the calculation of the Active Spanning Tree.

Actual Behavior

The DUT completely discards the incoming superior RST BPDU because of the Unknown Port Role.
It fails to update its root calculation and continues advertising its previous, inferior Root Bridge.

Log Analysis (See attached)

  1. ANVL injects the superior BPDU with Flags 0x30 (Unknown Port Role) on Interface 1. (Line#220)
  2. Shortly after, the DUT transmits an RST BPDU out of Interface 2, which is received by ANVL. (Line#278)
  3. Instead of advertising the newly learned superior root (0 / 02:02:00:00:00:01), the DUT's transmitted BPDU still contains the old, inferior root: (Line#359)
    • Root Bridge Priority = 0x8000 (32768)
    • Root Bridge Address = 00:80:E1:01:01:01
  4. The test fails with: ! Received RST BPDU doesn't contain expected Root Indentifier : 0 / 02:02:00:00:00:01. (Line#383)

Attachments

RSTP-ConformanceTest-1.2.log

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions