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
  neighbor remote-as 456
  neighbor description eBGP Peer
  neighbor ebgp-multihop 2
  neighbor update-source Loopback0
  neighbor version 4
  neighbor send-community both
  neighbor soft-reconfiguration inbound
  neighbor 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
 address-family ipv4 unicast
   remote-as 456
   ebgp-multihop 2
   update-source Loopback0
   address-family ipv4 unicast

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, 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           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
Thu Oct 27 10:52:54.542 EEST

BGP neighbor is
 Remote AS 456, local AS 123, external link
 Remote router ID
  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
 address-family ipv4 unicast
   remote-as 456
   ebgp-multihop 2
   update-source Loopback0
   address-family ipv4 unicast
    route-policy test in
    route-policy test out

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

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!!!

World Carrier Ethernet Congress 2011


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!

IOS XR Introduction


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

Router#(conf)show conf

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!!

Parsing the Cisco IOS configuration


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
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor RR peer-group
neighbor RR remote-as 123456
neighbor RR update-source Loopback0
neighbor peer-group RR
neighbor peer-group RR
address-family ipv4
no synchronization
no auto-summary
address-family vpnv4
neighbor RR send-community both
neighbor activate
neighbor activate

address-family ipv4 vrf test
no synchronization
redistribute connected
redistribute static


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


My Bookshelf


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

  • Layer 2 VPN architectures!!

Thats it! I hope the next couple of months to buy some more and expand my hunger for knowledge!!

Books Purchases


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.


Go to Top