Alright, so we're going to jump into the lab and configure rapid spanning tree
and the
topology is what we've already used several times in this course up till now.
We have switches three, four and five in a triangle and switch three is the
root.
So let's go ahead and log into the lab here and we're on switch three.
If I do a show spanning tree, I always remember that the mode by default on a
Cisco iOSXE
switch is that we're running traditional spanning tree and protocol IEEE is
what tells us that.
It doesn't appear to directly tell us that, but this is going to change when we WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
It doesn't appear to directly tell us that, but this is going to change when we
configure
rapid.
Let's go and do that.
I'm going to do a config T and the command is simply spanning tree mode and
then we'll
see our three options here.
We have our PVST, which is the default MST, which we're going to cover later
and then
rapid PVST and the plus is implied in that, but it's rapid PVST plus.
But by enabling this, I now have done a major change to my spanning tree top
ology.
So if I do a show spanning tree again, we do see that the protocols now are STP WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So if I do a show spanning tree again, we do see that the protocols now are STP
for rapid
spanning tree.
So I'm going to go to the other switches in my topology here, including switch
four and
do the same command spanning tree mode rapid and switch five as well.
Use the abbreviation here, spanning mode rapid.
So when I do my show spanning tree, we'll probably see that the ports are
already in
forwarding.
So we have majorly disruptive change in theory and yet because of rapid's WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So we have majorly disruptive change in theory and yet because of rapid's
nature and the
ability to on point to point links, we see that listed right here on point to
point links,
we can use negotiation to immediately figure out, okay, you're my root switch
or switch
port.
And so now switch three knows to have that into forwarding.
And so where it looks like we're actually, where are we blocking show spanning
tree.
We're blocking here switch four is blocking on three slash one.
So if we go back to our topology, the reason for that is because while I WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So if we go back to our topology, the reason for that is because while I
configured switch
three with a priority of four thousand, making it the root, I did not configure
anything
on switch four.
So switch four and switch five have a MAC address battle here, switch four
apparently
lost that because it's blocking this port right here.
And so that is our current topology.
So rapid figured that out really, really quickly.
Now we'll also notice that even though Cisco is well, they're using BLK for WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Now we'll also notice that even though Cisco is well, they're using BLK for
blocking, they
probably should be using DIS for discarding, but they didn't update the status
in iOS X
E. It still shows BLK for blocking.
And that's one of the reasons why you probably noticed throughout this skill, I
still refer
to it as blocking.
Many people refer to it as blocking, even though technically it's in a disc
arding state.
We do however, see under role, this alternate port.
Now this was there before rapid.
If we disabled rapid and looked at, you know, traditional spanning tree, this WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
If we disabled rapid and looked at, you know, traditional spanning tree, this
would still
say alternate.
And that's simply because they're not going to distinguish between those when
we're not
running rapid spanning tree.
But now that we are running rapid spanning tree, we do see that I've got
another uplink
option here.
It is blocking.
But if I were to take down my root port, let's do a config T and gig zero or
one zero.
And I shut this down and then very quickly do a show spanning tree.
We'll see that that gig three slash one, which was right here, was my alternate WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
We'll see that that gig three slash one, which was right here, was my alternate
port
and blocking is already the root port in an affording state is able to do that
because
of rapid and because of the fact that it was designated as an alternate port.
So we're going to do a no shut on that.
And again, it is a beautiful thing to be working with rapid after working with
traditional
spanning tree for so long because pretty much as soon as I do a no shut and the
port is
online, we're back to our original spanning tree topology, which is where we
want to
be. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
be.
So let's go ahead here.
We're on switch four.
Let's just go ahead and do a debug.
This is a great command debug spanning tree events.
We've used this command before, but this is going to allow me to see things
like BPD
is being sent and such.
But in this case, I'm going to get onto my interface gig one zero, which is my
root
port, by the way.
And so I'm going to shut this down support.
I just shut down.
Actually, we just want to look at things from a debug perspective.
So when I do a shutdown on this, we're going to notice some things here. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So when I do a shutdown on this, we're going to notice some things here.
All right.
So let's go ahead and undi bug all so we don't keep getting debug messages.
Notice these debug messages.
Well, what happened here?
Well, rapid spanning tree is saying, hey, we're updating the roles.
Our root port is now down.
And now gig three slash one is now the root port.
And then we generate a topology change trap.
So it happens very, very quickly.
And if we turn on the timestamp on the debug messages, we'd see that that all WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And if we turn on the timestamp on the debug messages, we'd see that that all
happened
back to back to back.
So it's pretty fun to be able to see some of these messages fly around using
our debug.
Now I'm just going to get onto another interface.
This interface is not connecting to another switch.
So I'm just going to do a no shut on this interface and then do a show spanning
tree.
What happens on a port?
Whoops, let's wait until it's actually online.
Oh, it was online.
There it is.
So we see that it's in a blocking state.
State role is designated.
But notice it doesn't say listening here. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
But notice it doesn't say listening here.
So if I do it again, we should see that it's in the learning state now.
But yeah, we're not in again, Cisco doesn't say discarding.
It says blocking.
But it did not actually list out listening, even though it did it for 15
seconds.
So then transition to learning.
And by now it's probably, well, still in learning, but it's going to very
quickly transition
over to forwarding at this point.
There we go.
So why did that take 30 full seconds?
Well, because again, even though the port is in an upstate there up status, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Well, because again, even though the port is in an upstate there up status,
there is
no switch on the other side.
If there's no switch on the other side, there's no BP to use.
I can't negotiate with anybody.
And so if this was a laptop, this would still take 30 seconds, which is why we
want to make
sure that we are indeed configuring that as an edge port, even in the rapid
world.
In fact, in the rapid spanning tree world, as we said, that's even more
important.
So how do we do that?
Well, for on this interface, we might do a switch mode access to make it an
access mode.
I could configure it globally. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
I could configure it globally.
I could configure it here.
So spanning tree.
Now again, I can do port fast.
Usually that would be the command, but on iOS, this virtual iOS, we do have to
include
the phrase edge here.
But now it's going to not send topology changes and it would come up very, very
quickly.
I could do a shutdown on this port, do my no shut.
And rather than sitting here and waiting for 30 seconds, we should see that it
's immediately
in the forwarding state and it is. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
in the forwarding state and it is.
And we see over here on the right that it indicates its point to point edge.
So very good.
That is how we configure our port type edge, which is still using Cisco's port
fast command.
Now lastly, I would never recommend doing this in public, but just to solidify
some
of these concepts, I say in public, but in production, I meant to say, yeah,
don't do
it in public.
Don't want anybody judging you.
If I get on to interface gig three slash one here, I do have this command.
Clicking tree link type. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Clicking tree link type.
And then we see I can configure this to be a shared link.
If I look at my topology, we see gig three slash one here is the blocking port
towards
switch five, which means that it can't actually run in a rapid spanning tree if
I configure
it to be shared.
So let's do it.
Configure it as shared.
I'm going to shut this link down and I'll get on to switch five on the other
side.
Also interface gig three slash one, shut it down. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Also interface gig three slash one, shut it down.
And let's do a no shut and watch this process.
So no shot on this side, no shot on this side.
And if I say show spanning tree on the downstream switch, notice, oh, this is
switch four still
let's get to switch five, do show spanning tree.
So we notice that it's in a blocking state right now, because it's going
through listening
and learning. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
and learning.
And so in a moment here, it'll transition to learning and there we go.
So it knows that switch four or switch four rather is not running rapid
spanning tree because
it's a shared port.
It can't assume that there's a switch on the other side and therefore it's not
even going
to try to negotiate switch five.
Meanwhile says, well, I couldn't negotiate, but nobody's negotiating with me.
And so this is why we keep saying that rapid is entirely relying on those
negotiations.
And so long as we're able to negotiate, we're good to go.
But if we can't negotiate, then we're just going to go right back to our old WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
But if we can't negotiate, then we're just going to go right back to our old
way of doing
things by transitioning through listening and learning, just keeping in mind
that listening
is now discarding, which Cisco shows as blocking.
But either way, listening will no longer show up in rapid spanning tree.