1 00:00:00,000 --> 00:00:03,880 [AUDIO LOGO] 2 00:00:03,880 --> 00:00:07,770 3 00:00:07,770 --> 00:00:10,920 So now that we have IS-IS configured 4 00:00:10,920 --> 00:00:13,920 to use segment routing and we've seen 5 00:00:13,920 --> 00:00:18,600 that it has reserved the SRGB for IS-IS use, 6 00:00:18,600 --> 00:00:22,320 our next step would be to bring prefix sid's 7 00:00:22,320 --> 00:00:24,270 into segment routing. 8 00:00:24,270 --> 00:00:27,100 Remember, this is a manual process, 9 00:00:27,100 --> 00:00:29,700 so we have to bring the prefixes that we 10 00:00:29,700 --> 00:00:34,780 want to use with segment routing in as a manual process. 11 00:00:34,780 --> 00:00:36,450 So what we're going to do is we're 12 00:00:36,450 --> 00:00:41,080 going to bring in the loopback interfaces on our core devices. 13 00:00:41,080 --> 00:00:44,070 So, in this case, it's going to be routers 1 through 5. 14 00:00:44,070 --> 00:00:47,130 So let's go ahead and bring up our topology 15 00:00:47,130 --> 00:00:49,260 just so we remember how they're connected. 16 00:00:49,260 --> 00:00:51,270 And then, we'll jump into the command line, 17 00:00:51,270 --> 00:00:55,170 and we'll bring those prefixes for the loopback interfaces 18 00:00:55,170 --> 00:00:57,240 into IS-IS. 19 00:00:57,240 --> 00:01:00,750 While we're at it, we'll actually fire up Wireshark. 20 00:01:00,750 --> 00:01:03,090 We'll take a look at what those IS-IS 21 00:01:03,090 --> 00:01:05,379 updates look like on the wire. 22 00:01:05,379 --> 00:01:08,570 And, of course, we'll dig into the IS-IS database 23 00:01:08,570 --> 00:01:10,820 so we can see this information as well. 24 00:01:10,820 --> 00:01:13,450 So let's go ahead and take a look at that topology, 25 00:01:13,450 --> 00:01:17,070 and then we'll get started. 26 00:01:17,070 --> 00:01:20,660 So once again, we're on MPLS topology 1. 27 00:01:20,660 --> 00:01:25,370 And as we mentioned, we're going to be advertising the loopback 28 00:01:25,370 --> 00:01:30,617 interfaces on each of these routers into segment routing. 29 00:01:30,617 --> 00:01:32,450 So, in other words, we're going to be giving 30 00:01:32,450 --> 00:01:35,210 each of these a prefix sid. 31 00:01:35,210 --> 00:01:38,240 Keep in mind that their IP addresses are referenced up 32 00:01:38,240 --> 00:01:38,940 here. 33 00:01:38,940 --> 00:01:41,945 So each device is going to have an address of, for example, 34 00:01:41,945 --> 00:01:45,620 10.1.1.1 for router 1. 35 00:01:45,620 --> 00:01:49,250 And we're going to set up our labels to sort of follow along 36 00:01:49,250 --> 00:01:50,700 that same idea. 37 00:01:50,700 --> 00:01:54,560 We're going to do 16,000, and then we'll 38 00:01:54,560 --> 00:01:58,050 use the device ID for the last digit. 39 00:01:58,050 --> 00:02:04,400 So again, as an example, router one would be 16,001. 40 00:02:04,400 --> 00:02:06,110 So that's what we're going to configure. 41 00:02:06,110 --> 00:02:09,020 Let's go ahead and jump in and take a look at this. 42 00:02:09,020 --> 00:02:11,540 But before we start our configuration, 43 00:02:11,540 --> 00:02:15,620 I'm going to set up a Wireshark capture on this interface right 44 00:02:15,620 --> 00:02:18,470 here between router 1 and router 3 45 00:02:18,470 --> 00:02:21,960 so that we can catch the IS-IS update when 46 00:02:21,960 --> 00:02:28,180 it advertises the loopback sid over to router 3. 47 00:02:28,180 --> 00:02:30,980 So we have our Wireshark capture running. 48 00:02:30,980 --> 00:02:33,790 Let's go ahead and configure router 1 here 49 00:02:33,790 --> 00:02:38,450 to send a prefix sid for its loopback interface. 50 00:02:38,450 --> 00:02:41,980 So to do this, we'll go into router IS-IS 1, 51 00:02:41,980 --> 00:02:47,350 into our interface loopback 0, into the address family IPv4 52 00:02:47,350 --> 00:02:48,670 unicast. 53 00:02:48,670 --> 00:02:51,160 And then we say prefix sid. 54 00:02:51,160 --> 00:02:52,970 And if we hit the question mark here, 55 00:02:52,970 --> 00:02:58,420 we can see where we have this choice to do absolute or index. 56 00:02:58,420 --> 00:03:01,310 Those are the two main things we need to focus on. 57 00:03:01,310 --> 00:03:05,500 So we could do this as an index off of the SRGB, 58 00:03:05,500 --> 00:03:08,330 or we could just set this to an absolute value. 59 00:03:08,330 --> 00:03:10,570 Now since we sort of specified the number 60 00:03:10,570 --> 00:03:13,780 we're going to use, let's go ahead and do absolute. 61 00:03:13,780 --> 00:03:16,520 So we'll say absolute, and then, of course, 62 00:03:16,520 --> 00:03:18,290 we're simply going to put in the number. 63 00:03:18,290 --> 00:03:22,840 Notice that it's telling us that it has to start with 16,000. 64 00:03:22,840 --> 00:03:28,550 So we'll do our 16001 commit those changes and end 65 00:03:28,550 --> 00:03:29,940 configuration. 66 00:03:29,940 --> 00:03:31,580 So now that we've configured this 67 00:03:31,580 --> 00:03:34,320 let's do some verification. 68 00:03:34,320 --> 00:03:38,760 Let's do a show IS-IS segment routing label table. 69 00:03:38,760 --> 00:03:41,220 What we see here is that we now have 70 00:03:41,220 --> 00:03:46,390 a label of 16,001 for the local loopback interface. 71 00:03:46,390 --> 00:03:48,870 Now that's fine that router 1 knows this, 72 00:03:48,870 --> 00:03:51,970 but is it showing up on the other routers. 73 00:03:51,970 --> 00:03:54,516 So let's go take a look at router 3. 74 00:03:54,516 --> 00:03:56,790 Once again, we'll do the show ISS 75 00:03:56,790 --> 00:03:58,800 segment routing label table. 76 00:03:58,800 --> 00:04:03,660 And we see that router 3 has also learned the label 16,001 77 00:04:03,660 --> 00:04:09,130 for router one's loopback 10.1.1.1/32. 78 00:04:09,130 --> 00:04:12,270 If we do a show MPLS forwarding table, 79 00:04:12,270 --> 00:04:15,660 we can actually see that we're using the same local label 80 00:04:15,660 --> 00:04:20,579 16,001 for this segment routing prefix. 81 00:04:20,579 --> 00:04:22,890 And notice it's even recognizing the fact 82 00:04:22,890 --> 00:04:25,980 that that is an index of 1 based off 83 00:04:25,980 --> 00:04:29,010 the start point for the sRGB. 84 00:04:29,010 --> 00:04:31,500 Now again, we should see this on all of the routers 85 00:04:31,500 --> 00:04:32,260 at this point. 86 00:04:32,260 --> 00:04:33,790 We'll just verify one more. 87 00:04:33,790 --> 00:04:35,740 Let's take a look at router 2. 88 00:04:35,740 --> 00:04:38,140 So same command here on router 2. 89 00:04:38,140 --> 00:04:43,480 And we see that it is also aware of this label 16,001. 90 00:04:43,480 --> 00:04:45,880 Let's verify on router 5 as well, 91 00:04:45,880 --> 00:04:49,240 just because it is a slightly different command. 92 00:04:49,240 --> 00:04:56,860 On IOS XE, we'll do a show IS-IS segment routing connected sid. 93 00:04:56,860 --> 00:05:03,610 But we see that it is, in fact, learning the 10.1.1.1/32 from 94 00:05:03,610 --> 00:05:06,520 the host XR 1, which is router 1. 95 00:05:06,520 --> 00:05:10,090 And we see that here rather than listing the exact value, 96 00:05:10,090 --> 00:05:15,080 it's actually just listing the sid index being one. 97 00:05:15,080 --> 00:05:18,590 So, of course, we set up that Wireshark packet capture 98 00:05:18,590 --> 00:05:19,860 for a reason. 99 00:05:19,860 --> 00:05:21,890 So now let's jump into Wireshark, 100 00:05:21,890 --> 00:05:25,940 do a little bit of filtering, find that update that IS-IS 101 00:05:25,940 --> 00:05:28,580 sent out to these other routers and take a look 102 00:05:28,580 --> 00:05:33,130 at where this is carried in the IS-IS update. 103 00:05:33,130 --> 00:05:36,630 So here we have the whole packet capture that we did. 104 00:05:36,630 --> 00:05:41,130 Let's filter this by IS-IS.LSP. 105 00:05:41,130 --> 00:05:45,300 So if we take a look at this update coming from router 1. 106 00:05:45,300 --> 00:05:49,230 And if we open the IS-IS link state PDU header 107 00:05:49,230 --> 00:05:52,530 and then we open up the IP interface addresses, 108 00:05:52,530 --> 00:05:56,490 we see that this is for the 10.1.1.1. 109 00:05:56,490 --> 00:06:00,390 So then, if we look at the extended IP reachability, 110 00:06:00,390 --> 00:06:03,360 open the loopback interface address, 111 00:06:03,360 --> 00:06:07,740 notice that here we have a sub-TLV for the prefix sid. 112 00:06:07,740 --> 00:06:12,450 But before we open that, also notice that under sub-TLV, 113 00:06:12,450 --> 00:06:15,360 we also have the attribute flags. 114 00:06:15,360 --> 00:06:19,020 One of those flags is the n indicating 115 00:06:19,020 --> 00:06:21,480 that this is also a node sid. 116 00:06:21,480 --> 00:06:24,480 But let's go ahead and open up that prefix sid. 117 00:06:24,480 --> 00:06:26,880 And right here, we can see where it's 118 00:06:26,880 --> 00:06:31,920 exchanging the fact that the sid label index is, in fact, one. 119 00:06:31,920 --> 00:06:34,360 So we can see that it's sending this information 120 00:06:34,360 --> 00:06:37,090 to its neighbors, and this is how the labels are 121 00:06:37,090 --> 00:06:40,570 being advertised through IS-IS. 122 00:06:40,570 --> 00:06:42,850 So now, let's jump back over to the command line 123 00:06:42,850 --> 00:06:44,860 and do some more verification. 124 00:06:44,860 --> 00:06:47,710 Since we haven't really done it yet, let's go ahead 125 00:06:47,710 --> 00:06:50,020 and look at the adjacency sids while we're 126 00:06:50,020 --> 00:06:51,920 taking a look at these details. 127 00:06:51,920 --> 00:06:56,530 So let's do a show IS-IS adjacency. 128 00:06:56,530 --> 00:06:58,510 And we'll add detail. 129 00:06:58,510 --> 00:07:01,480 Notice that on each of these neighborships, 130 00:07:01,480 --> 00:07:04,090 to router 4 to router 3 to router 6, 131 00:07:04,090 --> 00:07:08,930 even we have an adjacency sid listed for each one of these. 132 00:07:08,930 --> 00:07:12,940 So we can see that that's also being exchanged through IS-IS. 133 00:07:12,940 --> 00:07:15,880 This command is a little bit different on IOS XE, 134 00:07:15,880 --> 00:07:18,730 so let's take a look on router 5 as well. 135 00:07:18,730 --> 00:07:22,180 Here we'll do a show IS-IS neighbors detail. 136 00:07:22,180 --> 00:07:24,200 But notice for each one of these. 137 00:07:24,200 --> 00:07:28,250 it's also listing the adjacency sid values. 138 00:07:28,250 --> 00:07:30,740 So now that we've done a little bit of investigation 139 00:07:30,740 --> 00:07:33,250 let's go ahead and configure the rest of our routers 140 00:07:33,250 --> 00:07:38,260 to send their prefix sid for their loopback into IS-IS. 141 00:07:38,260 --> 00:07:40,330 So let's go over to router 2. 142 00:07:40,330 --> 00:07:43,150 So we'll simply go into configuration mode 143 00:07:43,150 --> 00:07:48,610 in the router IS-IS 1, into our interface loopback 0, 144 00:07:48,610 --> 00:07:50,830 into our address family. 145 00:07:50,830 --> 00:07:52,870 And we'll set our prefix sid-- 146 00:07:52,870 --> 00:07:54,910 this time, let's do an index. 147 00:07:54,910 --> 00:07:57,460 And let's set the index to two. 148 00:07:57,460 --> 00:08:01,330 We'll commit the changes and exit configuration. 149 00:08:01,330 --> 00:08:05,080 This way, we can see how the index works very similar to how 150 00:08:05,080 --> 00:08:07,000 the absolute value works. 151 00:08:07,000 --> 00:08:09,220 Let's actually go to router 1 real quick 152 00:08:09,220 --> 00:08:12,790 and check to make sure that it's getting router two's label 153 00:08:12,790 --> 00:08:15,260 or prefix sid correctly. 154 00:08:15,260 --> 00:08:18,070 So on router 1, we'll just look at the show IS-IS 155 00:08:18,070 --> 00:08:20,260 segment routing label table. 156 00:08:20,260 --> 00:08:22,570 Notice how even though we configured it 157 00:08:22,570 --> 00:08:25,360 with an index rather than an absolute value, 158 00:08:25,360 --> 00:08:28,940 that it's still getting the label 16,002. 159 00:08:28,940 --> 00:08:31,700 Because again, we can put this in either way 160 00:08:31,700 --> 00:08:35,039 there's not any difference for how it actually functions. 161 00:08:35,039 --> 00:08:37,640 So now, let's configure routers 3 and 4. 162 00:08:37,640 --> 00:08:40,190 Again this is going to be almost identical 163 00:08:40,190 --> 00:08:43,049 except for the prefix sid itself. 164 00:08:43,049 --> 00:08:46,470 So I'll just copy and paste this configuration in. 165 00:08:46,470 --> 00:08:47,390 So there's router 3. 166 00:08:47,390 --> 00:08:50,870 And again, we'll just use absolute values on these. 167 00:08:50,870 --> 00:08:53,030 We've already seen how index works. 168 00:08:53,030 --> 00:08:54,740 And router 4. 169 00:08:54,740 --> 00:08:57,620 So now router 5, of course, IOS XE 170 00:08:57,620 --> 00:09:00,770 is slightly different how we configure it. 171 00:09:00,770 --> 00:09:04,380 On IOS XE, we actually configure this globally. 172 00:09:04,380 --> 00:09:08,270 So what we do is we go into segment routing for MPLS 173 00:09:08,270 --> 00:09:10,520 from global configuration. 174 00:09:10,520 --> 00:09:15,380 And then, we want to modify the connected prefix to SSID map. 175 00:09:15,380 --> 00:09:18,200 Then we go into our address family. 176 00:09:18,200 --> 00:09:23,360 Then we Enter the subnet, so in this case, 10.5.5.5/32. 177 00:09:23,360 --> 00:09:26,450 And then, we can choose absolute or index. 178 00:09:26,450 --> 00:09:28,520 Again we'll just do absolute. 179 00:09:28,520 --> 00:09:31,340 The value of 16,005. 180 00:09:31,340 --> 00:09:34,370 And we can actually tell it a range to use if we want. 181 00:09:34,370 --> 00:09:37,850 We don't need to do that, so we'll just exit configuration. 182 00:09:37,850 --> 00:09:41,690 Then let's take a look at our segment routing prefix map. 183 00:09:41,690 --> 00:09:46,310 Notice that now all of the devices have prefix sid. 184 00:09:46,310 --> 00:09:50,700 If we do a show MPLS forwarding table, here at the bottom, 185 00:09:50,700 --> 00:09:54,390 notice we have all of those prefixes listed here 186 00:09:54,390 --> 00:09:55,440 in our table. 187 00:09:55,440 --> 00:10:00,990 Of course, not the local one but for routers 1, 2, 3, and 4. 188 00:10:00,990 --> 00:10:05,340 Let's jump back over to router 1 and do some more verification. 189 00:10:05,340 --> 00:10:09,520 If we do our show IS-IS segment routing label table, 190 00:10:09,520 --> 00:10:13,080 we can see that this router now has all of the entries for all 191 00:10:13,080 --> 00:10:15,190 of the other routers as well. 192 00:10:15,190 --> 00:10:20,700 Let's do a show IS-IS database verbose for this router XR: 1. 193 00:10:20,700 --> 00:10:23,370 And notice we can see right here it's 194 00:10:23,370 --> 00:10:25,800 loopback interface being advertised 195 00:10:25,800 --> 00:10:29,040 with a prefix sid index of 1. 196 00:10:29,040 --> 00:10:33,660 So this is what it looks like in the IS-IS database. 197 00:10:33,660 --> 00:10:36,610 If we do a show MPLS forwarding table. 198 00:10:36,610 --> 00:10:41,040 So we see here that it has all of the Segment Routing prefix 199 00:10:41,040 --> 00:10:42,150 SSIDs. 200 00:10:42,150 --> 00:10:46,703 However, if we look at what it's going to use for 10.5.5.5, 201 00:10:46,703 --> 00:10:48,120 we see that it's still going to be 202 00:10:48,120 --> 00:10:53,370 using either 24,009 or 24,006. 203 00:10:53,370 --> 00:10:56,070 So it looks like it's not actually 204 00:10:56,070 --> 00:10:58,650 using the prefix SSIDs. 205 00:10:58,650 --> 00:11:00,450 Let's verify this. 206 00:11:00,450 --> 00:11:03,645 We'll go back and do our trace from router 6 again. 207 00:11:03,645 --> 00:11:06,800 208 00:11:06,800 --> 00:11:09,130 So what do we see on this trace? 209 00:11:09,130 --> 00:11:12,100 Well, again, what we're really focusing on 210 00:11:12,100 --> 00:11:17,030 is hop 2, where router 1 is forwarding the traffic using 211 00:11:17,030 --> 00:11:25,240 ECMP, but it's sending the labels 24,006 and 24,009. 212 00:11:25,240 --> 00:11:30,340 Which indicates it's not using our sr. prefix 213 00:11:30,340 --> 00:11:34,090 sid even though we have them configured, 214 00:11:34,090 --> 00:11:36,640 and we have verified that they're being 215 00:11:36,640 --> 00:11:39,610 learned on all the devices. 216 00:11:39,610 --> 00:11:43,720 In this video, we saw how to configure our prefix 217 00:11:43,720 --> 00:11:50,950 sids both on IOS XR and iOS XE for IS-IS. 218 00:11:50,950 --> 00:11:53,560 Now interestingly, even though we 219 00:11:53,560 --> 00:11:56,080 verified that these are on all the devices, 220 00:11:56,080 --> 00:11:59,590 we saw here at the end that our routers are still 221 00:11:59,590 --> 00:12:01,460 not using those labels. 222 00:12:01,460 --> 00:12:04,690 These are using the LDP labels that 223 00:12:04,690 --> 00:12:08,090 have been here since we started this entire section. 224 00:12:08,090 --> 00:12:10,520 Now, this is obviously a problem. 225 00:12:10,520 --> 00:12:13,970 However, we sort of already know what the problem is. 226 00:12:13,970 --> 00:12:17,680 The problem is that sr. by default 227 00:12:17,680 --> 00:12:21,410 will not be preferred over LDP. 228 00:12:21,410 --> 00:12:23,410 So what's happening here is these devices 229 00:12:23,410 --> 00:12:28,340 are preferring the LDP label over the prefix sid. 230 00:12:28,340 --> 00:12:32,020 Now clearly, since we want to see segment routing working, 231 00:12:32,020 --> 00:12:34,660 this is not going to be desired behavior, 232 00:12:34,660 --> 00:12:36,670 and we're going to want to change this. 233 00:12:36,670 --> 00:12:38,840 That's exactly what we're going to do next. 234 00:12:38,840 --> 00:12:42,590 But until then, I hope this has been informative for you, 235 00:12:42,590 --> 00:12:45,670 and I'd like to thank you for viewing. 236 00:12:45,670 --> 00:12:49,000