the open source lsr · 2010-10-04 · mpls label switching router running ospf, ldp hardware...

28
The Open Source LSR Scott Whyte [email protected]

Upload: others

Post on 13-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

The Open Source LSR

Scott [email protected]

Page 2: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

What is an "Open Source LSR"?

MPLS Label Switching Router

Running OSPF, LDP

Hardware Forwarding (4 x 1GigE ports)

Open Source Software AND Hardware

Page 3: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Why build one?

Most of the parts already exist

Create community involvement

Enable interesting network research

Hardware usually the stopper

Page 4: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Components

NetFPGA

OpenFlow

mpls-linux

quagga-ldp

LSP Synchronizer

Page 5: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Components: NetFPGA

SATAVirtex-II Pro

FPGAZBT SRAM

(4.5MB)

PCIDDR2 SDRAM

(64MB)BCM 5464

4x 1GigE links

Page 6: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Programming the flow table with OpenFlow:

OpenFlow Controller

OpenFlow kernel module

NetFPGA Driver

Hardware

Components: MPLS OpenFlow

OpenFlow Switch

Page 7: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Components: MPLS OpenFlow

Programming the flow table with OpenFlow:

OpenFlow Controller

OpenFlow kernel module

NetFPGA Driver

Hardware

Kernel LFIB

OpenFlow Switch

Page 8: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Components: MPLS OpenFlow and NetFPGA

match = match on some MPLS label

action = rewrite label and forward

Page 9: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Components: MPLS OpenFlow and NetFPGA

Packets for host sent to kernel

OSPF, LDP, ssh, etc.

Page 10: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Patches for kernel (2.6.32.16)

Source for building MPLS kernel modules

Patches for iproute2Updated 'ip' commandNew 'mpls' command

Components: mpls-linux

Page 11: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Components: quagga-ldp

Standard quagga provides OSPF

This project adds LDP support

LDP Parameters used:Downstream unsolicited Liberal retentionOrdered control

Page 12: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Components: LSP Synchronizer

quagga provides: labels via ldpd kernel LFIB updates via zebrad

OpenFlow provides:FIB programming on NetFPGA

LSP Synchronizer has to:Scan kernel LFIBCompare to FIB on NetFPGAUpdate FIB as needed

Page 13: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Open Source LSR

OpenFlow MPLS Switch

bitfile on FPGA

Page 14: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Open Source LSR

OpenFlow MPLS Switch

bitfile on FPGA

Page 15: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Open Source LSR

OpenFlow MPLS Switch

bitfile on FPGA

Page 16: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Open Source LSR

OpenFlow MPLS Switch

bitfile on FPGA

Page 17: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Open Source LSR

OpenFlow MPLS Switch

bitfile on FPGA

Page 18: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Open Source LSR

OpenFlow MPLS Switch

bitfile on FPGA

Page 19: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Open Source LSR

OpenFlow MPLS Switch

bitfile on FPGA

Page 20: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Sofware vs. Hardware Forwarding

Simple TestBidirectional Throughput68 byte packets1504 byte packets

Page 21: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Software vs. Hardware Throughput

Page 22: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Software vs. Hardware Throughput

Page 23: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Lab Topology: Verifying MPLS

OSPF on all devicesLDP on all devicesJuniper M10Redback SmartEdge100

Page 24: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Lab Topology: BGP-free core

OSPF on all devicesLDP on all devicesJuniper M10s as LERsiBGP across LSRs

Page 25: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

LER?

Hardware allows popping and pushing too...

Page 26: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Future WorkNear-term

Bugfixes64-bit Linux kernelPort to BSDRSVP-TE support in Quagga10G NetFPGA card

Medium-termCentralized control plane via an OpenFlow controllerBGP-free core design based on open-source LSRs

Page 27: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Download!

This project tarballhttp://code.google.com/p/opensource-lsr/

Open-source projects integrated in this projectmpls-linux

http://repo.or.cz/w/mpls-linux.gitquagga-ldp

http://repo.or.cz/w/jleu-quagga.gitNetFPGA / OpenFlow with MPLS support

http://netfpga.org/foswiki/bin/view/NetFPGA/OneGig/ProjectsOpenFlowMPLSSwitchhttp://openflowswitch.org/wk/index.php/OpenFlowMPLS_NetFPGA_Switch

Page 28: The Open Source LSR · 2010-10-04 · MPLS Label Switching Router Running OSPF, LDP Hardware Forwarding (4 x 1GigE ports) Open Source Software AND Hardware. Why build one? Most of

Credits

The Open Source Projectsmpls-linuxquagga-ldpOpenFlow-MPLSNetFPGA

LSP synchronizer, debugging - Jonathan Ellithorpe

Lab Testing - Richard Hay

Overall Concept - Stephen Stuart