So let's jump in and get started by configuring
IS-IS, which is our core IGP to support segment routing.
Now, we already have IS-IS set up and configured,
and we will spend a little bit of time exploring
that environment so we can see what's happening by default
on our different platforms before we jump in
and actually start configuring segment routing.
But then, of course, the main focus
here is going to be to configure IS-IS for segment routing.
Now, if your environment uses OSPF, don't worry,
we're going to do OSPF at the end of this section as well.
But we're going to start with IS-IS.
So let's go ahead and get started.
We'll bring up our topology first
so we know which topology we're using
and how things are set up and laid out.
And then we'll jump into that command line,
and we'll get IS-IS configured for segment routing.
So for this skill, we're going to be back on MPLS topology 1.
And we're going to be focusing on, of course,
the core of our network, but understand
that all of the devices are running IS-IS.
So we'll be doing a lot of testing, for example,
from router 6 to router 5's loopback so we can see what
the labels are doing And so on.
So even though all of the devices
are going to be running IS-IS and then,
later, OSPF, it is still only the devices here in our core
that are actually running MPLS and will
be doing segment routing.
So that said, let's go ahead and jump into the command line.
Like I said, we'll start by doing some observations
about what's currently going on in the environment.
So let's start here on router 6 by tracing
to router 5's loopback.
We'll source it from our own loopback interface.
So what we want to observe here--
first, of course, we have connectivity.
So this connection is working.
Then, notice on the second hop, we're
actually using an MPLS label.
In this particular case, it's 24,009.
Now, if we remember, 24,000 and up
on iOS XR, which is what router 4 is running,
that is part of the dynamic label range.
So this is not using labels from the SRGB, or the Segment
Routing Global Block.
We could verify this on router 1 as well.
Couple of things we could look at here-- we could do a show
MPLS forwarding table.
What we're looking for here is, of course,
going to the 10.5..5.5/32, we see that it's actually doing
equal cost multipathing, and it's using either label 24,009
as it goes towards router 4, out gigabit 0002,
or it's using 24,006 towards router 3, out gigabit 0001.
But whichever path it takes, it does still
have a label coming from the dynamic range.
If we look at the show MPLS label table detail, what
we see here is that we have many labels in use, most of them,
aside from reserved labels, are above the 24,000 mark.
So we have some here--
24,003, 24,004, and so on.
But notice for all of these prefixes,
they're currently all out of the dynamic range.
We can also verify that if we do a show MPLS label range,
we can see here that the default range for dynamic labels
starts at 24,000.
So if you remember from previous skills, on iOS XR,
the default dynamic range for labels is 24,000 plus.
And we can see that here represented on the command
line.
But if we jump over to iOS XE, we'll
see it doesn't operate exactly the same way.
So let's jump over to router 5.
We'll do a show MPLS forwarding table.
Notice that all of the local labels
here are starting at label 16 and going up.
The outgoing labels, of course, from the other routers, which
are all running iOS XR, are in that 24,000 plus range.
We can, of course, verify that with a show MPLS label range
as well.
And we see that the downstream generic label
region, which is, essentially, the dynamic range,
starts at 16.
So we see that this is the default behavior
before we begin to implement segment routing.
So now that we've observed how it acts before segment routing,
let's go ahead and get started with our actual configuration
of IS-IS to support segment routing.
We'll just start on router 1.
So we'll go into configuration mode
into router IS 1, into our address family IPv4 unicast.
And all we have to do is configure segment
routing for MPLS.
We'll commit those changes, and we'll exit configuration.
So now that we've done that, let's see
if IS-IS is now using the SRGB.
So let's do a show--
MPLS label table detail.
And what we're looking for is right here,
where we see that the label 16,000 is IS-IS.
And notice the label block is even listed as SRGB.
We see that starting label of 16,000,
with a size of 8,000, meaning that it will go up to 23,999.
So here, we can see that SRGB being implemented here and tied
to IS-IS just by configuring IS-IS to use segment routing.
Let's go ahead and configure router 3.
It's the exact same configuration.
And we can see if we look at our show, MPLS label table detail,
that it has assigned the block on this router as well.
Routers 2 and 4 will be exactly the same,
so this time we'll just paste the configuration.
So there's the configuration on router 2 and on router 4.
This, of course, still leaves iOS XE
to configure on router 5.
IOS XE is almost the same.
However, it does have a requirement
to actually enable this under global configuration first.
So we can see that it's now enable
segment routing globally.
Now, what we can do is go into router IS-IS 1.
And it's actually just the same command here,
we just do segment routing MPLS again.
And we can exit configuration.
So if this has been successful, we
can do some verification commands here.
We'll do show segment routing, MPLS state.
This, of course, tells us that it's enabled,
much like the console message did when we turned it on.
We can also do GB to see the global block.
And here, we can see that now that we've
enable segment routing, the SRGB uses those same default values,
16,000 to 23,999.
And now, they're actually reserved here on iOS XE.
If we do the show MPLS label range again,
notice that it didn't change the dynamic range.
However, it now has a range of 16,000
through 23,999, now permitted to be used by IS-IS, OSPF, and BGP
segment routing.
But, of course, we've only enabled IS-IS so far.
If we look at the show IS-IS segment routing global block,
we can see here that we've learned
the global block's being used by all
of the other routers in our system.
So IS-IS is passing that information correctly.
And we see that here on router 5,
we're also using the 16,000 with a range of 8,000.
So now, IS-IS is configured to support segment routing.
In this video, we took a look at how to configure IS-IS
to support segment routing, which really is just a matter
of enabling the feature under the routing process--
except on iOS XE, where, of course, we have to enable it
globally as well.
But other than that, this is not a very difficult process
to configure, so this is now up and running.
The next thing we're going to have to do,
however, is configure prefixes with prefix sids.
Because as of right now, we're not really putting anything
into segment routing.
There are no prefix sids yet.
So that's what we're going to do next.
Until then, I hope this has been informative for you,
and I'd like to thank you for viewing.