Internet routing table and damping on JunOS

To get an idea about the current number of Internet routes, for both IPv4 and IPv6:

moghaddas@USA> show route summary | match "inet|bgp"  
inet.0: 560133 destinations, 1663174 routes (558798 active, 0 holddown, 1525 hidden)
                 BGP: 1663124 routes, 558752 active
inet6.0: 24047 destinations, 47458 routes (23459 active, 0 holddown, 851 hidden)
                 BGP:  47444 routes,  23447 active

Now, imagine what would be the outcome of route flaps for a Service Provider environment with many eBGP neighbors. Instability and customer dissatisfaction!

The first solution to avoid such situations is BGP Route Dampening/Damping. Continue reading “Internet routing table and damping on JunOS”

Share this!

BGP Multipath load-sharing in Cisco!

Some years ago I was consulting a project and there the team faced an issue with load-sharing the outbound traffic towards different eBGP neighbors from different ASs. They reached out to me and it took me some times to find the solution. Suddenly I was skimming through my documents and saw that, so I’m gonna share it here too.

When implementing BGP in a Cisco environment, you may want to load-share the outgoing traffic between multiple next-hops which you have. The first command which probably you are thinking of is maximum-path 4  to use 4 different paths.

Yeah, that’s somehow true, but it requires the following attributes to match:

  • weight
  • local preference
  • AS path
  • origin code
  • MED,
  • IGP metric.

And for sure, the next-hop address for each path must also be different in order for that path to be considered. (imagine when multi-homing to the same router)

The point here is that, the router should receive the routes from the same AS.

So, what if we wanna load-share between different eBGP neighbors from different ASs?

Now we are delighted with an undocumented (unsupported) Cisco command:

csr1000v(config-router)#bgp bestpath as-path multipath-relax
Share this!

Simple How-To for BIRD routing – OSPF

This is a draft version. Hopefully I’ll update it with more details on OSPF configuration and a simple OSPF adjacency scenario between different machines.

BIRD or Bird Internet Routing Daemon, is one of the simplest Linux routing daemons with just one configuration file for IPv4 and one for IPv6.

Personally, I prefer Quagga because it uses a CLI very similar to Cisco IOS, but more configuration files has to be managed to get it running.

The first step would be to install the daemon:

apt-get install bird  or  aptitude install bird

Then you have to edit the configuration per your requirements.

  • IPv4: /etc/bird.conf
  • IPv6: /etc/bird6.conf

A simple OSPF configuration follows: Continue reading “Simple How-To for BIRD routing – OSPF”

Share this!

IPv6 Subnetting – Overview and Case Study

I’m gonna share an article which I found from Cisco Support Community. Although it’s not that much new, but it’s kinda interesting overview.

The sheer number of bits in an IPv6 address can make IPv6 subnetting intimidating at best. With the addition of a new addressing scheme it’s easy to get lost trying to break up your brand new /48 address across your enterprise.

The New Boss, Same as the Old Boss

Subnetting with IPv6 is not drastically different than subnetting with IPv4, we just need to keep a few things in mind:

1.) Each character in an IPv6 address represents 4 bits (a nibble).
Since 0xF is 1111 in binary, it’s easy to fall back into an IPv4 habit and forget that 0x11 is actually 0001 0001 in binary.

2.) Each IPv6 set represent 16 bits (4 characters at 4 bits each).
Keeping this in mind can make breaking up subnets a bit easier.

3.) Once it’s in binary nothing changes!
It’s easy to get lost in so many binary digits but the math is all the same. Each subnet bit is one fewer host bit and vice versa.

Setting the Ground Rules

The leading practice is to receive at least a /48 prefix from an ISP. This leaves you with 2^80 bits to manipulate (128 bit address – 48 bits that can’t be changed = 80 bits to use). More bits than the entire IPv4 address space! Continue reading “IPv6 Subnetting – Overview and Case Study”

Share this!


When you configure a summary address, Cisco NX-OS automatically configures a discard route for the summary address to prevent routing black holes and route loops.

OSPFv2 has the following configuration guidelines and limitations:

  • You can have up to four instances of OSPFv2 in a VDC.
  • Cisco NX-OS displays areas in dotted decimal notation regardless of whether you enter the area in decimal or dotted decimal notation.
  • All OSPFv2 routers must operate in the same RFC compatibility mode. OSPFv2 for Cisco NX-OS complies with RFC 2328. Use the rfc1583compatibility command in router configuration mode if your network includes routers that support only RFC 1583.
  • You must configure RFC 1583 compatibility on any VRF that connects to routers running only RFC1583 compatible OSPF.
Reference bandwidth for link cost calculation 40 Gb/s
Product License Requirement
Cisco NX-OS OSPFv2 requires an Enterprise Services license. For a complete explanation of the Cisco NX-OS licensing scheme and how to obtain and apply licenses, see the Cisco NX-OS Licensing Guide.
nexus7009(config)# feature ospf
Nexus7009(config-if)# ip router ospf 201 area


Share this!