VPP/OVN
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