Tips about ASR9K interfaces

I don’t know if it can be useful for someone, but I share :

To know about optic budget :

More to see on the right…

Stats and more specifics errors :

If you read it carefully you must have seen that my link have some problems… Which ones ?

I will probably write another article to talk only about NP, FIA, …

jquery – jqgrid : Custom delete handler

It may possible you are face off the problem to synchronize some other items in your GUI when you delete a row in your jqgrid.

You can use this tip to do it :

The great thing is that you are able to make some data / gui treatment. Here I make a data update by means of a jquery ajax call and update jqgrids by means of two trigger(“reloadGrid”) calls.

Hope this can help

bwping debian package

Dear readers,

If this can help, please find enclosed a Debian package for the network tool bwping : bwping_1.7-1_i386.deb

Have fun :)

Etherate : the beginning of an Open Aurora Tango test (L2 tester)…

For those of you which perform some Aurora Tango tests (BERT, RFC 2544) you may know that a couple of these testers are really expensive ! The principle of these test is to place a tester in loopback and another is test mode. By means of this, you are able to qualify an Ethernet link (direct, Q-in-Q, VPLS, Xconnect).

During my readings of mailing-lists such as cisco-nsp or others, someone posts an URL to a really awesome Linux program : etherate. With modern CPU platform you are able to supply a throughput until 1G, and this program give you the possibility to test your L2 circuits.

You can do some tests by using it such as :


And :

To give some features :

I really hope and try to help so that this project goes to his end. It could be really great to have L2 tests as this one as we have with bwping and iperf on L3/L4 layer of OSI model.

GNS3 1.0 is out …

No more to say :

xBSD : new releases are in the place.

For those of you which follow BSD branches :

Have fun with this great software :)

New ones in ISR family : ISR4000

To beeing keep updated : this new routers seems really well : IOS XE (IOSd over Linux, virtualization, …).

You can learn more about them on :

Have fun to read this great article…

Holidays !

It was holidays with family for two weeks. It was really peaceful.

Come back to CCIE studies and some blog posts begin of september.

Hope to see you soon on this blog.

EVC : Ethernet Virtual Connections

It is been a while that I read some papers about EVC, flexible matching, … But I have not found a good paper explaining EVC and a way to understanding well except to cisco configuration guide.


This figure is exactly what I searched for. This example is simple but enough to understand well how it works.

My misunderstanding was about “ingress” and “symmetric” : I didn’t understand, but now with the figure that it is clear that :

  1. encapsulation dot1q 10 : match all frames where a dot1Q tag is present with value 10
  2. “rewrite ingress tag pop 1 symmetric” : We pop 1 tag on this frame
  3. Give this frame to the MPLS xconnect without any tag

When a frame comes from the xconnect :

  1. It arrives without any tag
  2. With “symmetric”, we push the 10 dot1q tag
  3. put in TX the frame through the GigabitEthernet 0/2

You can ask me : “Ok this is really complicated your configuration, why don’t you use xxxx” ?
Where xxx is :

I will reply : “Have you declare your vlan 100 on your switch ? What does it involve for the scalability ?”
=> Yes, you understand well : you are limited by the number of vlans.
=> With EVC : the “encapsulation dot1q 10″ is local to the port. So no limitation.
=> Yes it is really great !!!!!

I urge you to read these papers :

BFD : Bidirectional Forwarding Detection (RFC5880)

BFD is a mecanism which give you access to a fast switchover for IGP, EBGP, … It is a RFC protocol : RFC5880.

BFD is a UDP protocol.

  • BFD control : UDP / 3784
  • BFD echo : UDP / 3785

BFD is in use on a segment, when a protocol needs it (such as : OSPF). It is configured by interface and called in protocol configuration.
When BFD detect a failure it informs upper protocols and helps to make a better / quick convergence.

You can configure BFD like :


Then you enable it on IGP configuration :

BFD initialization works with a 4-state’s automate. These states are :

  • DOWN
  • INIT
  • UP

ADMIN-DOWN : as it says the system want to hold the session DOWN by an administrative point of view : “I want to keep this session DOWN, so calm down and shut up as long as I say!”

DOWN : says that the session has just been created, administratively or operationnaly it maintains the state to DOWN until we receive a BFD DOWN control datagram from the other side : “We are agree that the session is DOWN, we can go on and try to initialize it!”

INIT : We come from DOWN state. Both systems are communicating. Until we receive an INIT or UP, we keep in INIT and send BFD INIT datagram.

UP : Ok both sides are agreed on INIT/UP we finalize the session and go together to UP states. We are UP until we detect it fails or ADMIN DOWN state is said to me ! So at TX interval we send Control packet with UP state until we detect a problem or been administratively set to DOWN.

Authentication :

BFD is aware of different authentication methods such as simple passowrd, MD5, SHA1.

Timers negotiation :

Timers are continually negotiated during the session by means of sending BFD Control datagram where :

  • Interval : Max rate (minimum interval), we are able to send
  • Min_RX : Minimum interval we are able to compute
  • Min Echo RX : Minimum interval we are able to compute for the Echo function
  • Multiplier : is a normal value which is used to calculate the Dead-Timer (HoldOn, …) : number of BFD datagrams lost in a row before we say that the session is DOWN. Dead Timer is : mult x max(desired TX interval , Required RX received interval)

So each side can adjust their timers and this at any time of the session life.

Demultiplexing :

To identify between multiple sessions between two systems, a discriminator (A unique ID). When we receive a BFD datagram with my discriminator, I know it is for __this session and I can compute it correctly.

Echo function :

This function is a way to detect and transmit packets/test forwarding plane : We send BFD echo packet with :

  • IP SRC = Me
  • IP DST = Me !
  • UDP / 3785
  • BFD information to demultiplex the session involved.

We can use Echo function only when BFD Control session is UP. After this, we can slow down sending BFD Control packet and only base failure detection by means of Echo function. We detect failure by using number of failure on a row as BFD Control Packets.

We can use BFD without this function only with BFD Control.

Lab test :

You can find a cloudshark pcap trace here :

It consists of an BFD session initialization (you can find in the pcap by adding the filter : ‘bfd’). Then an outage has been produced by removing vlan on SW1 on the trunk (frame 249 : “Diag : Echo function failed”). And then allow it again on the trunk to reform the BFD session).

Checks :

Or on ASR9K or CRS plateform :

Hope this help,