Jump to: navigation, search

Networking-vpp/L3 routing support

Overview

This page describes the L3 functionality that will be added to networking-vpp. It will also describe what the team plans to deliver with respect to code, test, documentation and any other deliverables. This project will add code to networking-vpp repository to enable L3 support when the networking-vpp driver is used in conjunction with an fd.io based vswitch in an openstack installation. For this work centralized router (not-dvr) based approach will be provided. There are numerous documents describing the openstack neutron routing model including:

Functionality that will be added

Functionality not supported

  • HA or any VRRP based solutions
  • Distributed Virtual Router topologies (DVR)
  • VXLAN-GPE
  • Setting the "enable_snat = FALSE" API network extension has no affect. IOW in the case of IPv4 NAT will always be used when sending/receiving from an external network
  • Any tie in with the dynamic routing or BGPVPN functionality available in Neutron
  • No support for additional static routes (normally available to the user via an API call)

Limitations

  • Must be coupled with the L2 plugin and run on each compute or network node
  • All testing will be based on Newton release of Openstack.

What will be delivered

  • Code merged in to the networking-vpp repository to add the functionality described above
  • Unit tests merged in to the networking-vpp repository to test the code added in step 1
  • Documentation to describe the functionality provided and the usage/installation requirements - via internal wiki
  • A TOI and code walk-through to a responsible person that can continue the work after initial merge.

Test methodology

The tests included as part of this deliverable is limited to unit tests and a small number of "smoke tests" with a VPP instance installed. Complete functional tests on physical servers in configuration representative of a real deployment is outside of the scope of this deliverable.

Dependencies

This work will have a few dependencies to properly deliver the functionality. The following are the key items.

  • 17.01 based fd.io and fd.io python library RPMs available for installation
  • Timely code reviews and code merge from the networking-vpp community and core reviewers
  • Support for the necessary L3 functionality from the fd.io vswitch/vrouter including:
  1. Support for NAT
  2. Support for proxy ARP
  3. Support for routing
  4. Support for an SVI/BVI type interface on an L2 bridge domain.
  • Timely response from the fd.io community for any bugs or issues uncovered while testing.
  • A responsible party that can continue the work after initial merge and guide this through functional testing.
  • For customer release an comprehensive functionality test suite and execution would be required.

Installation/Usage Instructions