34
v Hardware accelerated switching with Linux Nat Morris 26 th April 2014 @ South Wales Linux User Group

Hardware accelerated switching with Linux @ SWLUG Talks May 2014

Embed Size (px)

DESCRIPTION

Nat Morris will take us through the use of Linux on a new generation of hardware accelerated network switches

Citation preview

Page 1: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

v

Hardware accelerated switching with Linux

Nat Morris

26th April 2014 @ South Wales Linux User Group

Page 2: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

cumulusnetworks.com 2

About me

Nat Morris• Based in Haverfordwest (beyond the M4)• Team lead, Cumulus Networks• Director & Board Member, UK Network Operators

Forum (UKNOF)• Feeder of dogs• Attended first SWLUG meeting in 2001

Twitter• @natmorris

Page 3: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

cumulusnetworks.com 3

About Cumulus Networks

Team JR Rivers, co-founder and CEO Nolan Leake, co-founder and CTO Shrijeet Mukherjee, VP Engineering Reza Malekzadeh, VP Business Jason Martin, VP Customer

Experience

Investors Andreessen Horowitz Battery Ventures Sequoia Capital Wing. VC (Peter Wagner) Ed Bugnion, Diane Greene and

Mendel Rosenblum (VMware founders)

Page 4: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

cumulusnetworks.com 4

Page 5: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

cumulusnetworks.com 5

IP Fabric Networking Landscape

Netw

ork

H

ard

ware

Netw

ork

O

S

Open Closed

Page 6: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

cumulusnetworks.com 6

The Expanding Landscape

hardware

operating system

appapp

hardware

operating system

app app

Single Vendor Blob

Multi-Vendor Ecosystem

app app

Page 7: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

Expanding Ecosystem

The missing piece: Cumulus® Linux®, bringing the Linux revolution to networking

cumulusnetworks.com 7

Page 8: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

Understanding Characteristics of a Leaf Switch

8cumulusnetworks.com

10/40 Gigabit spine uplink ports

Serial console port

Ethernet Out-of-Band

Management Port

1/10 Gigabit Ethernetnetwork access ports

* SFP+ ports can be grouped together into a single QSFP 40G port via reverse connecting breakout cable options* QSFP ports can be broken out into four SFP+ ports via copper or optical transceiver options

Page 9: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

Understanding Characteristics of a Spine Switch

9cumulusnetworks.com

Serial console port

Ethernet Out-of-Band Management Port

* QSFP ports can be broken out into four SFP+ ports via copper or optical breakout cable options

40G / 10G Fabric ports

Page 10: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

Add leaf switches incrementally

Connecting 40G Uplinks to Spine Layer

10cumulusnetworks.com

Spine Switch 1

Leaf Switch 1

uplink 1 uplink 2 uplink 3 uplink 4

Spine Switch 2 Spine Switch 3 Spine Switch 4

Page 11: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

Anatomy of a Network Switch

cumulusnetworks.com 11

( Management Interfaces ) ( Data Plane )

CPUSoC

DRAMBootFlash

MassStorage

SwitchingASIC

SerialConsole

EthernetMgmt Port

10GbPort

40GbPort…10Gb

Port40GbPort

PCIe

Page 12: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

cumulusnetworks.com 12

Bare Metal Switch Provisioning

Similar approach to installing OS on server

BIOS + PXE = U-Boot + ONIE (Open Network Install Environment)

Supported hardware (HCL) preloaded with ONIE

ONIE available on GitHub• http://onie.github.io/onie/

bare metal server

operating system

app

app

app

BIOS and PXEbare metal

switch

operating system

app

app

app

U-Boot and ONIE

Page 13: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

13

Hardware Vendors

cumulusnetworks.com

Page 14: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

cumulusnetworks.com 14

Operating System Vendors

Page 15: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

cumulusnetworks.com 15

Hardware Compatibility List (HCL)

Switch Model Number DescriptionMerchant Silicon

Cumulus Linux Release

Dell S6000-ON 32 x 40G-QSFP+ Trident II 2.1 or later

Edge-CoreAS6700-32X with ONIE

32 x 40G-QSFP+ Trident II 2.0.1 or later

Penguin Computing Arctica 3200XL 32 x 40G-QSFP+ Trident II 2.0 or later

Quanta QCTQuantaMesh T5032-LY6

32 x 40G-QSFP+ Trident II 2.0.1 or laterAgema AG-7448CU48 x 10G-SFP+ and 4 x 40G-QSFP+

Trident 1.5.0 or later

Dell S4810-ON48 x 10G-SFP+ and 4 x 40G-QSFP+

Trident 2.0.2 or later

Edge-Core AS5600-52X with ONIE48 x 10G-SFP+ and 4 x 40G-QSFP+

Trident+ 1.5.0 or later

Edge-Core AS5610-52X with ONIE48 x 10G-SFP+ and 4 x 40G-QSFP+

Trident+ 2.0.1 or later

Edge-Core AS5710-54X with ONIE48 x 10G-SFP+ and 6 x 40G-QSFP+

Trident II 2.1.x or later

Penguin Computing Arctica 4804X48 x 10G-SFP+ and 4 x 40G-QSFP+

Trident+ 1.5.1 or later

Quanta QCTQuantaMesh T-3048-LY2

48 x 10G-SFP+ and 4 x 40G-QSFP+

Trident+ 1.5.0 or later

Quanta QCTQuantaMesh T-3048-LY2R

48 x 10G-SFP+ and 4 x 40G-QSFP+

Trident+ 1.5.0 or later

Quanta QCTQuantaMesh T5048-LY8

48 x 10G-SFP+ and 6 x 40G-QSFP+

Trident II 2.1.x or later*

Edge-Core AS4600-54T with ONIE 48 x 1G-T and 4 x 10G-SFP+ Apollo2 2.0 or later

Penguin Computing Arctica 4804i 48 x 1G-T and 4 x 10G-SFP+ Triumph2  1.5.1 or later

Quanta QCTQuantaMesh T1048-LB9

48 x 1G-T and 4 x 10G-SFP+ FireBolt3 1.5.0 or later

40

G1

0G

1G

Page 16: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

16

Choice

cumulusnetworks.com

Page 17: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

17

Choice

cumulusnetworks.com

Page 18: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

ONIE: Bare Metal Install – First Time Boot Up

cumulusnetworks.com 18

Boot Loader(HW Vendor Supplied)

ONIE(HW Vendor Supplied)

Installer(OS Vendor)

Boot Loader• Low Level boot loader, configures CPU complex• Loads and boots ONIE

ONIE• Linux Kernel with Busybox• Configures management Ethernet interface• Locates and executes an OS installer• Provides tools and environment for installer

OS Installer• Available from network or USB• Linux executable• Installs vendor OS into mass storage

Network OS(OS Vendor Supplied)

Fetches

Installs

Page 19: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

ONIE: Network OS Installer Discovery and Install Behavior

cumulusnetworks.com 19

Configure Network Interface

Locate Installer

Run Installer

• Uses DHCPv4, DHCPv6• Configures Ethernet interface for IPv4 / IPv6• Configures DNS and hostname

• Determines the location of an installer executable• Examines local file systems, e.g. USB flash drives• Uses DHCP options, DNS Service Discovery, Multicast DNS

and IPv6 Neighbors

• Downloads installer via URL• Passes various environment variables to installer• Launches installer

Page 20: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

cumulusnetworks.com 20

Networking Interfaces in Linux

Interface Description

eth0 Physical interface for out-of-band management

lo Loopback (logical interface redirecting to switch)127.0.0.1 in /etc/hostsDebian lists secondary 127.0.1.1

swpN Physical interface for data plane trafficN corresponds to port number

bridge Logical interface creating a single Layer 2 broadcast domainTraffic on sub-interfaces can be untagged or taggedCommonly called “VLAN”

bond Logical interface aggregating two or more interfacesCommonly called “LAG” or “port channel”

Page 21: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

cumulusnetworks.com 21

Pushing Changes Down

CPU, RAM, Flash, etc. Switch Silicon

Front Panel Ports

lldpd

Routing Tables

ARP Table

Devices

Bridge FDB Filter Tables

Bonds VLANs

Lin

ux

Kern

el

Virtual Kernel Ports

Bridging

mstpd

ACLRouting Suite

Quaggasnmpd

vconfig

iptable

ebtable

ip6tableiproute

2

VXLAN Bridges

Switch HAL

brctl

SwitchDriver

Use

r Space

Quagga daemon, Quagga.conf, and vtysh

CLI and /etc/network/interfaces

switchd

Page 22: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

cumulusnetworks.com 22

Show Interface Statistics

High level statistics for an interfacecumulus@switch:~$ ip -s link show dev swp13: swp1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 500 link/ether 44:38:39:00:03:c1 brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 21780 242 0 0 0 242 TX: bytes packets errors dropped carrier collsns 1145554 11325 0 0 0 0

Low level statistics for an interfacecumulus@switch:~$ sudo ethtool -S swp1

Page 23: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

cumulusnetworks.com 23

Deconstructing /etc/network/interfaces

auto swp1 iface swp1 inet static address 192.168.0.11/30 gateway 192.168.0.1 up ip link set $IFACE up down ip link set $IFACE down

Bring up interface during boot up or service network

reloadInterface

nameMethod: manual, static,

dhcp

ifup verse to bring up interface

ifdown verse to bring down interface

IP address settings for interface,

only if using static

Method

Action

manual

No IP address configured by default

static

IP address configured using address and gateway options

dhcp Obtain IP address using DHCP server

Page 24: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

cumulusnetworks.com 24

Bridging

Bridge = single isolated Layer 2 broadcast domain

Allows hosts connected to bridge ports (members) to discover each other without having to define routes

Traffic on ports is tagged (802.1q VLAN ID) or untagged (native)

• Tagging involves using sub-interfaces, e.g. swpN.ID

Commonly called “VLAN” in traditional networking

Page 25: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

cumulusnetworks.com 25

Defining a Bridge

auto br-vlan100 iface br-vlan100 inet manual bridge_ports swp4.100 swp5.100

up ip link set $IFACE up down ip link set $IFACE down

Bring up interface during boot up or service network

reloadInterface

nameMethod: manual, static,

dhcp

ifup verse to bring up interface

ifdown verse to bring down interface

Bridge members.swp4, swp4.100, swp5, and swp5.100 must be

defined first.100 creates sub-interface

(turning swp into trunk port)

Page 26: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

cumulusnetworks.com 26

Show Bridge

Show bridges

Show bridge MAC addressescumulus@switch:~$ brctl showmacs br-redport name mac addr is local? ageing timerswp4 06:90:70:22:a6:2e no 19.47swp1 12:12:36:43:6f:9d no 40.50swp1 44:38:39:00:12:9b yes 0.00swp2 44:38:39:00:12:9c yes 0.00

cumulus@switch:~$ brctl showbridge name bridge id STP enabled interfacesbr-vlan100 8000.089e01f89511 no swp5 swp6

Page 27: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

cumulusnetworks.com 27

Cumulus Linux Packaging and Support

main

updates

security-updates

addons

testing

250 packages

~ 20 Cumulus Linux packages

Examples:

Ruby, Perl, Python, Bash, IPtables, LLDP

Updates: packages revised Security: known concerns, CVEs

User-identified utilities + libraries

Puppet, Factor, Chef, collectd

Early access utilities and libraries

Bird (CL 1.5)

40K+ packagesDebian.org

Fully Supporte

d

Fully Supported

*

Best Effort

Best Effort*

Matu

rity

Level of

QA

*packages not controlled by Cumulus

Page 28: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

28

Traditional Hierarchical Network Topology

L3

L2

Access

Aggregation

Core

Legacy and limitations Not designed for today’s

data center running modern workloads

• Server density • Increased server-to-server

traffic Numerous proprietary

protocols• STP/RSTP/PVSTP, VTP, HSRP,

MLAG, LACP “This is what we’ve been

taught”

Page 29: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

29

L3 Is the Future

L3

L2

ECMP

Clos network (“spine/leaf”)

1. Simpler network1. Fewer protocols

2. Standards-based1. Fewer proprietary

features

3. Predictable latency1. Every leaf is 1 hop

away

4. Horizontally scalable

Leaf

Spine

Core

Page 30: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

Basic Clos Architecture (2-Tier Spine/Leaf)

30cumulusnetworks.com

Optimized for high bandwidth East to West traffic patterns

compute and storage

network services

Core or WAN

Spine Layer

Leaf Layer

Page 31: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

Basic Clos Architecture (3-Tier or 5-Stage)

31cumulusnetworks.com

Leaf

Spine

InterPod Spine

Network Services Leaf

Page 32: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

32

Ansible demo

spine 1

swp1 - 4

swp1 - 4

swp1 - 4

swp1 - 4

leaf 2

swp17 - 20

swp17 - 20

swp17 - 20

swp17 - 20

wbench

leaf 1

spine 2eth0 eth0

eth0 eth0

eth1eth0

192.168.0.0/24

10.2.1.3/32

10.2.1.4/32

10.2.1.1/32

10.2.1.2/32

swp30-33

swp34-37

10.4.1.1/25

10.4.1.129/25

swp30-33

swp34-37

10.4.2.1/25

10.4.2.129/25

192.168.0.1

Page 33: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

33

Questions

Page 34: Hardware accelerated switching with Linux @ SWLUG Talks May 2014

34

© 2014 Cumulus Networks. Cumulus Networks, the Cumulus Networks Logo, and Cumulus Linux are trademarks or registered trademarks of Cumulus Networks, Inc. or its affiliates in the U.S. and other countries. Other names may be trademarks of their respective owners. The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis.

Thank You!

Bringing the Linux Revolution to Networking