7

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.

Sebastian Wiesinger
  • 8,107
  • 3
  • 34
  • 60
  • I am just wandering, can you use the negation of the command: unset protocols interface edge – laf May 28 '13 at 13:06
  • No, there is no "no-edge" command. – Sebastian Wiesinger May 28 '13 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 May 28 '13 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. – Sebastian Wiesinger May 28 '13 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 May 28 '13 at 13:50
  • No, just 'set protocols ' which enables it on all ports. – Sebastian Wiesinger May 28 '13 at 13:56
  • I don't have EX in lab, so can't test. Could you please try to configure it explicitly. – ytti May 28 '13 at 13:57

3 Answers3

2
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.

Mike Pennington
  • 29,876
  • 11
  • 78
  • 152
John Jensen
  • 8,997
  • 4
  • 29
  • 47
2

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
Sebastian Wiesinger
  • 8,107
  • 3
  • 34
  • 60
0

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. – Sebastian Wiesinger May 31 '13 at 08:03
  • 2) No, they will stop sending out BPDUs if they detect that the port is a root/alternate port. – Sebastian Wiesinger May 31 '13 at 08:05