LISP Flow Mapping Service SDN and NFV Use Cases Boron Release Vina Ermagan Lori Jakab, Florin Coras, Cisco Systems
Objective Enable scalable, easily programmable, software defined, overlays Data-driven control plane Rich set of address types and forwarding policies Simple Northbound APIs Based on open standards
Programmable Overlay? a b Overlay Control Plane Mapping System overlay underlay overlay
Programmable Overlay? Program forwarding A B a b b-> B Mapping System Program forwarding A -> B a -> b a -> b A B a a -> b b Encapsulate and forward packets over underlay
Programmable Overlay? Reprogram forwarding a b b->{B1, B2} Mapping System Reprogram forwarding B1 B2 a b Encapsulate and forward packets over underlay
Programmable Overlay? Reprogram forwarding a b b->{ C, B } Mapping System Reprogram forwarding B C a b Encapsulate and forward packets over underlay
Programmable Overlay? Reprogram forwarding B C a b b->{C, B} Mapping System [x, b]->B Reprogram forwarding B C a b only if sourced by x x
Mapping Service FD.io (VPP) Neutron Service Function Chaining Open Overlay Router
How it is implemented? Key-value Mapping Store with: ODL Longest prefix matching for IP Two tuple key e.g.: (src,dst) -> value Three tuple key (for segmentation) (VNI, src,dst) -> value Data types with native support: IP, MAC, NSH, AS number, Distinguished Name, & more External trigger ODL REST Flow Mapping Service LISP Plugin ODL tracks mappings subscribers and pushes notifications when changes occur. VPP
Internal Architecture Core: Mapping Service In-memory mapping cache layer Supports longest prefix match for IPv4/v6 with segmentation (VNI) Multiple mapping types including JSON and opaque key/value pairs LISP Mapping Service Map Server/Resolver LISP Southbound Plugin LISP control plane messages: Map- Request/Reply/Register Early stages Neutron provider ODL LISP Flow Mapping Service RPC/RESTCONF/GUI Implementation Neutron In-mem Cache Mapping Service Datastore LISP Mapping Service MD-SAL LISP SB Plugin
NB APIs RESTCONF RPC Add or remove mappings get-mapping: for processed result (e.g. longest prefix matching, ..) URL: http://127.0.0.1:8181/restconf/config/odl-mappingservice:mapping-database/virtual-network-identifier/0/mapping/ipv4:192.0.2.1%2f32/northbound/ { "mapping": { "eid-uri": "ipv4:192.0.2.1/32", "mapping-record": { "eid": { "address-type": "ietf-lisp-address-types:ipv4-prefix-afi", "ipv4-prefix": "192.0.2.1/32” }, "LocatorRecord": [ { "rloc": { "address-type": "ietf-lisp-address-types:ipv4-afi", "ipv4": "10.10.10.10" …}} ]}}}
Supported Mapping Types
New in Boron HA with Clustering Performance increase Test coverage and code stability
Use Cases Mapping Service ENTERPRISE TRENDS Network Overlay ODL Overlays/VPN Dynamic On Demand Overlay Multi-tenancy and Traffic Segmentation Multihoming, Active/Backup, Load Balancing Traffic engineering and Service chaining Policy-based Mapping Service ODL Network Overlay Flexible Transport IPv4-v6 transition L2, L3: v4/v6 , NSH, … Mobility Workload Mobility Cloud Extension ENTERPRISE TRENDS Open Flexible Programmable 14
Use Cases Mapping Service ENTERPRISE TRENDS Network Overlay ODL Overlays/VPN Dynamic On Demand Overlay Multi-tenancy and Traffic Segmentation Multihoming, Active/Backup, Load Balancing Traffic engineering and Service chaining Simple Configuration in FD.io: lisp enable lisp locator-set add ls1 iface <ifname1> p 1 w 1 lisp eid-table add eid <ip-prefix> locator-set ls1 lisp map-resolver add <mr-ip> Policy-based Mapping Service ODL Network Overlay Flexible Transport IPv4-v6 transition L2, L3: v4/v6 , NSH, … Mobility Workload Mobility Cloud Extension ENTERPRISE TRENDS Open Flexible Programmable 15
Use Cases Mapping Service ENTERPRISE TRENDS Network Overlay ODL Overlays/VPN Dynamic On Demand Overlay Multi-tenancy and Traffic Segmentation Multihoming, Active/Backup, Load Balancing Traffic engineering and Service chaining Policy-based Mapping Service ODL Network Overlay B => B1, priority:1, weight:1 B2, priority:1, weight:2 Mapping System Flexible Transport IPv4-v6 transition L2, L3: v4/v6 , NSH, … Mobility Workload Mobility Cloud Extension ENTERPRISE TRENDS B1 A a B2 b Open Flexible Programmable 16
Use Cases Mapping Service ENTERPRISE TRENDS Network Overlay ODL Overlays/VPN Dynamic On Demand Overlay Multi-tenancy and Traffic Segmentation Multihoming, Active/Backup, Load Balancing Traffic engineering and Service chaining Policy-based Mapping Service ODL Network Overlay Mapping System b => B Flexible Transport IPv4-v6 transition L2, L3: v4/v6 , NSH, … Mobility Workload Mobility Cloud Extension ENTERPRISE TRENDS A IPv4 B a b IPv6 Open Flexible Programmable 17
Use Cases Mapping Service ENTERPRISE TRENDS Network Overlay ODL Overlays/VPN Dynamic On Demand Overlay Multi-tenancy and Traffic Segmentation Multihoming, Active/Backup, Load Balancing Traffic engineering and Service chaining Policy-based Mapping Service ODL Network Overlay b => {RTR-> B} Mapping System Flexible Transport IPv4-v6 transition L2, L3: v4/v6 , NSH, … Mobility Workload Mobility Cloud Extension ENTERPRISE TRENDS A IPv4 B a IPv6 b RTR Open Flexible Programmable 18
Demo with FD.io Demo Mapping Service ENTERPRISE TRENDS Network Overlay Overlays/VPN Dynamic On Demand Overlay Multi-tenancy and Traffic Segmentation Multihoming, Active/Backup, Load Balancing Traffic engineering and Service chaining Demo Policy-based Mapping Service ODL Network Overlay b => {R -> B} Mapping System Flexible Transport IPv4-v6 transition L2, L3: v4/v6 , NSH, … Mobility Workload Mobility Cloud Extension ENTERPRISE TRENDS FD.io FD.io A IPv4 FD.io B a IPv6 b R Open Flexible Programmable 19
Data Plane and Tools OpenDaylight FD.io OpenOverlayRouter.org Mapping Service LISP Control Protocol (LISP SB Plugin) FD.io LISP-CP, VXLAN/LISP-GPE, NETCONF OpenOverlayRouter.org Linux Android OpenWRT Wireshark
Next steps – Get involved! ODL Mapping Service Get the Code, Build the Code, Run the Code Read the Tutorials Read/Watch the Presentations Checkout the Sample RESTCONF/RPC Calls Join the Mailing Lists FD.io Read/Watch the Tutorials ODL Summit Demo step-by-step Guide
Thank you! Questions?
Demo Topology IP6 over IP4 topology ODL 6:0:2::2 6:0:4::4 veth_vpp1 veth_vpp2 6.0.3.100 6:0:2::1 6:0:4::1 vpp2 ns vpp1 ns vpp2 vpp1 wan ns 6.0.3.1 6.0.3.3
IP6 over disjoint locators topology Demo Topology IP6 over disjoint locators topology ODL 6:0:5::100 6:0:2::2 6:0:4::4 veth_vpp1 6.0.3.100 veth_vpp2 6:0:2::1 6:0:4::1 vpp2 ns vpp1 ns rtr vpp2 vpp1 wan ns vpp2-rtr ns 6.0.3.1 6.0.3.2 6:0:5::2 6:0:5::1