Programmable Overlays with VPP - Network Control and Mapping Details

programmable programmable overlays with n.w
1 / 38
Embed
Share

Discover how programmable overlays with VPP enable data-driven control plane protocols, a rich set of forwarding policies, and various overlay address families and encapsulation technologies. Learn about the control plane mapping system, destination mapping, encapsulation processes, and SDN controller interactions discussed at LinuxCon 2016.

  • Programmable Overlays
  • VPP
  • Network Control
  • Data-Driven Protocols
  • Forwarding Policies

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


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

  2. Overlay Network Engine Objective 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. Overlay Features Overlay Features Overlay Control Plane Mapping System VPP VPP overlay underlay overlay LinuxCon North America 2016 8/24/16

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

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

  6. Overlay Features 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. Overlay Features Overlay Features Mapping System VPP VPP B1 B2 Decap and forward to destination LinuxCon North America 2016 8/24/16

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

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

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

  11. Overlay Features 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. APIs APIs Controller NETCONF (Honeycomb) CLI Binary API CP Protocol APIs VPP LinuxCon North America 2016 8/24/16

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

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

  15. Tunneling protocols in VPP 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) 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) 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) Overlay Network Engine (ONE) Programmability External trigger ODL LispFlowMapping ODL tracks mappings subscribers and pushesnotifications when changes occur. VPP LinuxCon North America 2016 8/24/16

  19. Create overlay: use Create overlay: use- -case case multihoming multihoming Router config 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> Mapping System iface <ifname2> p 1 w 1 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. VPP node graph (simplified) VPP node graph (simplified) dpdk-input eth-input ipX-rewrite iface_output iface_tx ipX-input ipX-lookup ipX-udp-lookup ipX-local LinuxCon North America 2016 8/24/16

  21. ONE node graph ONE node graph init init - - dp 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-udp-lookup ipX-local data-plane LinuxCon North America 2016 8/24/16

  22. ONE node graph ONE node graph init init - - dp dp dpdk-input Attach lgpe-ipX-lookup as possible next_hop to ipX-lookup when lisp-gpe interface is switched on. 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-udp-lookup ipX-local data-plane LinuxCon North America 2016 8/24/16

  23. ONE node graph ONE node graph init init - - dp 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-udp-lookup ipX-local data-plane LinuxCon North America 2016 8/24/16

  24. ONE node graph ONE node graph init init - - dp 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-udp-lookup ipX-local data-plane LinuxCon North America 2016 8/24/16

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

  26. ONE node graph ONE node graph init init - - c cp p 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-udp-lookup ipX-local lisp-cp-input 4342 data-plane control-plane LinuxCon North America 2016 8/24/16

  27. ONE node graph ONE node graph init init - - c cp p Add default route that points to lisp-cp-lookup. 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-udp-lookup ipX-local lisp-cp-input 4342 data-plane control-plane LinuxCon North America 2016 8/24/16

  28. ONE node graph ONE node graph init init - - c cp p 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-udp-lookup ipX-local lisp-cp-input 4342 data-plane control-plane LinuxCon North America 2016 8/24/16

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

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

  31. ONE node graph ONE node graph init init L2 L2 c cp p 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 l2-input ipX-input ipX-lookup lisp-gpe-ipX-input ipX-local ipX-udp-lookup lisp-cp-input data-plane LinuxCon North America 2016 8/24/16

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

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

  34. Demo 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. Demo 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. Demo Demo Switch to RTR path Mapping System Map-Cache b->RTR VPP VPP IPv4 RTR IPv6 LinuxCon North America 2016 8/24/16

  37. Next steps Next steps Get involved 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. Thank you! Thank you! ? LinuxCon North America 2016 8/24/16

More Related Content