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-edgeenabled, 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-edgefeature while the STP converges around the new root bridge.
I am just wandering, can you use the negation of the command: unset protocols
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.