all 17 comments

[–]CBRjackCCNA RS/W, BCNP, BCvRE 5 points6 points  (8 children)

Great write up! It's nice to see some IOS-XR love, it's quite rare in here.

And for those who doubt of BGP's flexibility, the route selection process takes 13 different parameters into account. For each route.

That's the main reason it's used at the ISP level. Flexibility and granularity like this allows for a lot of political and economical routing decisions, compared to the purely technical decisions of IGPs.

[–]the-packet-throwerMeow 🐈🐈Meow 🐱🐱 Meow Meow🍺🐈🐱Meow A+![S] 2 points3 points  (7 children)

You gotta love a router that has a built-in VIM editor :)

[–]CBRjackCCNA RS/W, BCNP, BCvRE 1 point2 points  (6 children)

Yeah, our backbone is made mostly of CRS-1, CRS-3, and ASR9000 (and way too many 6509). The first time someone sends you a bit of XR config, it's quite surprising.

They are too fancy and expensive for me to be able to play with though, so I haven't touched much of IOS-XR apart from labs and simulations. I just blow peoples mind with Tcl scripts.

[–]the-packet-throwerMeow 🐈🐈Meow 🐱🐱 Meow Meow🍺🐈🐱Meow A+![S] 1 point2 points  (4 children)

VIRL's XRv node is pretty solid, it has some limitations if your trying for your CCIE-SP but they have a XR 9000 image that solves some of the pain points.

[–]CBRjackCCNA RS/W, BCNP, BCvRE 1 point2 points  (1 child)

One day, I'll be able to afford a server and VIRL and I'll be very happy. So much fun to be had with weird, overly complex, completely useless architectures, just like our real network...

[–]the-packet-throwerMeow 🐈🐈Meow 🐱🐱 Meow Meow🍺🐈🐱Meow A+![S] 2 points3 points  (0 children)

It is a great investment, I use VIRL almost daily...though I freely admit that I'm a very advanced user and I'm used to openstack and linux so I don't have a problem with using openssl and quagga to glue things together for my crazy labs. Even if you don't get it, there is plenty of value in a beefy server :)

[–]PsychoMetCCNA R&S 0 points1 point  (1 child)

I hope some day it will support l2vpn data forwarding, not just control plane.

[–]the-packet-throwerMeow 🐈🐈Meow 🐱🐱 Meow Meow🍺🐈🐱Meow A+![S] 0 points1 point  (0 children)

One day maybe, most hardware functions tend to be control plane only unfortunately. Then again the actual XRv product is around mainly to be a route-reflector etc and if it happens to help out with learning etc then that is cool too. Maybe now that most of the CCIEs are virtual they will put more effort into it.

Then again I have had quite a few debates about VIRL and CCIE limitations since if VIRL can't support private-vlans or L2VPNs then the CCIE lab likely can't support it either so it really comes down to how badly Cisco wants to test on those features.

[–]HighGainWiFiAntenna¯\_(ツ)_/¯ 0 points1 point  (0 children)

[–]DigTw0Grav3sCCENT 1 point2 points  (1 child)

Can you ELI5 the signifigance of transit links? I see them referenced in BGP topics a lot.

The impression I'm getting is that BGP neighborships are built virtually on top of their actual data links?

[–]the-packet-throwerMeow 🐈🐈Meow 🐱🐱 Meow Meow🍺🐈🐱Meow A+![S] 1 point2 points  (0 children)

A transit interface is a peering interface that isn't relevant to the traffic forwarding decision. Traffic just flows through it.

From my example above the loopbacks can reach each other without the 200 subnets being advertised. The only consequence is that a ping sourced from the 200 interface will fail because the subnet isn't known by the other router.

[–]FoxPacerIsWorkCCNA R&S 0 points1 point  (0 children)

Very well done!

[–]GogDogCCNA R&S, Net+ 0 points1 point  (3 children)

Discussing about whether to advertise a network in BGP or not, could I run, for example, OSPF inside my network and advertise all networks inside, but only advertise select networks in BGP that I want to be reachable from the outside?

[–]the-packet-throwerMeow 🐈🐈Meow 🐱🐱 Meow Meow🍺🐈🐱Meow A+![S] 1 point2 points  (2 children)

Yup, keep in mind that for a standard BGP connection you would only advertise public IP ranges. You would only advertise private ranges if it was a mpls carrier. I was just being lazy in the example.

In the case of mpls you would mutually redistribute your IGP into BGP and vice versa, you might also filter the BGP transit network from entering the IGP but the CCNA keeps it simple.

[–]GogDogCCNA R&S, Net+ 0 points1 point  (1 child)

I (admittedly only briefly) tried a NAT experiment with OSPF last week where I tried to advertise the outside interface range and get pings to work across my three routers. The only way I could think to advertise the outside range without using a static route was by setting up a loopback with a /24 and advertising that subnet in OSPF. It didn't work and I was stressing over being ready for the ICND1 so I didn't spend a lot of brainpower over it. But maybe that solution is easier in BGP? Keep in mind I've only studied ICND1-level OSPF. I know there's still much to learn in ICND2.

[–]the-packet-throwerMeow 🐈🐈Meow 🐱🐱 Meow Meow🍺🐈🐱Meow A+![S] 1 point2 points  (0 children)

When routing with NAT you have to keep the order of operations in mind, for inbound nat - nat is done first then routing but with outbound nat - routing is done first and then nat happens so you need to make sure router knows how to reach the destination address.

Though we would need to see your NAT config to see where it went wrong.

[–]vlan-whisperer 0 points1 point  (0 children)

I am glad that Cisco is including BGP and all, but why single-homed? It actually makes more sense not to BGP Peer in a single-homed environment.