[AUDIO LOGO]
So now that we have IS-IS configured
to use segment routing and we've seen
that it has reserved the SRGB for IS-IS use,
our next step would be to bring prefix sid's
into segment routing.
Remember, this is a manual process,
so we have to bring the prefixes that we
want to use with segment routing in as a manual process.
So what we're going to do is we're
going to bring in the loopback interfaces on our core devices.
So, in this case, it's going to be routers 1 through 5.
So let's go ahead and bring up our topology
just so we remember how they're connected.
And then, we'll jump into the command line,
and we'll bring those prefixes for the loopback interfaces
into IS-IS.
While we're at it, we'll actually fire up Wireshark.
We'll take a look at what those IS-IS
updates look like on the wire.
And, of course, we'll dig into the IS-IS database
so we can see this information as well.
So let's go ahead and take a look at that topology,
and then we'll get started.
So once again, we're on MPLS topology 1.
And as we mentioned, we're going to be advertising the loopback
interfaces on each of these routers into segment routing.
So, in other words, we're going to be giving
each of these a prefix sid.
Keep in mind that their IP addresses are referenced up
here.
So each device is going to have an address of, for example,
10.1.1.1 for router 1.
And we're going to set up our labels to sort of follow along
that same idea.
We're going to do 16,000, and then we'll
use the device ID for the last digit.
So again, as an example, router one would be 16,001.
So that's what we're going to configure.
Let's go ahead and jump in and take a look at this.
But before we start our configuration,
I'm going to set up a Wireshark capture on this interface right
here between router 1 and router 3
so that we can catch the IS-IS update when
it advertises the loopback sid over to router 3.
So we have our Wireshark capture running.
Let's go ahead and configure router 1 here
to send a prefix sid for its loopback interface.
So to do this, we'll go into router IS-IS 1,
into our interface loopback 0, into the address family IPv4
unicast.
And then we say prefix sid.
And if we hit the question mark here,
we can see where we have this choice to do absolute or index.
Those are the two main things we need to focus on.
So we could do this as an index off of the SRGB,
or we could just set this to an absolute value.
Now since we sort of specified the number
we're going to use, let's go ahead and do absolute.
So we'll say absolute, and then, of course,
we're simply going to put in the number.
Notice that it's telling us that it has to start with 16,000.
So we'll do our 16001 commit those changes and end
configuration.
So now that we've configured this
let's do some verification.
Let's do a show IS-IS segment routing label table.
What we see here is that we now have
a label of 16,001 for the local loopback interface.
Now that's fine that router 1 knows this,
but is it showing up on the other routers.
So let's go take a look at router 3.
Once again, we'll do the show ISS
segment routing label table.
And we see that router 3 has also learned the label 16,001
for router one's loopback 10.1.1.1/32.
If we do a show MPLS forwarding table,
we can actually see that we're using the same local label
16,001 for this segment routing prefix.
And notice it's even recognizing the fact
that that is an index of 1 based off
the start point for the sRGB.
Now again, we should see this on all of the routers
at this point.
We'll just verify one more.
Let's take a look at router 2.
So same command here on router 2.
And we see that it is also aware of this label 16,001.
Let's verify on router 5 as well,
just because it is a slightly different command.
On IOS XE, we'll do a show IS-IS segment routing connected sid.
But we see that it is, in fact, learning the 10.1.1.1/32 from
the host XR 1, which is router 1.
And we see that here rather than listing the exact value,
it's actually just listing the sid index being one.
So, of course, we set up that Wireshark packet capture
for a reason.
So now let's jump into Wireshark,
do a little bit of filtering, find that update that IS-IS
sent out to these other routers and take a look
at where this is carried in the IS-IS update.
So here we have the whole packet capture that we did.
Let's filter this by IS-IS.LSP.
So if we take a look at this update coming from router 1.
And if we open the IS-IS link state PDU header
and then we open up the IP interface addresses,
we see that this is for the 10.1.1.1.
So then, if we look at the extended IP reachability,
open the loopback interface address,
notice that here we have a sub-TLV for the prefix sid.
But before we open that, also notice that under sub-TLV,
we also have the attribute flags.
One of those flags is the n indicating
that this is also a node sid.
But let's go ahead and open up that prefix sid.
And right here, we can see where it's
exchanging the fact that the sid label index is, in fact, one.
So we can see that it's sending this information
to its neighbors, and this is how the labels are
being advertised through IS-IS.
So now, let's jump back over to the command line
and do some more verification.
Since we haven't really done it yet, let's go ahead
and look at the adjacency sids while we're
taking a look at these details.
So let's do a show IS-IS adjacency.
And we'll add detail.
Notice that on each of these neighborships,
to router 4 to router 3 to router 6,
even we have an adjacency sid listed for each one of these.
So we can see that that's also being exchanged through IS-IS.
This command is a little bit different on IOS XE,
so let's take a look on router 5 as well.
Here we'll do a show IS-IS neighbors detail.
But notice for each one of these.
it's also listing the adjacency sid values.
So now that we've done a little bit of investigation
let's go ahead and configure the rest of our routers
to send their prefix sid for their loopback into IS-IS.
So let's go over to router 2.
So we'll simply go into configuration mode
in the router IS-IS 1, into our interface loopback 0,
into our address family.
And we'll set our prefix sid--
this time, let's do an index.
And let's set the index to two.
We'll commit the changes and exit configuration.
This way, we can see how the index works very similar to how
the absolute value works.
Let's actually go to router 1 real quick
and check to make sure that it's getting router two's label
or prefix sid correctly.
So on router 1, we'll just look at the show IS-IS
segment routing label table.
Notice how even though we configured it
with an index rather than an absolute value,
that it's still getting the label 16,002.
Because again, we can put this in either way
there's not any difference for how it actually functions.
So now, let's configure routers 3 and 4.
Again this is going to be almost identical
except for the prefix sid itself.
So I'll just copy and paste this configuration in.
So there's router 3.
And again, we'll just use absolute values on these.
We've already seen how index works.
And router 4.
So now router 5, of course, IOS XE
is slightly different how we configure it.
On IOS XE, we actually configure this globally.
So what we do is we go into segment routing for MPLS
from global configuration.
And then, we want to modify the connected prefix to SSID map.
Then we go into our address family.
Then we Enter the subnet, so in this case, 10.5.5.5/32.
And then, we can choose absolute or index.
Again we'll just do absolute.
The value of 16,005.
And we can actually tell it a range to use if we want.
We don't need to do that, so we'll just exit configuration.
Then let's take a look at our segment routing prefix map.
Notice that now all of the devices have prefix sid.
If we do a show MPLS forwarding table, here at the bottom,
notice we have all of those prefixes listed here
in our table.
Of course, not the local one but for routers 1, 2, 3, and 4.
Let's jump back over to router 1 and do some more verification.
If we do our show IS-IS segment routing label table,
we can see that this router now has all of the entries for all
of the other routers as well.
Let's do a show IS-IS database verbose for this router XR: 1.
And notice we can see right here it's
loopback interface being advertised
with a prefix sid index of 1.
So this is what it looks like in the IS-IS database.
If we do a show MPLS forwarding table.
So we see here that it has all of the Segment Routing prefix
SSIDs.
However, if we look at what it's going to use for 10.5.5.5,
we see that it's still going to be
using either 24,009 or 24,006.
So it looks like it's not actually
using the prefix SSIDs.
Let's verify this.
We'll go back and do our trace from router 6 again.
So what do we see on this trace?
Well, again, what we're really focusing on
is hop 2, where router 1 is forwarding the traffic using
ECMP, but it's sending the labels 24,006 and 24,009.
Which indicates it's not using our sr. prefix
sid even though we have them configured,
and we have verified that they're being
learned on all the devices.
In this video, we saw how to configure our prefix
sids both on IOS XR and iOS XE for IS-IS.
Now interestingly, even though we
verified that these are on all the devices,
we saw here at the end that our routers are still
not using those labels.
These are using the LDP labels that
have been here since we started this entire section.
Now, this is obviously a problem.
However, we sort of already know what the problem is.
The problem is that sr. by default
will not be preferred over LDP.
So what's happening here is these devices
are preferring the LDP label over the prefix sid.
Now clearly, since we want to see segment routing working,
this is not going to be desired behavior,
and we're going to want to change this.
That's exactly what we're going to do next.
But until then, I hope this has been informative for you,
and I'd like to thank you for viewing.