So now we have segment routing completely operational,
but that's with using ISIS as our IGP,
and that may not be what you're using.
We may be using OSPF as our core protocol.
So now what we're going to do is we're
going to switch our core over to OSPF
and look at how the segment routing prefixes
are actually carried inside the OSPF database.
That's going to be our main focus here.
So let's go ahead and bring up the topology.
Just talk quickly about what we're going to be changing
and in this case more importantly, what has already
been configured, then we'll jump into the command line
and we'll get this up and running with OSPF
with segment routing.
So even though we're changing our IGP here,
we are still on MPLS Topology 1.
We're not changing anything about the baseline structure.
And also note that all of the routers
except router 1 and router 5 have already
been switched over to OSPF.
In this particular case, this is just
going to be a lot of typing and/or copying and pasting
so rather than going through all of that,
we've already configured all of the other devices.
This way, we get to see one iOS XR device and one iOS XE
device, and how to convert these from ISIS to OSPF.
Then of course, we're going to be focusing
a lot on the database and how it carries the segment routing
information.
So let's go ahead and jump into our configuration.
So since this is a lot of configuration
and it's really just a bunch of typing,
let's just talk about the configuration
we're going to put on each of our devices
and then we'll just paste it in.
So what I have here is on the left,
we have the configuration for router 1 and on the right,
we have the configuration for router 5,
and we'll go through each one of these.
So starting with router 1, the first thing we're going to do,
of course, is turn off the router ISIS process.
We'll enable OSPF 1, configure its router ID,
go into the IPv4 unicast address family, and into area 0.
Then, of course, we get to the first big piece
of the configuration, which is we're going to turn
on segment routing MPLS.
We then go into our loopback 0 interface
to assign that prefix SID of 16,001.
Notice that so far, this is actually
very similar to how we configured ISIS.
If you look at the rest of this configuration,
this is just configuring OSPF interfaces
to be point to point since these are all acting
as point to point connections.
And if we look at the configuration for router 5,
it's actually very similar.
Once again, we turn off router ISIS 1,
we turn on router OSPF 1, turn on our segment routing MPLS,
set our routing ID, and then look at all
the rest of these commands.
All of these are again, just configuring
the interfaces to be in the area and be point to point.
This is all OSPF configuration we've seen before.
So really, the only important part
is the segment routing MPLS part up
at the top of both of these configurations.
So that said, let's go ahead and paste
each of these configurations into the respective routers.
Let's go over to router 1.
So we'll paste the config here on router 1.
If we look through these outputs,
we see neighborships coming up with router 6, router 4,
and router 3.
So that looks good.
Let's go over and put the configuration on router 5.
We'll paste our configuration on router 5.
And once again, we see neighborships coming up
with router 8, router 9, router 10, router 4, and router 3.
So this looks like all of our OSPF neighborships
have come up.
Let's do a little bit of verification.
Let's do a show OSPF neighbor detail.
So here, we see the information for neighbor 10 what we're
really looking for here is where it has the SR adjacency label.
In this case, it's label 18.
Down here a little further, we see that for neighbor 9,
it's SR adjacency label 17.
And if we were to continue looking down,
each of these neighbors would have an adjacency label.
So we already see that OSPF is exchanging adjacency labels.
Let's look at a show MPLS forwarding.
Notice that we have not only the adjacency labels just like we
did in ISIS, but we also have all of our prefix SIDs
showing up here exactly as they should.
So this looks exactly the same as it did when
we were using ISIS as our IGP.
The command to look at this in the database
is show IP OSPF database, opaque area, type extended prefix.
And what we're seeing here are the type 10 opaque area link
states for area 0.
So notice that overall, these are type 10 opaque LSAs.
However, there's also an opaque type, which in this case
is type 7, which is an extended prefix.
Notice that this particular entry happens
to be for router 5's loopback.
We see the prefix listed.
We see that it's an intra area route.
We see that the N-bit is actually
set indicating that this is also a node SID.
Then if we scroll down a little more,
we have the Sub-TLV type of prefix SID.
We can actually see that this is being assigned prefix SID 5.
Of course, that's based on the index so it would be 16,005.
If we were to continue to scroll down,
all of the other entries for the other routers
are here in the database.
As an example here is router 1's loopback and so on.
They're all here.
So now that we have all those entries, if we do a show
IP cef to say get to router 1's loopback, what
we see is whether this traffic is going
to router 3 or router 4 next.
We're still using the prefix SID 16,001
that we received through OSPF.
So we can see this is working exactly as it did in ISIS.
Let's hop over to router 1 and take
a look at some verification commands on iOS XR.
So we have essentially the same commands on iOS XR but let's
start here by looking at the adjacency SIDs specifically.
So here, we can see that we are, in fact, learning
the adjacency SIDs for our different adjacent routers
and we can look at the extended prefixes here as well.
We'll filter by self-originated just to look at one entry here.
And what we see here is, once again,
this is a type 10 opaque area link state, opaque type 7,
and then we have all the information about our loopback
as well as the SID index here at the bottom.
So we can clearly see all of this same information being
passed through OSPF just like it was in ISIS.
At the end of the day though, none of this
matters if our data plane isn't working.
So let's verify our data plane as well.
So we'll hop over here to router 6
and we'll trace to router 5's loopback,
sourcing it from our loopback.
As we can see here from our trace output,
this is working exactly as expected.
At hop 2, not only are we doing multipathing as we should be,
but we can see that we're using the prefix SID
from router 5 for its loopback.
And it's within the SRGB so we know that we're
doing segment routing.
So this is working exactly as it should with OSPF just
like it did with ISIS.
In this video, we took a look at how
segment routing works if we change our core
protocol from ISIS to OSPF.
And what we found out is all of the same information
is carried in OSPF in type 10 opaque LSAs
in different opaque types, mostly in type 7s.
So this is completely functional with OSPF
as much as it is with ISIS.
And that concludes everything we need to discuss in this skill.
So that leaves us with just the review in the form of a quiz
and that's exactly 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.