the open source lsr · 2010-10-04 · mpls label switching router running ospf, ldp hardware...
TRANSCRIPT
![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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/8.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/9.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/10.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/15.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/18.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/19.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/20.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/21.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/22.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/23.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/24.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/25.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/26.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/27.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040823/5e6df38f1ec9f93fbf046a48/html5/thumbnails/28.jpg)
Credits
The Open Source Projectsmpls-linuxquagga-ldpOpenFlow-MPLSNetFPGA
LSP synchronizer, debugging - Jonathan Ellithorpe
Lab Testing - Richard Hay
Overall Concept - Stephen Stuart