All right, a few quick notes about BGP.
BGP is configured differently from OSPF and EIGRP.
We're not allowed to have multiple processes
or multiple autonomous systems.
We just get one.
That has to do with the fact that BGP is designed
such that a router or an edge device
is part of exactly one autonomous system number.
And from there, we can configure address families and VRF,
sort of like what we saw with EIGRP,
but at a much more scalable level.
This has to do with how BGP works.
And so it is address family aware,
meaning IPv4 unicast versus IPv6 unicast
versus multicast and such.
And then we also are gonna see that it's VRF aware.
So we wanna be aware of that as we step into this.
We're also going to find that there are IBGP
and EBGP peerings.
And again, the network statement
is going to be very different with BGP
because BGP, like OMP, is a TCP-based protocol,
meaning I don't have to be directly connected.
I'm not going to discover a neighbor with multicast.
I'm going to send an actual explicit message to a neighbor,
which means those neighbors must be explicitly configured.
So that is how BGP works compared to EIGRP and OSPF.
They're built for very different things.
EIGRP and OSPF are built for
the internal network configurations for very fast failover.
But BGP does get used
by some very large organizations internally as well.
So when we're talking about BGP in this conversation,
we are still talking about forming a BGP connection here
with router 134.
But now we're going to have to explicitly
configure router 134 as a peer.
And then we'll find that router 134, again,
is injecting a loopback address of all 200s this time
because IBGP has administrative distance of 200.
EBGP has a much lower administrative distance of 20.
But we're not going to see that here.
So let's go ahead and jump into the configuration.
So we're going to do our config-t.
And then, again, on the iOS XE side,
get onto router BGP.
And this time we will specify an autonomous system number.
I'm going to use a private AS number of 65,001,
which means that it's not owned by another corporation
or anything like that,
sort of like a private IP address.
So from here, I'm going to do address family IPv4
and then specify the VRF of 10.
Now we need to explicitly configure that neighbor.
So my neighbor's IP address is 10.10.13.15.
And as part of the same command,
I am going to specify that it has
a remote autonomous system number, same as me, 65,001.
That's what we configured on the device.
And this tells the router whether or not
to form an IBGP or EBGP neighborship.
And then we also still have to activate this.
So this is kind of an interesting one.
By default, the neighbors are in a shutdown
or deactivated state.
I have to activate it so that it knows to reach out
and form that connection.
Now, notice I'm not adding a network statement here.
I could add a network statement, that is an option,
but network statements are not used for neighbor discovery,
they're only used to advertise routes.
And I don't have any routes I need to advertise,
so I'm just going to commit this.
Commit and end.
And now I'm going to do show BGP VRF10 neighbors.
And we will see that we do have a neighbor here,
our 10.10.13.15 with a router ID of all 200s.
So there we go, BGP is up and running.
And if I do a show IP route VRF10,
I should see that I have a BGP route.
And indeed I do for that loopback address.
But if I do show SD-WAN OMP routes, will it show up?
The answer is no, it is not going to show up.
Remember, OSPF showed up on its own
because it was internal.
EIGRP did not show up at all.
BGP doesn't show up either.
We have to explicitly configure that.
So again, on my config T, SD-WAN,
remember that's an OMP configuration.
I do have to specify the address family.
And now I can say that I want to advertise
BGP learned routes into OSPF.
So I'll commit that.
And now if I do that show SD-WAN OMP routes,
we should see all 200 show up in here.
And there, whoops, I missed it.
There it is.
So now we can go over to our edge 11.
We were timed out again.
And if I do a show IP route VRF10,
we will see that we are learning this via OMP.
So does router 131 know about OMP routes?
And the answer is no, outside of OSPF.
In fact, if I were to ping this to 200,
let's do it in the right VRF.
200.200.200.200.
This is probably gonna work, yep.
And it works because router 134
has routes to the remote subnets thanks to OSPF.
But how do I make sure that it is getting routes via BGP?
Well, let's go back to edge 13, do a config T,
get onto my router BGP,
get onto address family IPv4 for VRF10.
And now what we're going to find
is that we've got this redistribute command right here.
So I'm gonna say redistribute.
We should see OMP in there, and we do.
I'm gonna hit enter, commit, and end.
And I'm going to have to disable OSPF over here.
And I'm just going to say no router OSPF10.
I can always bring it back if I want to.
That should immediately bring down our OSPF adjacency.
And then when I do a show IP route,
we should see BGP routes in there, and we do.
So we're learning the BGP routes.
The reason why we had to get rid of OSPF
is because internal BGP or IBGP has an AD of 200,
which is way worse than OSPF at 110.
So now we see that that is how we redistribute
back into BGP.
So now that we know how to configure BGP
on our CLI for SD-WAN,
let's go ahead and log into manager and configure it there.
So we're logged into manager.
As usual, we're going to go down to our templates
to access a feature template.
We want to add one for our 8,000 Vs.
And then I scroll down again to the other templates,
and I'm gonna find Cisco BGP.
So I add this, scroll up, all the way up,
call it BGP underscore VPN 10.
We'll say BGP 4 VPN 10 for the description.
And now, as again, with all of these routing protocols,
we see that the graphical user interface
lines up pretty well with our BGP configuration.
So a few things.
First of all, we'd want to make sure
that it has an explicit autonomous system number.
If we wanted to give it a router ID here, then we could.
We also, if we keep scrolling down here,
I mean, first of all, if we run BGP regularly,
we're gonna recognize a lot of these options.
But when I come down here to Unicast address family,
this is where we can add our network statements.
Again, notice the sub tabs, always be careful of that.
I could redistribute OMP.
So just like we like to do, we redistribute OMP into BGP.
So I'll just click add there.
And then we do have the ability to add network statements.
Just keep in mind, again,
that network statements in BGP are very different.
So maybe I want to advertise a loopback
that's, I don't know, 20.20.20.20.
And then I use a network mask again
instead of a wildcard mask and click add.
So I would advertise that into BGP
so long as I have access to it myself.
And then importantly, here's the neighbor section.
So I click new neighbor,
add the address of 10.10.13.15.
And then we see a lot of the options here.
Now, remote AS is required.
Notice that it turns it into a variable here.
And that's important
because we might be connecting to different neighbors,
having different autonomous system numbers.
I might not want to make it part of the template.
I might want to specify it later.
Or I can specify it here and just say
that all of the neighbors I'm connecting to
using this template are part of 65,001.
So then we can look at advanced options here.
We can see a lot of community related configurations,
eBGP multi-hop, you know,
some of these are very important when configuring BGP,
including changing the timers
as well as including a password if we so desire.
So that should be it.
We just have to remember that this is a neighbor section.
I'm configuring a neighbor.
All of these are pertaining to specific neighbors.
I, once again, don't want to click save.
I have to click add here
to lock the neighbor into my configuration.
So from here, I can click save.
So this is my feature template.
And so I'm going to scroll up,
find my device template and edit this.
And because again, this is VPN 10,
I'm going to scroll down.
I don't want to stop here
and want to advertise BGP into VPN 10,
but rather come down to VPN 10.
We will edit this and we'll see that we can add BGP here.
And then I would specify, wrong one, right there.
I would specify the feature template that we just created.
So that is how we configure BGP
using the CLI and the graphical user interface.
It is very similar to OSPF and EIGRP.
Potentially the biggest change,
aside from the network statement
being a little bit different,
is that we have to explicitly configure our BGP neighbors
and we have to activate them.
Don't forget that little caveat there as well.
So let's make sure we practice that a few times
and make sure we've got the CLI, the syntax down,
as well as knowing where to configure it
inside of the manager graphical user interface.