WEBVTT

1
00:00.000 --> 00:03.280
A few quick things about Portfast.

2
00:03.280 --> 00:05.960
Portfast is a very important configuration.

3
00:05.960 --> 00:08.480
We need to make sure we put on all of our edge ports,

4
00:08.480 --> 00:10.320
whether we're running traditional spanning tree,

5
00:10.320 --> 00:11.880
I'm not sure why we would in production,

6
00:11.880 --> 00:13.640
but even with rapid spanning tree,

7
00:13.640 --> 00:15.760
we do have to explicitly state

8
00:15.760 --> 00:18.080
which ports are in portfast mode.

9
00:18.080 --> 00:20.360
Portfast is telling us that we're connecting

10
00:20.360 --> 00:22.600
to not a switch basically.

11
00:22.600 --> 00:25.120
So it can connect to other network devices,

12
00:25.120 --> 00:28.960
it can connect to routers or firewalls and access points.

13
00:28.960 --> 00:31.200
These are network devices that are not switches
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

13
00:28.960 --> 00:31.200
These are network devices that are not switches

14
00:31.200 --> 00:32.760
and can't produce a loop.

15
00:32.760 --> 00:36.520
And so as long as we have no switch on the other side,

16
00:36.520 --> 00:38.280
we can enable portfast.

17
00:38.280 --> 00:39.520
Now as a protection mechanism,

18
00:39.520 --> 00:41.720
Cisco ignores portfast configuration

19
00:41.720 --> 00:43.560
if we configure something for a trunk,

20
00:43.560 --> 00:46.120
but some of those devices require trunks.

21
00:46.120 --> 00:49.480
So I can also explicitly configure a portfast trunk

22
00:49.480 --> 00:51.080
and we'll take a look at that here.

23
00:51.080 --> 00:53.920
That's something that we can deploy if required.

24
00:53.920 --> 00:57.000
For example, if connecting to a flex connect access point

25
00:57.000 --> 00:58.520
that requires trunking,

26
00:58.520 --> 01:02.160
I would want to configure it as a portfast trunk.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

26
00:58.520 --> 01:02.160
I would want to configure it as a portfast trunk.

27
01:02.160 --> 01:07.160
Now lastly, even though portfast is an explicit configuration,

28
01:07.160 --> 01:10.000
we can enable it to be deployed

29
01:10.000 --> 01:12.240
onto all access ports by default.

30
01:12.240 --> 01:14.360
And so we're gonna take a look at really all three things,

31
01:14.360 --> 01:17.040
configuring portfast, making it the default setting,

32
01:17.040 --> 01:19.800
as well as configuring a trunk portfast,

33
01:19.800 --> 01:21.480
and we'll wanna take a look and confirm

34
01:21.480 --> 01:25.120
that the TCN thing is actually what we said it is,

35
01:25.120 --> 01:28.240
that it's not going to produce topology change notifications.

36
01:28.240 --> 01:29.920
So as part of all of this,

37
01:29.920 --> 01:34.080
we're gonna go ahead and look at switch five,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

37
01:29.920 --> 01:34.080
we're gonna go ahead and look at switch five,

38
01:34.080 --> 01:37.600
and we're going to pretend like gig three slash two here

39
01:37.600 --> 01:39.960
is connecting to some kind of edge device.

40
01:39.960 --> 01:44.040
Maybe it's a laptop or a PC or for that matter,

41
01:44.040 --> 01:45.800
an access point, but either way,

42
01:45.800 --> 01:49.240
gig three slash two is going to be our port of choice.

43
01:49.240 --> 01:53.960
So normal portfast operation is to do a config T,

44
01:53.960 --> 01:56.320
get onto the interface,

45
01:56.320 --> 02:01.080
and then I can say spanning tree portfast.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

45
01:56.320 --> 02:01.080
and then I can say spanning tree portfast.

46
02:01.080 --> 02:02.080
And that's it.

47
02:02.080 --> 02:03.640
I've just enabled portfast.

48
02:03.640 --> 02:05.600
Once again, it is going to warn us

49
02:05.600 --> 02:08.400
that this can produce temporary bridging loops.

50
02:08.400 --> 02:10.320
I do like that they used temporary,

51
02:10.320 --> 02:12.040
'cause we know as soon as we get a BPDE,

52
02:12.040 --> 02:14.960
we will fall back to normal spanning tree operation.

53
02:14.960 --> 02:17.680
But until we receive a BPDE on the other side,

54
02:17.680 --> 02:20.240
it could produce some bridging loops.

55
02:20.240 --> 02:22.320
So we have to proceed with caution,

56
02:22.320 --> 02:26.440
but we understand that this is the intended behavior

57
02:26.440 --> 02:27.920
in this situation.

58
02:27.920 --> 02:32.920
So now, if I do a show spanning tree VLAN one,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

58
02:27.920 --> 02:32.920
So now, if I do a show spanning tree VLAN one,

59
02:32.920 --> 02:35.920
we should see that gig three slash one,

60
02:35.920 --> 02:37.720
or sleeves three slash two rather,

61
02:37.720 --> 02:39.480
says that it's an edge port.

62
02:39.480 --> 02:42.240
So that's a rapid spanning tree word

63
02:42.240 --> 02:45.040
that's just telling us that it's in portfast operation.

64
02:45.040 --> 02:47.000
And it's already in forwarding mode.

65
02:47.000 --> 02:50.800
Now, if I go config T interface three slash two,

66
02:50.800 --> 02:53.360
and I say shutdown,

67
02:53.360 --> 02:56.580
and then no shot.

68
02:56.580 --> 03:00.440
Now, it's going to come back online.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

68
02:56.580 --> 03:00.440
Now, it's going to come back online.

69
03:00.440 --> 03:04.200
We'll do a show spanning tree VLAN one,

70
03:04.200 --> 03:07.080
and three slash two should already be

71
03:07.080 --> 03:08.720
in the forwarding statement, indeed it is.

72
03:08.720 --> 03:11.040
So we did not have to go through listening and learning.

73
03:11.040 --> 03:14.000
And that's usually the behavior

74
03:14.000 --> 03:17.040
that we're really looking for out of portfast.

75
03:17.040 --> 03:19.120
Now, really quickly,

76
03:19.120 --> 03:21.120
I could configure portfast another way.

77
03:21.120 --> 03:24.520
So let's go ahead and say, no, spanning tree portfast.

78
03:24.520 --> 03:28.200
But let's say that, again, this is an edge port.

79
03:28.200 --> 03:31.560
So I'm going to place this into switch port mode access
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

79
03:28.200 --> 03:31.560
So I'm going to place this into switch port mode access

80
03:31.560 --> 03:34.000
and place that into VLAN one.

81
03:34.000 --> 03:37.480
So now this port is an access port.

82
03:37.480 --> 03:41.640
So if I do show interface gig three slash two switch port,

83
03:41.640 --> 03:43.060
another great command,

84
03:43.060 --> 03:45.040
we can see that the administrative mode here

85
03:45.040 --> 03:47.800
is in access operation.

86
03:47.800 --> 03:52.160
So what we can do now is do a global configuration

87
03:52.160 --> 03:56.200
to make all access ports into portfast,

88
03:56.200 --> 03:58.520
because usually we sync up portfast

89
03:58.520 --> 04:00.160
and access mode operation.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

89
03:58.520 --> 04:00.160
and access mode operation.

90
04:00.160 --> 04:01.920
So this makes a lot of sense.

91
04:01.920 --> 04:04.200
So I can get on here,

92
04:04.200 --> 04:08.160
and I can say spanning tree portfast default.

93
04:08.160 --> 04:13.480
Now, again, it's only going to push it to access switches

94
04:13.480 --> 04:15.460
or access switch ports rather.

95
04:15.460 --> 04:17.280
So won't go on to trunks.

96
04:17.280 --> 04:21.060
If I do a show run on interface gig three slash two,

97
04:21.060 --> 04:23.680
like this,

98
04:23.680 --> 04:26.480
will not see the portfast configuration,

99
04:26.480 --> 04:29.960
but I can confirm if I do a show spanning tree interface,

100
04:29.960 --> 04:33.480
gig three slash two and add this keyword detail,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

100
04:29.960 --> 04:33.480
gig three slash two and add this keyword detail,

101
04:33.480 --> 04:34.720
I see a lot of information,

102
04:34.720 --> 04:37.040
including that it's in portfast edge mode

103
04:37.040 --> 04:38.800
and it adds on this by default,

104
04:38.800 --> 04:40.240
which would not be there

105
04:40.240 --> 04:43.040
if I wasn't using the default option.

106
04:43.040 --> 04:47.240
Now let's go ahead and take a look at the trunk situation.

107
04:47.240 --> 04:51.880
So if I were to get onto interface gig three slash two

108
04:51.880 --> 04:54.720
and say, hey, we're going to configure use this trunk.

109
04:54.720 --> 04:57.760
So I'm going to put this into dot one queue operation

110
04:57.760 --> 04:59.840
and then switch mode trunk.

111
04:59.840 --> 05:02.680
And now it's running as a trunk.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

111
04:59.840 --> 05:02.680
And now it's running as a trunk.

112
05:02.680 --> 05:06.160
So is it running in portfast?

113
05:06.160 --> 05:08.760
It's not notice the portfast was removed

114
05:08.760 --> 05:11.140
because it's no longer an access port.

115
05:11.140 --> 05:14.480
What I can do is get onto gig three slash two

116
05:14.480 --> 05:17.060
and say spanning tree portfast

117
05:17.060 --> 05:18.960
and we'll see that I've got the ability

118
05:18.960 --> 05:23.240
to add an edge and then trunk.

119
05:23.240 --> 05:24.080
There it is.

120
05:24.080 --> 05:24.900
(laughs)

121
05:24.900 --> 05:27.960
iOS, the virtual iOS can be a little different at times.

122
05:27.960 --> 05:30.440
So you might see this edge here and you might not.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

122
05:27.960 --> 05:30.440
So you might see this edge here and you might not.

123
05:30.440 --> 05:34.200
Some iOS XCE platforms have it, some do not,

124
05:34.200 --> 05:37.360
but either way, I just enabled this portfast

125
05:37.360 --> 05:38.400
for trunk operation.

126
05:38.400 --> 05:40.480
So now I can do the same show command,

127
05:40.480 --> 05:43.640
show spanning tree interface with detail

128
05:43.640 --> 05:46.840
and it does say that it's in portfast,

129
05:46.840 --> 05:47.780
I can get it, there we go.

130
05:47.780 --> 05:49.940
Portfast edge trunk mode.

131
05:49.940 --> 05:52.700
So we can run portfast in trunk mode,

132
05:52.700 --> 05:55.060
but we do have to explicitly configure it.

133
05:55.060 --> 05:59.380
If I were to say remove portfast edge trunk

134
05:59.380 --> 06:01.860
and just say spanning tree portfast,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

134
05:59.380 --> 06:01.860
and just say spanning tree portfast,

135
06:01.860 --> 06:03.540
again, this is still a trunk.

136
06:03.540 --> 06:07.180
So if I look at the spanning tree interface details,

137
06:07.180 --> 06:10.180
we'll find that it's not running in portfast.

138
06:10.180 --> 06:13.660
Even though when I look at the interface,

139
06:13.660 --> 06:15.140
it's going to appear like it is

140
06:15.140 --> 06:17.240
because it's got that portfast.

141
06:17.240 --> 06:18.940
Well, again, edge sometimes shows up,

142
06:18.940 --> 06:23.100
especially on iOS V, the virtual iOS instances,

143
06:23.100 --> 06:26.380
but spanning tree portfast command is there,

144
06:26.380 --> 06:30.200
but it's not running in portfast because it is a trunk.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

144
06:26.380 --> 06:30.200
but it's not running in portfast because it is a trunk.

145
06:30.200 --> 06:31.660
So last thing we want to demonstrate

146
06:31.660 --> 06:33.940
is the topology change concept.

147
06:33.940 --> 06:38.060
So if I do a show spanning tree, VLAN one,

148
06:38.060 --> 06:41.140
we will call that this aging time gets reduced

149
06:41.140 --> 06:43.260
if the port changes.

150
06:43.260 --> 06:46.180
And so I'm going to go ahead and demonstrate

151
06:46.180 --> 06:47.780
that it will not change.

152
06:47.780 --> 06:52.740
So we're going to go back into switch port mode access on 3, 2,

153
06:52.740 --> 06:57.540
and I'm going to enable portfast, so spanning tree portfast.

154
06:57.540 --> 06:59.820
And so if I look at the interface,

155
06:59.820 --> 07:04.660
so spanning tree interface detail,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

155
06:59.820 --> 07:04.660
so spanning tree interface detail,

156
07:04.660 --> 07:07.500
we see we are running in portfast operation.

157
07:07.500 --> 07:13.140
So if I shut this port down and then do a no shut,

158
07:13.140 --> 07:20.260
and do a show spanning tree for VLAN one,

159
07:20.260 --> 07:23.660
we will see that again, the thing that we typically look at

160
07:23.660 --> 07:25.820
is the fact that it went straight into forwarding mode.

161
07:25.820 --> 07:27.180
And then we can scroll up just a little bit

162
07:27.180 --> 07:29.860
and we can see that the aging time is 300 seconds.

163
07:29.860 --> 07:33.140
And so portfast is very important for spinning things up
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

163
07:29.860 --> 07:33.140
And so portfast is very important for spinning things up

164
07:33.140 --> 07:33.660
quickly.

165
07:33.660 --> 07:35.860
We can apply it to access and trunk ports,

166
07:35.860 --> 07:38.980
but it's also super important because topology change

167
07:38.980 --> 07:41.820
notifications are suppressed, which is good.

168
07:41.820 --> 07:44.860
We're going to see a lot of topology changes out there

169
07:44.860 --> 07:46.540
if we don't configure portfast.

170
07:46.540 --> 07:49.020
So it's why it's a mission critical configuration.

171
07:49.020 --> 07:51.620
We should probably enable it by default on switches,

172
07:51.620 --> 07:54.860
which will push it automatically to access ports.
