BGP Unnumbered

what-is-bgp-unnumbered

Successful Leaf/Spine deployment is entirely dependent on BGP which forms the underlying foundation of the IP based fabric as our intention is to provide layer 2 as an overlay service running on top of layer 3.

To run BGP unnumbered, the following configuration should be enough on cumulus leaf switches:

Great thing about BGP un-numbered as the name suggests is you don’t need to specify ip addresses and you just have to specify the interface you want BGP un-numbered to run and as long as the remote end has similar configuration, the sessions should come up.

BGP unnumbered configuration on cumulus spines:

Since the spines peer with the leafs and exits via bgp unumbered, you can see all corresponding interfaces are part of the BGP unnumbered configuration.

The result is successful bgp peering with all leafs and exits seamlessly as seen below:

[email protected]:mgmt-vrf:~$ net sh bgp summary
show bgp ipv4 unicast summary
=============================
BGP router identifier 10.0.0.31, local AS number 4200003000 vrf-id 0
BGP table version 25
RIB entries 37, using 5624 bytes of memory
Peers 18, using 347 KiB of memory
Peer groups 1, using 64 bytes of memory
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
leaf01(swp1) 4 4200001000 30445 30380 0 0 0 1d01h14m 1
leaf02(swp2) 4 4200001001 30398 30380 0 0 0 1d01h14m 1
leaf03(swp3) 4 4200001002 30398 30380 0 0 0 1d01h14m 1
leaf04(swp4) 4 4200001003 30398 30380 0 0 0 1d01h14m 1
leaf05(swp5) 4 4200001004 30480 30380 0 0 0 1d01h14m 1
leaf06(swp6) 4 4200001005 30461 30380 0 0 0 1d01h14m 1
leaf07(swp7) 4 4200001006 30462 30380 0 0 0 1d01h14m 1
leaf08(swp8) 4 4200001007 30463 30380 0 0 0 1d01h14m 1
leaf09(swp9) 4 4200001008 30398 30380 0 0 0 1d01h14m 1
leaf10(swp10) 4 4200001009 30398 30380 0 0 0 1d01h14m 1
leaf11(swp11) 4 4200001010 30398 30380 0 0 0 1d01h14m 1
leaf12(swp12) 4 4200001011 30398 30380 0 0 0 1d01h14m 1
leaf13(swp13) 4 4200001012 30398 30380 0 0 0 1d01h14m 1
leaf14(swp14) 4 4200001013 30398 30380 0 0 0 1d01h14m 1
leaf15(swp15) 4 4200001014 30398 30379 0 0 0 1d01h14m 1
leaf16(swp16) 4 4200001015 30398 30379 0 0 0 1d01h14m 1
exit01(swp25) 4 4200502000 30583 30442 0 0 0 21:00:58 1
exit02(swp26) 4 4200502000 30398 30410 0 0 0 18:42:05 1
Total number of neighbors 18

BGP unumbered is one of the best tools I have come across in deploying an IP fabric. It totally removes the need for manual ip allocation/configuration as it relies on ipv6 link local addresses for point to point addressing.

Once you use Ansible to configure your leafs and spines, bgp unnumbered will bring up bgp as if you were running ospf in the fabric instead of bgp. This is largely thanks to static switchport configuration inside the bgp config.

Got questions? Leave a comment! Let’s chat.

Rafay Rasool is a Network Specialist with over 10 years of experience designing, configuring and implementing core network solutions based predominantly but not limited to Juniper Routers, Switches and Firewalls along with other vendors such as Cisco, Huawei, Siemens, Aerohive, Ringmaster, Pulse etc for Internet Service Provider and Enterprise Networks.

Rafay is an avid supporter of network automation and likes to code and automate networking solutions.