Prescriptive Topology Daemon Dinesh G Dutt, Pradosh Mohapatra - - PowerPoint PPT Presentation
Prescriptive Topology Daemon Dinesh G Dutt, Pradosh Mohapatra - - PowerPoint PPT Presentation
Prescriptive Topology Daemon Dinesh G Dutt, Pradosh Mohapatra Cumulus Networks Problem statement Data centers follow regular topologies Modular design that is repeated as the network grows Clusters or pods interconnected by another
Problem statement
§ Data centers follow regular topologies § Modular design that is repeated as the network grows
§ Clusters or pods interconnected by another
layer
§ Cable management can be a nightmare as the network grows § Verification of physical connections on link-up is a significant operational simplification
§ Some operators do a build time check
2
Prescriptive Topology Manager
§ Verify connectivity is as per operator specified cabling plan § Take defined actions on topology check dynamically
§ For example, routing adjacency is brought
up only if physical connectivity check passes
§ Example:
§ T1, port1 is connected to M1, port1 § T1, port2 is connected to M2, port1 § … § M1, port 3 is connected to S1, port1 § M1, port 4 is connected to S2, port1
§ …
3 S2 M2 M1 T2 T1
M4
M3 T4 T3 S1
In a nutshell
§ Network topology specified via DOT language
§ Well understood graph modeling
language
§ Wide range of supported tools § Open source
§ Network topology is pushed out to all nodes § Each node determines its relevant information § Use LLDP to verify connectivity
4
Picture
5 S2 M2 M1 T2 T1
M4
M3 T4 T3 S1 topology.dot ... Configuration Management Tool (e.g. Chef)
- 1. +++ /etc/ptm.d/topology.dot
- 2. service ptmd reconfig
Implementation
§ Written and tested on Linux (wheezy release of debian) § ptmd is the prescriptive topology module daemon
§ Communicates with LLDPD daemon (based on https://github.com/vincentbernat/lldpd) § Daemon executes a set of scripts on topology pass and topology fail
§ /etc/ptm.d/if-topo-pass, /etc/ptm.d/if-topo-fail § Example: add/del interfaces from routing protocol – works with suites such as bird, quagga, mstpd
§ Quagga (ver 0.99.21) modified to receive notifications from ptmd for faster, simpler integration
§ Can be added to any protocol suite
§ ptmd is about 1500 lines of commented C code
6
Core implementation details
7
port_t + admin_nbr + oper_nbr + oper_state
LLDPD
topology.dot
port_table
port_t + admin_nbr + oper_nbr + oper_state
Clients Clients Clients
ptmctl
8
ptmviz – topology visualization
9
dot -Tps prescribed.dot -o prescribed.ps dot -Tps physical.dot -o physical.ps Generate the DOT file corresponding to the observed physical network topology.
ptmviz – topology visualization
10
dot -Tps prescribed.dot -o prescribed.ps dot -Tps physical.dot -o physical.ps Generate the DOT file corresponding to the observed physical network topology.
Quagga integration
11
- New command to enable PTM oper-state based routing protocol bring-up
- Quagga acts as a PTM client listens to oper-state notifications