How do I configure a port as STP "non-edge" on Juniper EX switches?

  • Juniper EX switches automatically categorize a port as an spanning-tree "edge" (there should only be one device behind the port) or "non-edge" (another switch) port. You can force this mode for a port by configuring

    set protocols <stp-protocol> interface <interface> edge
    

    Normally an edge port transitions to a non-edge port when it receives a BPDU. As a security feature we also have bpdu-block-on-edge enabled, which will shut down an edge port that receives BPDUs.

    This is fine unless you want another switch to take over as root bridge. In that case you have port(s) that suddenly start receiving BPDUs (when the new root bridge is activated) and consequently these ports are shut down.

    My question is: Is there a way to configure a port explicitly as a "non-edge" port?

    The workaround right now is to disable the bpdu-block-on-edge feature while the STP converges around the new root bridge.

    I am just wandering, can you use the negation of the command: unset protocols interface edge

    No, there is no "no-edge" command.

    Correctly configured (RST or MST) convergence should be sub-second. It might be better solution to the problem. Non switch core ports SHOULD go down if they receive BPDU, to protect from loop created behind the port (on top of normal BUM protection)

    What is the solution? I didn't understand that. The ports *are* connected to switches, that's the problem. Juniper categorizes them as edge because there are no BPDUs received on the port.

    Have you explicitly configured the switch ports as STP? i.e. 'set protocols $stp_flavor interface X' and it still is edge port? Your switch core ports certainly should not be edge ports. I would also recommend doing cost/metric standard and explicitly configure cost, so that topology is what you decide beforehand.

    No, just 'set protocols ' which enables it on all ports.

    I don't have EX in lab, so can't test. Could you please try to configure it explicitly.

  • The solution is somewhere else in the configuration tree and quite hard to find in my opinion. You can disable bpdu-block on a specific port even while bpdu-block-on-edge is enabled:

    set ethernet-switching-options bpdu-block interface <interface> disable
    

License under CC-BY-SA with attribution


Content dated before 7/24/2021 11:53 AM