DEV Community

Nick Schmidt
Nick Schmidt

Posted on • Originally published at on

Spine and Leaf Practical Applications, RIPv2

This is only slightly trolling, but is primarily to outline the topological simplicity of Spine-and-Leaf networking, in a way that is suspiciously similar to Cisco classes.

First things first, here's the diagram. This is performed using a set of four Cat3560s, enterprise licensed and wired in a redundant square topology to simulate a wide variety of topologies with minimal modification. At some point I'll post this setup as well, it was recommended in the book CCIE Routing and Switching v5.1, Bridging the Gap Between CCNP and CCIE


So this is actually pretty simple - as everything should be Layer 3. We begin by configuring the Spines:

hostname rip-s0interface Loopback0 ip address FastEthernet0/22 no switchport ip address FastEthernet0/24 no switchport ip address rip-s1interface Loopback0 ip address FastEthernet0/21 no switchport ip address FastEthernet0/23 no switchport ip address

Some explanation here:

  • We're using /31s to save address space as leaf-spine-leaf links are numerous and chew through address space like no tomorrow. If you'd like to know more about /31 usage, it's here.
  • I focused on IP Address Management (IPAM) before the actual network design, assigning pre-planned prefixes. In this example, each switch has a virtual number, making it easy to pre-provision and organize network topologies for scale. Remember, this is all to handle frequent loop-free changes at scale - this is important!

    • S0: 240 (10.6.240.x/31,
    • S1: 241 (10.6.241.x/31,
    • L0: 0 (
    • L1: 1 (
  • No switchport forces ports into Layer 3 mode.

    And then the Leafs:

hostname rip-l0interface Loopback0 ip address FastEthernet1/0/21 no switchport ip address FastEthernet1/0/24 no switchport ip address rip-l1 interface Loopback0 ip address FastEthernet0/22 no switchport ip address FastEthernet0/23 no switchport ip address

Normally, you'd add interconnection on these devices, but loopbacks suffice for this example.

This doesn't support routing but is a functional base configuration - so let's turn on routing (all switches):

ip routingrouter rip version 2 network no auto-summary

Poof! It's working!

rip-l0#show ip routeCodes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static routeGateway of last resort is not set is variably subnetted, 8 subnets, 2 masksC is directly connected, Loopback0R [120/2] via, 00:00:06, FastEthernet1/0/21 [120/2] via, 00:00:06, FastEthernet1/0/24C is directly connected, FastEthernet1/0/24R [120/1] via, 00:00:12, FastEthernet1/0/24C is directly connected, FastEthernet1/0/21R [120/1] via, 00:00:17, FastEthernet1/0/21R [120/1] via, 00:00:13, FastEthernet1/0/24R [120/1] via, 00:00:17, FastEthernet1/0/21

Oddly enough, RIPv2 isn't supposed to support ECMP, but appears to be doing so here.

Hopefully, this was enlightening - because in this case, this topology is incredibly simple when involving an IGP. There are a few downsides to RIP deployed in this manner:

  • It's chatty and floods all the time, so all changes (network additions) will cause a reconvergence.
  • Link-state failure won't trigger a path re-route
  • It's RIP. Configurations generated are here, for anyone who would want to experiment with them.

Top comments (0)