VPP/OVN

From fd.io
< VPP
Jump to: navigation, search

Project HotDog

Introduction

Integration of OVN and VPP. The initial phase is to integrate VPP as a VTEP gateway to OVN. ovn-controller-vtep is a simple agent written in Python that uses the VTEP OVSDB database on one side and programs the VPP data-plane on the other.

The agent uses the https://github.com/openvswitch/ovs/tree/master/python/ovs OVS Python language binding to communicate with the hardware_vtep database over OVSDB.

ovs.db manages a cached copy of the OVSDB database. We can do something similar for VPP, where the VPP side of the agent maintains a local cached copy of VPP's interfaces, interface state, VLANs etc.

ovn-controller-vpp git repository

Work list

Task Owner Planned Release Status Description
Integration Bridge VPP configured to participate in OVN integration bridge. VPP configured separately from agent?
Initialise connection to OVSDB Register in the Physical_Switch table (ports, tunnels) in hardware_vtep database. Populate Physical_Port table.
VPP Python interface abstraction Cache and monitor VPP's interface table, VLAN mapping, ACLs etc.
Logical_Switch and Logical_Binding table
Ucast_Macs_Local and Ucast_Mcast_Remote tables
ACL integration Monitor VTEP ACL table and populate ACLs in VPP
BFD to tunnel endpoint Monitor remote tunnel endpoints using BFD. BFD parameters and configuration from the VTEP Tunnel table.
Logical_Router Table Bridge to VRF
Support for multicast MACs?
Arp_Sources_Local and Arp_Sources_Remote tables
Geneve support

Testing

Integration tests will be achieved by extending the existing testing tool coming with ovs/ovn (make check TESTSUITEFLAGS='-k ovn'). Specific tests cases will be built for that purpose.

Contacts

  • Jerome Tollet: jtollet@cisco.com
  • Ole Troan: otroan@cisco.com

Useful links