Presentation is loading. Please wait.

Presentation is loading. Please wait.

Programmable Overlays with VPP

Similar presentations


Presentation on theme: "Programmable Overlays with VPP"— Presentation transcript:

1 Programmable Overlays with VPP
LinuxCon 2016, Toronto Florin Coras, Vina Ermagan Cisco Systems

2 Overlay Network Engine Objective
Enable programmable, software defined, overlays Data driven control-plane protocol Rich set of forwarding policies Various overlay address families and encapsulation technologies SDN controller driven LinuxCon North America 2016 8/24/16

3 LinuxCon North America 2016
Overlay Features Overlay Control Plane Mapping System VPP VPP overlay underlay overlay LinuxCon North America 2016 8/24/16

4 LinuxCon North America 2016
Overlay Features Mapping System Retrieve destination mapping VPP VPP LinuxCon North America 2016 8/24/16

5 LinuxCon North America 2016
Overlay Features Mapping System b->B VPP VPP B b Encapsulate and forward packets over underlay LinuxCon North America 2016 8/24/16

6 LinuxCon North America 2016
Overlay Features Mapping System b->{B1, B2} VPP VPP B1 B2 b Use multiple paths if possible LinuxCon North America 2016 8/24/16

7 LinuxCon North America 2016
Overlay Features Mapping System VPP VPP B1 B2 Decap and forward to destination LinuxCon North America 2016 8/24/16

8 LinuxCon North America 2016
Overlay Features SDN Controller External trigger Mapping System Reprogram forwarding VPP LinuxCon North America 2016 8/24/16

9 LinuxCon North America 2016
Overlay Features SDN Controller Mapping System b->[C, B] VPP C B b LinuxCon North America 2016 8/24/16

10 LinuxCon North America 2016
Overlay Features SDN Controller External trigger Mapping System Reprogram forwarding VPP C B b x LinuxCon North America 2016 8/24/16

11 LinuxCon North America 2016
Overlay Features SDN Controller Mapping System b->[C, B] [x, b]->B VPP C B b only if sourced by x x LinuxCon North America 2016 8/24/16

12 LinuxCon North America 2016
APIs Controller NETCONF (Honeycomb) CLI Binary API CP Protocol APIs VPP LinuxCon North America 2016 8/24/16

13 LinuxCon North America 2016
APIs Controller configuration NETCONF (Honeycomb) CLI Binary API CP Protocol APIs VPP LinuxCon North America 2016 8/24/16

14 LinuxCon North America 2016
APIs Controller dynamic updating of forwarding NETCONF (Honeycomb) CLI Binary API CP Protocol APIs VPP LinuxCon North America 2016 8/24/16

15 LinuxCon North America 2016
Tunneling protocols in VPP GRE MPLS-GRE L2TP VXLAN VXLAN-GPE ILA IPSEC-GRE (code just in) LinuxCon North America 2016 8/24/16

16 Overlay Network Engine (ONE)
Project definition SDN controller: OpenDaylight control plane: LISP data plane: starting with Generic Protocol Encapsulation (LISP-GPE) ODL LispFlowMapping NETCONF LISP LISP NETCONF GPE Other GPE Other VPP VPP LinuxCon North America 2016 8/24/16

17 Overlay Network Engine (ONE)
Features Any of IP4, IP6 and L2 overlays on top of IP4 and/or IP6 underlays Multihoming/load balancing between underlay attachment points Multitenancy/EID virtualization Overlays spanning disjoint underlays with re-encapsulating routers CLI, binary API and VAT (test API) Soon: NETCONF support (Honeycomb) and src/dst control plane support LinuxCon North America 2016 8/24/16

18 Overlay Network Engine (ONE)
Programmability External trigger ODL LispFlowMapping ODL tracks mappings subscribers and pushes notifications when changes occur. VPP LinuxCon North America 2016 8/24/16

19 Create overlay: use-case multihoming
Router config lisp enable lisp locator-set add ls1 iface <ifname1> p 1 w iface <ifname2> p 1 w 1 lisp eid-table add eid <ip-prefix> locator-set ls1 lisp map-resolver add <mr-ip> Mapping System b->{B1, B2} VPP ODL config B1 Use RESTCONF to add two mappings, one per router B2 b LinuxCon North America 2016 8/24/16

20 LinuxCon North America 2016
VPP node graph (simplified) dpdk-input eth-input ipX-rewrite iface_output iface_tx ipX-input ipX-lookup ipX-local ipX-udp-lookup LinuxCon North America 2016 8/24/16

21 LinuxCon North America 2016
ONE node graph init - dp dpdk-input iface eth-input lgpe-ipX-lookup lisp-gpe-tx recirculate via ipX-lookup lispX ipX-input ipX-lookup lisp-gpe-ipX-input 4341 ipX-local ipX-udp-lookup data-plane LinuxCon North America 2016 8/24/16

22 LinuxCon North America 2016
ONE node graph init - dp Attach lgpe-ipX-lookup as possible next_hop to ipX-lookup when lisp-gpe interface is switched on. dpdk-input iface eth-input lgpe-ipX-lookup lisp-gpe-tx recirculate via ipX-lookup src matching lispX ipX-input ipX-lookup dst matching lisp-gpe-ipX-input 4341 ipX-local ipX-udp-lookup data-plane LinuxCon North America 2016 8/24/16

23 LinuxCon North America 2016
ONE node graph init - dp dpdk-input Add one lispX interface per table_id (vrf) and have the tx function do the lisp encap iface eth-input lgpe-ipX-lookup lisp-gpe-tx recirculate via ipX-lookup lispX ipX-input ipX-lookup output features lisp-gpe-ipX-input 4341 ipX-local ipX-udp-lookup data-plane LinuxCon North America 2016 8/24/16

24 LinuxCon North America 2016
ONE node graph init - dp If all goes right in lookup, send to lisp-gpe-output_node (output features like IPsec can be executed here) and subsequently to lisp-gpe-tx_node where packets are lisp-gpe encapsulated dpdk-input iface eth-input lgpe-ipX-lookup lisp-gpe-tx recirculate via ipX-lookup lispX ipX-input ipX-lookup output features lisp-gpe-ipX-input 4341 ipX-local ipX-udp-lookup data-plane LinuxCon North America 2016 8/24/16

25 LinuxCon North America 2016
ONE node graph init - dp dpdk-input iface eth-input lgpe-ipX-lookup lisp-gpe-tx recirculate via ipX-lookup lispX ipX-input ipX-lookup Register lisp-gpe-ipX-input as handler of UDP port 4341 packets lisp-gpe-ipX-input 4341 ipX-local ipX-udp-lookup data-plane LinuxCon North America 2016 8/24/16

26 LinuxCon North America 2016
ONE node graph init - cp dpdk-input lisp-cp-lookup iface eth-input lgpe-ipX-lookup lisp-gpe-tx recirculate via ipX-lookup lispX ipX-input ipX-lookup lisp-gpe-ipX-input 4341 ipX-local ipX-udp-lookup lisp-cp-input 4342 data-plane control-plane LinuxCon North America 2016 8/24/16

27 LinuxCon North America 2016
ONE node graph init - cp dpdk-input Add default route that points to lisp-cp-lookup. lisp-cp-lookup iface eth-input lgpe-ipX-lookup lisp-gpe-tx recirculate via ipX-lookup lispX ipX-input ipX-lookup lisp-gpe-ipX-input 4341 ipX-local ipX-udp-lookup lisp-cp-input 4342 data-plane control-plane LinuxCon North America 2016 8/24/16

28 LinuxCon North America 2016
ONE node graph init - cp dpdk-input lisp-cp-lookup iface eth-input lgpe-ipX-lookup lisp-gpe-tx recirculate via ipX-lookup lispX ipX-input ipX-lookup lisp-gpe-ipX-input Register lisp-cp-input as handler of UDP port 4342 packets 4341 ipX-local ipX-udp-lookup lisp-cp-input 4342 data-plane control-plane LinuxCon North America 2016 8/24/16

29 LinuxCon North America 2016
ONE node graph init – L2 dp dpdk-input iface eth-input l2-lispX lisp-gpe-tx recirculate via ipX-lookup ipX-input l2-input ipX-lookup lisp-gpe-ipX-input ipX-local ipX-udp-lookup data-plane LinuxCon North America 2016 8/24/16

30 LinuxCon North America 2016
ONE node graph init – L2 dp dpdk-input Add one l2_lispX interface per bridge domain and have the tx function do the lisp encap iface eth-input l2-lispX lisp-gpe-tx recirculate via ipX-lookup ipX-input l2-input ipX-lookup lisp-gpe-ipX-input ipX-local ipX-udp-lookup data-plane LinuxCon North America 2016 8/24/16

31 LinuxCon North America 2016
ONE node graph init – L2 cp dpdk-input Flood packets with unknown destinations are sent to lisp-cp-lookup lisp-cp-lookup iface eth-input l2-lispX lisp-gpe-tx recirculate via ipX-lookup ipX-input l2-input ipX-lookup lisp-gpe-ipX-input ipX-local ipX-udp-lookup data-plane lisp-cp-input LinuxCon North America 2016 8/24/16

32 LinuxCon North America 2016
ONE control plane gid-dictionary lisp_fwd_cache CRD mappings CRD fwd entries lisp-gpe router logic lisp-cp-lookup lisp-dp-api lisp-cp-input egress map-request ingress map-request map-reply fwd entry request add/del fwd entry lisp-gpe data plane vpp LinuxCon North America 2016 8/24/16

33 Demo Mapping System Map-Cache b->B VPP VPP B b IP6 over IP4 overlay

34 LinuxCon North America 2016
Demo Mapping System Map-Cache b->B VPP VPP IPv4 RTR IPv6 Buy faster/cheaper transit or transition part of the core to IPv6 LinuxCon North America 2016 8/24/16

35 LinuxCon North America 2016
Demo Switch to RTR path Mapping System Map-Cache b->RTR Reprogram forwarding VPP VPP IPv4 RTR IPv6 LinuxCon North America 2016 8/24/16

36 LinuxCon North America 2016
Demo Switch to RTR path Mapping System Map-Cache b->RTR VPP VPP IPv4 RTR IPv6 LinuxCon North America 2016 8/24/16

37 LinuxCon North America 2016
Next steps – Get involved Get the Code, Build the Code, Run the Code Read/Watch the Tutorials Read/Watch VPP Tutorials Join the Mailing Lists LinuxCon North America 2016 8/24/16

38 LinuxCon North America 2016
Thank you! ? LinuxCon North America 2016 8/24/16


Download ppt "Programmable Overlays with VPP"

Similar presentations


Ads by Google