Everyone has configured at least one a router with bgp configuration in IOS. Now in IOS XR the configuration of the bgp (and all other protocols) are a lot different that we used too. I am going to show you a few differences on how the configuration looks like in IOS XR vs IOS. Lets see the following configuration for ebgp in IOS:
router bgp 123 bgp router-id 10.10.10.10 neighbor 126.96.36.199 remote-as 456 neighbor 188.8.131.52 description eBGP Peer neighbor 184.108.40.206 ebgp-multihop 2 neighbor 220.127.116.11 update-source Loopback0 neighbor 18.104.22.168 version 4 neighbor 22.214.171.124 send-community both neighbor 126.96.36.199 soft-reconfiguration inbound neighbor 188.8.131.52 default-originate
I believe that the bgp parameters are crystal clear because its a simple ebgp configuration with a neighbor’s loopback. What has change in IOS XR? Look at the following:
router bgp 123 bgp router-id 10.10.10.10 address-family ipv4 unicast ! ! neighbor 184.108.40.206 remote-as 456 ebgp-multihop 2 update-source Loopback0 address-family ipv4 unicast default-originate ! !
As you can see the way of writing the configuration has changed a lot. Each sub-command for every neighbor is written under the neighbor section. In IOS XR there is no need to repeat the neighborcommand just to write the
To see if the neighbor is active you must type the following command:
show bgp summary RP/0/RP0/CPU0:router#sh bgp sum Thu Oct 27 10:44:16.288 EEST BGP VRF Inside-1, state: Active BGP Route Distinguisher: 6866:3000 VRF ID: 0x60000001 BGP router identifier 10.10.10.10, local AS number 123 BGP table state: Active Table ID: 0xe0000001 RD version: 36 BGP main routing table version 36 BGP is operating in STANDALONE mode. Process RcvTblVer bRIB/RIB LabelVer ImportVer SendTblVer StandbyVer Speaker 36 36 36 36 36 36 Some configured eBGP neighbors (under default or non-default vrfs) do not have both inbound and outbound policies configured for IPv4 Unicast address family. These neighbors will default to sending and/or receiving no routes and are marked with '!' in the output below. Use the 'show bgp neighbor ' command for details. Neighbor Spk AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down St/PfxRcd 220.127.116.11 0 456 1453 1293 36 0 0 19:16:13 0!
As you can see the Received is 0, but we are sending routes to this peer…if you can notice there is the exclamation mark besides 0. What this means? If we can notice above it says that to give the command ‘show bgp neighbor’ for details…lets see…
RP/0/RP0/CPU0:router#do sh bgp nei 18.104.22.168 Thu Oct 27 10:52:54.542 EEST BGP neighbor is 22.214.171.124 Remote AS 456, local AS 123, external link Remote router ID 126.96.36.199 BGP state = Established, up for 19:24:51 Last read 00:00:03, Last read before reset 19:25:07 Hold time is 180, keepalive interval is 60 seconds Configured hold time: 180, keepalive: 60, min acceptable hold time: 3 Last write 00:00:03, attempted 23, written 23 Second last write 00:00:47, attempted 19, written 19 Last write before reset 19:25:03, attempted 60, written 60 Second last write before reset 19:25:03, attempted 44, written 44 Last write pulse rcvd Oct 27 10:52:51.288 last full not set pulse count 2727 Last write pulse rcvd before reset 19:25:03 Socket not armed for io, armed for read, armed for write Last write thread event before reset 19:25:03, second last 19:25:03 Last KA expiry before reset 19:25:22, second last 19:26:22 Last KA error before reset 00:00:00, KA not sent 00:00:00 Last KA start before reset 19:25:03, second last 19:25:22 Precedence: internet Enforcing first AS is enabled Neighbor capabilities: Route refresh: advertised and received 4-byte AS: advertised and received Address family IPv4 Unicast: advertised and received Received 1469 messages, 0 notifications, 0 in queue Sent 1304 messages, 0 notifications, 0 in queue Minimum time between advertisement runs is 0 secs For Address Family: IPv4 Unicast BGP neighbor version 46 Update group: 0.2 Filter-group: 0.1 No Refresh request being processed eBGP neighbor with no inbound or outbound policy; defaults to 'drop' Default information originate: default sent Route refresh request: received 0, sent 6 0 accepted prefixes, 0 are bestpaths Cumulative no. of prefixes denied: 10. No policy: 10, Failed RT match: 0 By ORF policy: 0, By policy: 0 Prefix advertised 4, suppressed 0, withdrawn 2 Maximum prefixes allowed 524288 Threshold for warning message 75%, restart interval 0 min An EoR was not received during read-only mode Last ack version 46, Last synced ack version 0 Outstanding version objects: current 0, max 1 Additional-paths operation: None
As you can the IOS XR says that ” eBGP neighbor with no inbound or outbound policy; defaults to ‘drop’ ” What that means? It means that the IOS XR must need to configure a route-policy (or a route-map in IOS language) or else doesn’t send or receive any prefixes. So what can we do? The simplest is just to configure a route-policy with no configuration in order to enable the send or receive prefixes.
router bgp 123 bgp router-id 10.10.10.10 address-family ipv4 unicast ! ! neighbor 188.8.131.52 remote-as 456 ebgp-multihop 2 update-source Loopback0 address-family ipv4 unicast route-policy test in route-policy test out default-originate ! !
As we can see I configured under the bgp process the same route-policy (in|out). So the only thing that we need is that route-policy test. We configured it like this:
(config)#route-policy test (config)# pass (config)#end-policy (config)#commit !
So the point is that in IOS XR there must be at least and inbound or outbound route-policy or else the default is to drop prefixes!!!
This year the World Carrier Ethernet Congress will take place in Amsterdam. Lots of companies will attend, among them Juniper, Cisco and Ericsson. The great news is that i am going to attend also, so i am excited to be there and attend to all theses sessions. The congress is 4 days whereas in the first day the preconference takes place. I will attend the preconference workshop from Cisco. It should be very interesting.
On each of the rest of the days there three stream that one can attend. These are:
Stream 1: Solving the Technical Challenges for Carrier Ethernet
Stream 2: Delivering Successful Services and Applications with Carrier Ethernet
Stream 3: Investigating the Model for Media Delivery with Carrier Ethernet
where in each one of them there are 4-5 sessions.
The first two looks promising but i think i will attend more sessions from Stream 1. Is more technical! 🙂
Well I believe it will be a nice congress, and in a very nice city!
As all know Cisco Systems has introduced years ago the IOS XR along with the CRS-1 Platform! Now its on two more platforms, ASR9000 and 12000 XR based. IOS XR is based on a micro kernel of Linux provided by QNX. This IOS has been created from scratch in order to provide the flexibility and modularity for the IOS system that lacked! Before IOS XR, IOS based on monolithic operating system that all processes based on its kernel. When a process crash the whole IOS crash, when one wanted to make an IOS upgrade then he should upgrade the whole image.
But with IOS XR all these left to the past. The operating system that is very modular doesn’t use the same philosophy with IOS, all process run independently of each other, if one crash it doesnt affect others, it just restarts, or by of course when the administrator wants to make an upgrade of the operating system because for example a bug found in the OSPF code, then all that he has to do is to run a “patch” for only the OSPF code and not for the entire operating system. So the administrator just patch the code on the fly without interrupting the operation of the router!
Although this is very handy this is not the only change. The changes affected also the operation CLI. Of course there are many similarities of the commands, but there are many changes of how an administrator must type in order to program the router. They have change the way of typing the commands, they change the philosophy!
For example, in IOS whenever an administrator typed a command, the router executed immediately. Now in IOS XR after the command the administrator must type also the command ” Commit ” in order for the router to executed and the configuration to become part of the running configuration. Although is not necessary after each command to type “commit”, an administrator can write all the configuration commands, check them for any errors, and when he is ready he can type commit and voila, the router executes all the commands at once! Pretty nice huh? Another thing is after the administrator type commit the operating system also checks for any configuration errors, syntax or system reserved words such as ospf, bgp, etc! Of course the administrator can see the configuration that has already typed with the command
Another nice feature of IOS XR is the mechanism to rollback the configuration! What that means? Is whenever an administrator types commands and commit them, the system generates a checkpoint which each one has a different ID for each configuration code after the command commit has entered for rollback actions! So if an administrator wants to lets say undo the configuration who just committed he just selects the last checkpoint and make a rollback!!!!
In order to see the rollback points:
Router#show rollback points
and to restore the checkpoint:
Router#rollback configuration to
This is how the operating flexible is. Another interesting change is, as I’ve said, the change of the commands. For example in IOS, for OSPF we used to do all the commands under router ospf. Now we do the same thing but, for each area we type the command under the area, not just which network define an area but also cost, network etc.
It looks like this:
router ospf 1 area 0 interface Gigabitethernet0/0/0 cost 10 network point-to-point area 1 interface Gigabitethernet0/0/1 cost 20 network point-to-point
See all the commands for OSPF is done under OSPF process! By the way the process id…is a string you can type anything for example ” router ospf John” !
It seems that is a very flexible operating system, and of course for the administrator will need some time to get used to, especially the commit command that i always forget! More posts on IOS XR in the future!!
You all know that are some shortcuts when we do a show running-configuration in the IOS, for example when we do in the cli show run the running-configuration will be shown to us! Ofcourse the system awaits for the space key to proceed to the next screen, in this stage if instead we press the key ” / ” then the screen pauses and waits for an input!!! if we enter for example ” line vty” it will take us directly to line vty….think of it as the command : ” show run | b line ” !!!
There is also another way to get the part of the configuration that maybe use of us! In any 7600, ASR,10000,3600X, 3800X platform or any other latest platform that i have tested if you type: show run partition
7600#show running-config ? all Configuration with defaults brief configuration without certificate data class-map Show class-map information full full configuration interface Show interface configuration map-class Show map class information module Show module configuration partition Configuration corresponding a partition policy-map Show policy-map information view View options vlan Show L2 VLAN information vrf Show VRF aware configuration
As you can see we can bring a selected partition of the configuration without parsing the whole running-configuration, only the part that we need! For example if i want to see only the bgp configuration i would typed:
7600#sh run partition router bgp 123456 router bgp 123456 bgp router-id 184.108.40.206 no bgp default ipv4-unicast bgp log-neighbor-changes neighbor RR peer-group neighbor RR remote-as 123456 neighbor RR update-source Loopback0 neighbor 220.127.116.11 peer-group RR neighbor 18.104.22.168 peer-group RR ! address-family ipv4 no synchronization no auto-summary exit-address-family ! address-family vpnv4 neighbor RR send-community both neighbor 22.214.171.124 activate neighbor 126.96.36.199 activate exit-address-family ! address-family ipv4 vrf test no synchronization redistribute connected redistribute static exit-address-family !
It is a usefull shortcut for getting the exact information from the configuration without having to parse out the whole configuration! It does have many options such as route-maps, access-lists eg…for example!!!
7600#show running-config partition ? access-list All access-list configurations class-map All class-map configurations common All remaining unregistered configurations global-cdp All global cdp configurations interface Each Interface specific Configurations ip-as-path All IP as-path configurations ip-community All IP community list configurations ip-domain-list All ip domain list configurations ip-prefix-list All ip prefix-list configurations ip-static-routes All IP static configurations line All line mode configurations policy-map All policy-map configurations route-map All route-map configurations router All routing configurations snmp All SNMP configurations tacacs All TACACS configurations
Today i want to share with you my collection of books. A collection which includes various area of networking. A little history first:) My first Book was Top-Down Enterprise network design from Cisco Publications! It was a very decent book that let me know many things about various aspects for network design in enterprises.
Of course I didn’t stand on that only! My Second purchase was Routing TCP/IP Volume I and II by Jeff Doyles and Jenifer Caroll!
Both of them are masterpieces! Two books that no one can miss and must read it! Mr Doyles explains everything with even the smallest detail!
Other Books that I own are categorized to:
- MPLS and VPN Architecture Vol I & II – A very nice guideline for understand MPLS, You still need to understand Vol. I before start studying Vol. II though!!
- MPLS – Enabled Application: Emerging Developments and New Technologies
- Traffic Engineering with MPLS
- Definitive MPLS Network Designs
- Internet Routing Architectures – A Bible for BGP implementation and understanding!!
- BGP Design and implementation
- Cisco QoS Examination Guide – A great book for QoS and not only for the exam!
- End-to-End QoS Network Designs: LANS, WANS and VPNS
- Cisco ASA: All-in-one Security
- Layer 2 VPN architectures!!
Thats it! I hope the next couple of months to buy some more and expand my hunger for knowledge!!
Everyone who is in the business of IT have ordered or they will books fro linux, windows, networks, security web design etc. in order to learn more and apply all these to their work or hobby! I believe that the majority of IT people uses online eshops in order to find cheaper prices. They are plenty of eshops, Amazon, barnes and nobles.