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 <stp-protocol> interface <interface> edge
    – laf
    Commented May 28, 2013 at 13:06
  • No, there is no "no-edge" command. Commented May 28, 2013 at 13:06
  • 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)
    – ytti
    Commented May 28, 2013 at 13:29
  • 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. Commented May 28, 2013 at 13:38
  • 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.
    – ytti
    Commented May 28, 2013 at 13:50

3 Answers 3

set protocols rstp interface [interface] mode point-to-point

The JunOS STP interface mode docs and this example about Configuring Faster Convergence and Improving Network Stability with RSTP on EX-series Switches would seem to be of interest.

  • Thanks but all full-duplex links are p2p by default already. Commented May 28, 2013 at 13:23
  • That's interesting. So then how does it determine which ports are p2p and which ports are edge? Just the lack of BPDU's received on an edge port? Commented May 28, 2013 at 13:26
  • Ah nevermind, I'm of course forgetting that multiple attributes can be set on interfaces. Commented May 28, 2013 at 13:28

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

As I understand it all ports are non-edge be default unless you classify them as edge ports, or am I missing something. If you don't want something to be edge just leave it as default.

edit: and now that I read your question a second time I'm a bit more confused. All switches send out BPDUs regardless of which is root, so a new root switch won't change which ports start receiving BPDUs.

  • 1) No, they get automatically identified as edge when no BPDU is received. Juniper says "The Junos OS supports automatic detection of edge ports as described in the RSTP standard." If I read the state machine in the RSTP standard correctly, this is the case when no BPDUs are received upon enabling a port. Commented May 31, 2013 at 8:03
  • 2) No, they will stop sending out BPDUs if they detect that the port is a root/alternate port. Commented May 31, 2013 at 8:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.