Hands On With An Open Network Operating System

Hands On With An Open Network Operating System

Yoooow Wassup, It's been a minute! I thought of doing a sneak peak of network configurations using a NOS once you have it installed. I'll just do an overview of the environment showing it's capabilities.

I'd love to start with some definition of terms here. Software Defined Networking brings about Network Function Disaggregation (NFD). What do I mean? It basically defines the evolution of switching and routing appliances from proprietary, closed hardware and software sourced from a single vendor, towards totally decoupled, open components which are combined to form a complete switching and routing device. You might come across DANOS which means Disaggregated Network Operating System. Open source Switch Types;

  • Bare metal switch, Has no loaded OS but comes with a boot loader called the Open Network Install Environment (ONIE) that allows to load an OS.

  • White Box Switch, It is also regarded as a bare metal switch but it now comes with a network OS preloaded. Not branded however.

  • Brite Box Switch, Can be regarded as a branded White box switch could be dell or hp but has ONIE enabled for open networking.

Why do I love Open Networking Software though? Because it is Open Source Technology meaning i get to have a chance to play around with it, learn a lot, contribute, enjoy the great community support and of course it's free.

So I have personally installed a few NOS variances (Cumulus Linux, Open Switch Opx, Azure Sonic) in a switch and also in a virtual machine(KVM), linux all the way. Today i'm going to showcase Cumulus Linux.

What can I do now that I have a NOS installed? Well, there's a lot to do. First things first is you can simulate a simple virtual network, play with the varios network protocols such as BGP ,FRR , MLAG, configure as many bridges and vlans.

I will share a lab I did with Cumulus Linux a few weeks back and i'll begin with the topology I worked with as a guide.

Topology01.png

Cumulus has an image called the Cumulus VX which is meant for a virtual environment and can help simulate a leaf and spine network topology for your datacenter. So here we go.

Leaf 01

Welcome to Cumulus VX (TM)

Cumulus VX (TM) is a community supported virtual appliance designed for
experiencing, testing and prototyping Cumulus Networks' latest technology.
For any questions or technical support, visit our community site at:
http://community.cumulusnetworks.com

The registered trademark Linux (R) is used pursuant to a sublicense from LMI,
the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide
basis.
cumulus@leaf01:~$
cumulus@leaf01:~$ net add loopback lo ip address 10.255.255.1/32
cumulus@leaf01:~$ net commit

 # The loopback network interface
 auto lo
 iface lo inet loopback
+    # The primary network interface
+    address 10.255.255.1/32

 # The primary network interface
 auto eth0
 iface eth0 inet dhcp

net add/del commands since the last "net commit"
================================================

User     Timestamp                   Command
-------  --------------------------  
----------------------------------------------
cumulus  2020-06-25 19:41:20.848920  net add loopback lo ip address 
10.255.255.1/32
cumulus@leaf01:~$ net show interface lo
    Name  MAC                Speed  MTU    Mode
--  ----  -----------------  -----  -----  --------
UP  lo    00:00:00:00:00:00  N/A    65536  Loopback

IP Details
-------------------------  ---------------
IP:                        127.0.0.1/8
IP:                        10.255.255.1/32
IP:                        ::1/128
IP Neighbor(ARP) Entries:  0

cumulus@leaf01:~$ net add bond BOND0 bond slaves swp49-50
cumulus@leaf01:~$ net commit

 # The loopback network interface
 auto lo
 iface lo inet loopback
     # The primary network interface
     address 10.255.255.1/32

 # The primary network interface
 auto eth0
 iface eth0 inet dhcp
+
+auto swp49
+iface swp49
+
+auto swp50
+iface swp50
+
+auto BOND0
+iface BOND0
+    bond-slaves swp49 swp50
+

net add/del commands since the last "net commit"
================================================

User     Timestamp                   Command
-------  --------------------------  ---------------------------------------
cumulus  2020-06-25 19:45:56.198734  net add bond BOND0 bond slaves swp49-50

cumulus@leaf01:~$ net add bridge bridge vids 10,20
cumulus@leaf01:~$ net add bridge bridge  ports BOND0,swp1
cumulus@leaf01:~$ net add interface swp1 bridge access 10
cumulus@leaf01:~$ net commit

 # The loopback network interface
 auto lo
 iface lo inet loopback
     # The primary network interface
     address 10.255.255.1/32

 # The primary network interface
 auto eth0
 iface eth0 inet dhcp

+auto swp1
+iface swp1
+    bridge-access 10
+
 auto swp49
 iface swp49

 auto swp50
 iface swp50

 auto BOND0
 iface BOND0
     bond-slaves swp49 swp50

+auto bridge
+iface bridge
+    bridge-ports BOND0 swp1
+    bridge-vids 10 20
+    bridge-vlan-aware yes
+

net add/del commands since the last "net commit"
================================================

User     Timestamp                   Command
-------  --------------------------  ---------------------------------------
cumulus  2020-06-25 19:48:45.468032  net add bridge bridge vids 10,20
cumulus  2020-06-25 19:49:54.536875  net add bridge bridge ports BOND0,swp1
cumulus  2020-06-25 19:50:31.063422  net add interface swp1 bridge access 10

cumulus@leaf01:~$ net add vlan 10 ip address 10.0.10.2/24
cumulus@leaf01:~$ net add vlan 20 ip address 10.0.20.2/24                      1
ERROR: Command not found.

    net add vlan 10 ip address-virtual 00:00:00:00:1a:10 10.0.10.1
                                                         ^ Invalid value here.

Did you mean one of the following?
    net add vlan < /24
cumulus@leaf01:~$ net add vlan 20 ip address-virtual 00:00:00:00:1a:20 10.0.20.1
cumulus@leaf01:~$ net commit

 auto BOND0
 iface BOND0
     bond-slaves swp49 swp50

 auto bridge
 iface bridge
     bridge-ports BOND0 swp1
     bridge-vids 10 20
     bridge-vlan-aware yes

+auto vlan10
+iface vlan10
+    address 10.0.10.2/24
+    address-virtual 00:00:00:00:1a:10 10.0.10.1/24
+    vlan-id 10
+    vlan-raw-device bridge
+
+auto vlan20
+iface vlan20
+    address 10.0.20.2/24
+    address-virtual 00:00:00:00:1a:20 10.0.20.1/24
+    vlan-id 20
+    vlan-raw-device bridge
+

net add/del commands since the last "net commit"
================================================

User     Timestamp                   Command
-------  --------------------------  
-----------------------------------------------------------------
cumulus  2020-06-25 19:53:57.765328  net add vlan 10 ip address 10.0.10.2/24
cumulus  2020-06-25 19:54:24.536351  net add vlan 20 ip address 10.0.20.2/24
cumulus  2020-06-25 19:56:25.401404  net add vlan 20 ip address 10.0.20.2/24
cumulus  2020-06-25 19:57:26.414696  net add vlan 10 ip address-virtual 
00:00:00:00:1a:10 10.0.10.1/24
cumulus  2020-06-25 19:58:53.169186  net add vlan 20 ip address-virtual 
00:00:00:00:1a:20 10.0.20.1/24

##configure BGP
cumulus@leaf01:~$ net add bgp autonomous-system 65101
cumulus@leaf01:~$ net add bgp bestpath as-path multipath-relax
cumulus@leaf01:~$ net add bgp neighbor swp51 interface remote-as external
cumulus@leaf01:~$ net commit

 zebra=yes
-bgpd=no
+bgpd=yes
 ospfd=no
 ospf6d=no
 ripd=no
 ripngd=no
 isisd=no
 pimd=no
 ldpd=no
 nhrpd=no
 eigrpd=no
 babeld=no

 frr version 4.0+cl3u17
 frr defaults datacenter
 hostname leaf01
 username cumulus nopassword
 service integrated-vtysh-config
 log syslog informational
 line vty

 end
+router bgp 65101
+ bgp bestpath as-path multipath-relax
+ neighbor swp51 interface remote-as external
+end

net add/del commands since the last "net commit"
================================================

User     Timestamp                   Command
-------  --------------------------  
-------------------------------------------------------
cumulus  2020-06-25 20:18:52.479619  net add bgp autonomous-system 65101
cumulus  2020-06-25 20:18:52.553132  net add bgp bestpath as-path 
multipath-relax
cumulus  2020-06-25 20:18:52.618875  net add bgp neighbor swp51 interface 
remote-as external
cumulus@leaf01:~$ net add bgp network 10.255.255.1/32
cumulus@leaf01:~$ net add bgp network 10.0.10.0/24
cumulus@leaf01:~$ net commit

 frr version 4.0+cl3u17
 frr defaults datacenter
 hostname leaf01
 username cumulus nopassword
 service integrated-vtysh-config
 log syslog informational
 router bgp 65101
  bgp bestpath as-path multipath-relax
  neighbor swp51 interface remote-as external
+ address-family ipv4 unicast
+  network 10.255.255.1/32
+  network 10.0.10.0/24
+ exit-address-family
 end
 line vty

 end

net add/del commands since the last "net commit"
================================================

User     Timestamp                   Command
-------  --------------------------  -----------------------------------
cumulus  2020-06-25 20:22:04.581725  net add bgp network 10.255.255.1/32
cumulus  2020-06-25 20:22:27.504495  net add bgp network 10.0.10.0/24
cumulus@leaf01:~$ logout

Leaf 02

cumulus@leaf02:~$ net add loopback lo ip address 10.255.255.2/32
cumulus@leaf02:~$ net commit

 # The loopback network interface
 auto lo
 iface lo inet loopback
+    # The primary network interface
+    address 10.255.255.2/32

 # The primary network interface
 auto eth0
 iface eth0 inet dhcp

net add/del commands since the last "net commit"
================================================

User     Timestamp                   Command
-------  --------------------------  
----------------------------------------------
cumulus  2020-06-25 19:44:11.205855  net add loopback lo ip address 
10.255.255.2/32
cumulus@leaf02:~$ net show interface lo
    Name  MAC                Speed  MTU    Mode
--  ----  -----------------  -----  -----  --------
UP  lo    00:00:00:00:00:00  N/A    65536  Loopback

IP Details
-------------------------  ---------------
IP:                        127.0.0.1/8
IP:                        10.255.255.2/32
IP:                        ::1/128
IP Neighbor(ARP) Entries:  0

cumulus@leaf02:~$ net add bond BOND0 bond slaves swp49-50
cumulus@leaf02:~$ net commit

 # The loopback network interface
 auto lo
 iface lo inet loopback
     # The primary network interface
     address 10.255.255.2/32

 # The primary network interface
 auto eth0
 iface eth0 inet dhcp
+
+auto swp49
+iface swp49
+
+auto swp50
+iface swp50
+
+auto BOND0
+iface BOND0
+    bond-slaves swp49 swp50
+

net add/del commands since the last "net commit"
================================================

User     Timestamp                   Command
-------  --------------------------  ---------------------------------------
cumulus  2020-06-25 19:47:04.307125  net add bond BOND0 bond slaves swp49-50
cumulus@leaf02:~$ net show interface bonds
    Name   Speed   MTU  Mode     Summary
--  -----  -----  ----  -------  ----------------------------------
UP  BOND0  2G     1500  802.3ad  Bond Members: swp49(UP), swp50(UP)

cumulus@leaf02:~$ net show interface bondmems
    Name   Speed   MTU  Mode     Summary
--  -----  -----  ----  -------  -----------------
UP  swp49  1G     1500  LACP-UP  Master: BOND0(UP)
UP  swp50  1G     1500  LACP-UP  Master: BOND0(UP)

cumulus@leaf02:~$ net add bridge bridge vids 10,20
cumulus@leaf02:~$ net add bridge bridge ports BOND0,swp2
cumulus@leaf02:~$ net add interface swp2 bridge access 20
cumulus@leaf02:~$ net commit

 # The loopback network interface
 auto lo
 iface lo inet loopback
     # The primary network interface
     address 10.255.255.2/32

 # The primary network interface
 auto eth0
 iface eth0 inet dhcp

+auto swp2
+iface swp2
+    bridge-access 20
+
 auto swp49
 iface swp49

 auto swp50
 iface swp50

 auto BOND0
 iface BOND0
     bond-slaves swp49 swp50

+auto bridge
+iface bridge
+    bridge-ports BOND0 swp2
+    bridge-vids 10 20
+    bridge-vlan-aware yes
+

net add/del commands since the last "net commit"
================================================

User     Timestamp                   Command
-------  --------------------------  ---------------------------------------
cumulus  2020-06-25 19:51:15.342343  net add bridge bridge vids 10,20
cumulus  2020-06-25 19:51:41.230494  net add bridge bridge ports BOND0,swp2
cumulus  2020-06-25 19:52:01.479664  net add interface swp2 bridge access 20
cumulus@leaf02:~$ net show bridge vlan

Interface  VLAN  Flags
---------  ----  ---------------------
swp2         20  PVID, Egress Untagged
BOND0         1  PVID, Egress Untagged
             10
             20
cumulus@leaf02:~$ net add vlan 10 ip address 10.0.10.3/24
cumulus@leaf02:~$ net add vlan 20 ip address 10.0.20.3/24
cumulus@leaf02:~$ net add vlan 10 ip address-virtual 00:00:00:00:1a:10 10.0.10.1
cumulus@leaf02:~$ net add vlan 20 ip address-virtual 00:00:00:00:1a:20 10.0.20.1
cumulus@leaf02:~$ net commit

 auto BOND0
 iface BOND0
     bond-slaves swp49 swp50

 auto bridge
 iface bridge
     bridge-ports BOND0 swp2
     bridge-vids 10 20
     bridge-vlan-aware yes

+auto vlan10
+iface vlan10
+    address 10.0.10.3/24
+    address-virtual 00:00:00:00:1a:10 10.0.10.1/24
+    vlan-id 10
+    vlan-raw-device bridge
+
+auto vlan20
+iface vlan20
+    address 10.0.20.3/24
+    address-virtual 00:00:00:00:1a:20 10.0.20.1/24
+    vlan-id 20
+    vlan-raw-device bridge
+

net add/del commands since the last "net commit"
================================================

User     Timestamp                   Command
-------  --------------------------  
-----------------------------------------------------------------
cumulus  2020-06-25 19:59:53.600607  net add vlan 10 ip address 10.0.10.3/24
cumulus  2020-06-25 19:59:53.660797  net add vlan 20 ip address 10.0.20.3/24
cumulus  2020-06-25 19:59:53.717610  net add vlan 10 ip address-virtual 
00:00:00:00:1a:10 10.0.10.1/24
cumulus  2020-06-25 19:59:53.775607  net add vlan 20 ip address-virtual 
00:00:00:00:1a:20 10.0.20.1/24
cumulus@leaf02:~$ ping 10.0.10.1
PING 10.0.10.1 (10.0.10.1) 56(84) bytes of data.
64 bytes from 10.0.10.1: icmp_seq=1 ttl=64 time=0.034 ms
64 bytes from 10.0.10.1: icmp_seq=2 ttl=64 time=0.076 ms
64 bytes from 10.0.10.1: icmp_seq=3 ttl=64 time=0.078 ms
^C
--- 10.0.10.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.034/0.062/0.078/0.022 ms
cumulus@leaf02:~$ ping 10.0.10.3
PING 10.0.10.3 (10.0.10.3) 56(84) bytes of data.
64 bytes from 10.0.10.3: icmp_seq=1 ttl=64 time=0.039 ms
64 bytes from 10.0.10.3: icmp_seq=2 ttl=64 time=0.079 ms
^C
--- 10.0.10.3 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.039/0.059/0.079/0.020 ms

##configure BGP
cumulus@leaf02:~$ net add bgp autonomous-system 65102
cumulus@leaf02:~$ net add bgp bestpath as-path multipath-relax
cumulus@leaf02:~$ net add bgp neighbor swp51 interface remote-as external
cumulus@leaf02:~$ net commit

 zebra=yes
-bgpd=no
+bgpd=yes
 ospfd=no
 ospf6d=no
 ripd=no
 ripngd=no
 isisd=no
 pimd=no
 ldpd=no
 nhrpd=no
 eigrpd=no
 babeld=no

 frr version 4.0+cl3u17
 frr defaults datacenter
 hostname leaf02
 username cumulus nopassword
 service integrated-vtysh-config
 log syslog informational
 line vty

 end
+router bgp 65102
+ bgp bestpath as-path multipath-relax
+ neighbor swp51 interface remote-as external
+end

net add/del commands since the last "net commit"
================================================

User     Timestamp                   Command
-------  --------------------------  
-------------------------------------------------------
cumulus  2020-06-25 20:19:27.527593  net add bgp autonomous-system 65102
cumulus  2020-06-25 20:19:27.593417  net add bgp bestpath as-path 
multipath-relax
cumulus  2020-06-25 20:19:27.662847  net add bgp neighbor swp51 interface 
remote-as external
cumulus@leaf02:~$ net show bgp summary
show bgp ipv4 unicast summary
=============================
BGP router identifier 10.255.255.2, local AS number 65102 vrf-id 0
BGP table version 0
RIB entries 0, using 0 bytes of memory
Peers 1, using 19 KiB of memory

Neighbor        V         AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down 
State/PfxRcd
spine01(swp51)  4      65201       8       9        0    0    0 00:00:18         
   0

Total number of neighbors 1


show bgp ipv6 unicast summary
=============================
% No BGP neighbors found


show bgp l2vpn evpn summary
===========================
% No BGP neighbors found
cumulus@leaf02:~$ net add bgp network 10.255.255.2/32
cumulus@leaf02:~$ net add bgp network 10.0.20.0/24
cumulus@leaf02:~$ net commit

 frr version 4.0+cl3u17
 frr defaults datacenter
 hostname leaf02
 username cumulus nopassword
 service integrated-vtysh-config
 log syslog informational
 router bgp 65102
  bgp bestpath as-path multipath-relax
  neighbor swp51 interface remote-as external
+ address-family ipv4 unicast
+  network 10.255.255.2/32
+  network 10.0.20.0/24
+ exit-address-family
 end
 line vty

 end

net add/del commands since the last "net commit"
================================================

User     Timestamp                   Command
-------  --------------------------  -----------------------------------
cumulus  2020-06-25 20:23:03.918749  net add bgp network 10.255.255.2/32
cumulus  2020-06-25 20:23:03.984117  net add bgp network 10.0.20.0/24
cumulus@leaf02:~$ logout

Server 01

cumulus@server01:~$ ping 10.0.10.1
PING 10.0.10.1 (10.0.10.1) 56(84) bytes of data.
64 bytes from 10.0.10.1: icmp_seq=1 ttl=64 time=1.92 ms
64 bytes from 10.0.10.1: icmp_seq=2 ttl=64 time=0.862 ms
^C
--- 10.0.10.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.862/1.391/1.921/0.530 ms
cumulus@server01:~$ ping 10.0.10.2
PING 10.0.10.2 (10.0.10.2) 56(84) bytes of data.
64 bytes from 10.0.10.2: icmp_seq=1 ttl=64 time=0.692 ms
64 bytes from 10.0.10.2: icmp_seq=2 ttl=64 time=0.920 ms
^C
--- 10.0.10.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.692/0.806/0.920/0.114 ms
cumulus@server01:~$ ip neighbor show
10.0.10.3 dev eth1 lladdr 44:38:39:00:02:49 STALE
10.0.10.2 dev eth1 lladdr 44:38:39:00:01:49 REACHABLE
10.0.10.1 dev eth1 lladdr 00:00:00:00:1a:10 STALE
192.168.200.1 dev eth0 lladdr 5a:67:fc:95:87:fd REACHABLE
192.168.200.250 dev eth0 lladdr a0:00:00:00:02:50 REACHABLE
fe80::5608:dfff:fed0:cbe0 dev eth0 lladdr 54:08:df:d0:cb:e0 router STALE
cumulus@server01:~$ logout

Now in the oob-Management Server is where you can run automated scripts using tools like Ansible and I shall try share some yaml scripts(Aka Playbooks) later on.

Configure Spine 01

cumulus@spine01:~$ net add loopback lo ip address 10.255.255.101/32
cumulus@spine01:~$ net commit

 # The loopback network interface
 auto lo
 iface lo inet loopback
+    # The primary network interface
+    address 10.255.255.101/32

 # The primary network interface
 auto eth0
 iface eth0 inet dhcp

net add/del commands since the last "net commit"
================================================

User     Timestamp                   Command
-------  --------------------------  
------------------------------------------------
cumulus  2020-06-25 20:14:09.645210  net add loopback lo ip address 
10.255.255.101/32
cumulus@spine01:~$ net add bgp autonomous-system 65201
cumulus@spine01:~$ net add bgp bestpath as-path multipath-relax
cumulus@spine01:~$ net add bgp neighbor swp1 interface remote-as external
cumulus@spine01:~$ net add bgp neighbor swp12interface remote-as external
cumulus@spine01:~$ net add bgp neighbor swp2 interface remote-as external
cumulus@spine01:~$ net del bgp neighbor swp12interface remote-as external
cumulus@spine01:~$ net commit

 zebra=yes
-bgpd=no
+bgpd=yes
 ospfd=no
 ospf6d=no
 ripd=no
 ripngd=no
 isisd=no
 pimd=no
 ldpd=no
 nhrpd=no
 eigrpd=no
 babeld=no

 frr version 4.0+cl3u17
 frr defaults datacenter
 hostname spine01
 username cumulus nopassword
 service integrated-vtysh-config
 log syslog informational
 line vty

 end
+router bgp 65201
+ bgp bestpath as-path multipath-relax
+ neighbor swp1 interface remote-as external
+ neighbor swp2 interface remote-as external
+end

 # The loopback network interface
 auto lo
 iface lo inet loopback
     # The primary network interface
     address 10.255.255.101/32

 # The primary network interface
 auto eth0
 iface eth0 inet dhcp
+
+auto swp1
+iface swp1
+
+auto swp2
+iface swp2
+
+auto swp12interface
+iface swp12interface
+

net add/del commands since the last "net commit"
================================================

User     Timestamp                   Command
-------  --------------------------  
------------------------------------------------------
cumulus  2020-06-25 20:15:09.026505  net add bgp autonomous-system 65201
cumulus  2020-06-25 20:15:34.609810  net add bgp bestpath as-path 
multipath-relax
cumulus  2020-06-25 20:16:37.931350  net add bgp neighbor swp1 interface 
remote-as external
cumulus  2020-06-25 20:16:45.541948  net add bgp neighbor swp12interface 
remote-as external
cumulus  2020-06-25 20:17:00.177836  net add bgp neighbor swp2 interface 
remote-as external
cumulus  2020-06-25 20:17:30.993263  net del bgp neighbor swp12interface 
remote-as external
cumulus@spine01:~$ net show bgp summary
show bgp ipv4 unicast summary
=============================
BGP router identifier 10.255.255.101, local AS number 65201 vrf-id 0
BGP table version 0
RIB entries 0, using 0 bytes of memory
Peers 2, using 39 KiB of memory

Neighbor        V         AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down 
State/PfxRcd
leaf01(swp1)    4      65101      28      28        0    0    0 00:01:15         
   0
leaf02(swp2)    4      65102      14      14        0    0    0 00:00:34         
   0

Total number of neighbors 2


show bgp ipv6 unicast summary
=============================
% No BGP neighbors found


show bgp l2vpn evpn summary
===========================
% No BGP neighbors found
cumulus@spine01:~$ net add bgp network 10.255.255.101/32
cumulus@spine01:~$ net commit

 frr version 4.0+cl3u17
 frr defaults datacenter
 hostname spine01
 username cumulus nopassword
 service integrated-vtysh-config
 log syslog informational
 router bgp 65201
  bgp bestpath as-path multipath-relax
  neighbor swp1 interface remote-as external
  neighbor swp2 interface remote-as external
+ address-family ipv4 unicast
+  network 10.255.255.101/32
+ exit-address-family
 end
 line vty

 end

net add/del commands since the last "net commit"
================================================

User     Timestamp                   Command
-------  --------------------------  -------------------------------------
cumulus  2020-06-25 20:21:09.003401  net add bgp network 10.255.255.101/32
cumulus@spine01:~$ net show bgp
show bgp ipv4 unicast
=====================
BGP table version is 5, local router ID is 10.255.255.101
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
              i internal, r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 10.0.10.0/24     swp1                     0             0 65101 i
*> 10.0.20.0/24     swp2                     0             0 65102 i
*> 10.255.255.1/32  swp1                     0             0 65101 i
*> 10.255.255.2/32  swp2                     0             0 65102 i
*> 10.255.255.101/32
                    0.0.0.0                  0         32768 i

Displayed  5 routes and 5 total paths


show bgp ipv6 unicast
=====================
No BGP prefixes displayed, 0 exist
cumulus@spine01:~$ logout

There are different topology scenarios we can play around with using Cumulus Linux and it gives you depth, I mean there is still a lot like vxlan implementation I haven't touched on but this gives a good feel of the NOS. Credits to Cumulus Air Test Drive for the great opportunity to explore and learn this great technology. Voilaa!!!!!!