State of the Open Source & Disaggregated Ecosystem

1 State of the Open Source & Disaggregated EcosystemRuss ...
Author: Philippa Lloyd
0 downloads 5 Views

1 State of the Open Source & Disaggregated EcosystemRuss White

2 We Live in “Interesting Times”Software Defined White Box Open Source Hyper Scale We Live in “Interesting Times”

3 Software Defined White Box Open Source Hyper Scale

4 Parts in the ecosystem Routing Stack BGP IS-IS Configured Routes . . .RIB Kernel Parts in the ecosystem Hardware Abstraction (HAL) Platform Abstraction (PAL) Forwarding ASIC Phy Fan/LED/etc.

5 White/Bright Box

6 Vendor Software Stacks

7 Platform Abstraction LayerComponent Basics Often one of the hardest components to source Must connect your hardware platform with your chosen stack and O/S Provided by Hardware vendor Software vendor Consulting companies will also write these

8 ASIC Hardware AbstractionComponent Basics SAI Supports (pretty much) all chip vendors Pluggable architecture OpenNSL Broadcom only P4 Barefoot Networks Programming language rather than an API asicd Snaproute’s interface to a wide variety of asics swtichd Cumulus’s interface to a wide variety of asics fd.io Based on DPDK Largely focused on accelerated NICs, rather than network switching hardware

9 open source GOBGP commercial/open source Routing Stacks commercial

10 Routing Stacks

11 Stable 2.0 STABLE 2.0 BGP Performance & Scale fixes AddPath SupportRemote-AS internal/external Support BGP Hostname support Update Groups RFC 5549 (unnumbered) Support Nexthop tracking 32-bit route-tags RIB (Zebra) MPLS Support IPv4/v6 for static LSPs Nexthop Tracking OSPF (v2/v3) OpenBSD Support restored 32-but route-tags LDP RFC 5036 (LDP Specification) RFC 4447 (Pseudowire Setup and Maintenance using LDP) RFC 4762 – (Virtual Private LAN Service (VPLS) using LDP) RFC The Generalized TTL Security Mechanism (GTSM) for LDP RFC Updates to LDP for IPv6 Others JSON Support VRF Lite Snapcraft Packaging STABLE 2.0 Stable 2.0

12 Next Version 3.0 NEXT VERSION 3.0 BGP BGP Shutdown MessageLarge Communities (RFC8092) eVPN (partial) (RFC 7432) IDR Tunnel (draft-ietf-idr-tunnel-encaps-03#section-3.2.1) IPv6 VPN (misc fixes) IPv4/IPv6 VPN Graceful Restart PIM Unnumbered interfaces MSDP (RFC4611) Sparse Mode (RFC4601) NHRP NHRP (RFC2332) (Linux only, for NBMA-GRE tunnels; no ATM; not supported on BSD) Label Manager LDP Unnumbered interfaces Capabilities (RFC5561) Typed wildcard FEC (RFC5918, RFC6667) Advertisement completion (RFC5919) Controlling State Advertisements (RFC7473) IS-IS SPF Backoff OSPFv3 Authentication/Confidentiality (RFC4552) CLI Parser rewritten in Bison Lexer rewritten in Flex Definition grammar overhauled NEXT VERSION 3.0 Next Version 3.0

13 FRR - What’s different? Methodical vetting of submissionsExtensive automated testing of contributions Git Pull Requests Github centered development Elected Maintainers & Steering Committee Common Assets held in trust by Linux Foundation

14 FRR – How to get it Binary package Source Snap package available nowSnap is a new universal package format – see snapcraft.io FRR 2.0 in stable channel and FRR 3.0 in beta channel Debian / Ubuntu / RedHat packages coming soon Other packages will follow Source Github ( https://github.com/FRRouting/frr ) Branch stable/2.0  Released Version 2.0 Branch stable/3.0  Version 3.0 (upcoming release) Branch master  Latest development (“unstable”)

15 Some Architectures

16 Open Network Linux Control Plane REST CLI … BGP IS-IS …ONL Platform APIs Zebra Kernel Open Network Linux Open Route Cache OpenNSL SONIC FBOSS SAI Switch Hardware ASIC

17 Orchestration/AutomationOpenStack Chef Control Plane VMWare NSX Puppet collectd BGP IS-IS Orchestration/Automation Zebra Kernel SwitchD Switch Hardware ASIC

18 CLI Netconf Ansible Chef configd … BGP IS-IS asicd … Switch HardwareREST Config configd thrift rpc BGP IS-IS RIB ARP systemd LACP/LLDP/etc. thrift rpc asicd OpenNSL Vendor SAI SoftSwitch Switch Hardware ASIC

19 configuration and management tools third party & customAnsible Puppet Chef Telemetry OCP Business Application network applications SNMP BGP DHCP IPv6 More apps . . . SONiC Base SWSS Database Utility Platform RedisDB SYNCD LLDP

20 synchs SAI objects from software to hardwarepersist app objects persist SAI objects redisdb w/ object library synchs SAI objects from software to hardware Switch Services (SWSS) Object Library Network Applications SAI ASIC AppDB SAIDB synchd Orchestration translation between apps and SAI objects resolution of dependency and conflict

21 Challenges

22 “One Neck to Choke” Also known as… Do you really have this today?A “single point of failure” “my vendor makes all of my architectural decisions” Do you really have this today? Be honest! 

23 Market Challenges This is an immature marketVendors and projects are in flux Projects are often based on small communities Skill set often == unicorns There are no certifications, paths, etc. You have to be an engineer/architect Rather than “just” a CLI/vendor jockey You have to be “full stack” Integrate business architecture with network architecture Understand applications, how they use the network, etc. Know the bits and pieces of a router, what they all mean, etc. Keep up with ten different sources, rather than one

24 Hardware Challenges Silicon support Project/Vendor overlap Route countQueue depth/buffering Label imposition depth Many others—this is an area where you must be careful Project/Vendor overlap Most ASICs are supported by most every option covered here System/support chipsets are a different story Fans, LEDs, CPUs, other components Be very careful to ask about this when building a system

25 Other Challenges We ain’t got no featuresBut part of the point is to stop throwing features and nerd knobs at every imaginable problem No tech support unless you buy it You must be an educated consumer Participate in open standards Pay attention to provider venues, papers, etc. Much is under NDA If you’re using open source, you should be a part of the community