Introduction
This wiki describes:
- The implementation of the Hardware VTEP schema in the OVSDB project. This includes updates to the OVSDB southbound and the netvirt application.
- L2-GW (Layer-2 Gateway)
- hardware_vtep schema
- Hwvtepsouthbound Overview
Design
Discover and establish connection with hardware VTEP:
- ODL OVSDB plug-in will establish an active connection with the device running ovsdb-server and hw_vtep model in MD-SAL data store is updated. (1)
- Neutron administrator creates an l2-gateway (abstraction of hardware gateway and its ports/interfaces) – logical resource in neutron.
- Neutron administrator creates a VXLAN network.
- Neutron administrator creates an l2-gateway-connection (binding of the virtual network with the l2-gateway logical resource)
- The call lands into the L2gw service plugin.
- The L2gw service plugin invokes the l2gw-ODL driver and makes REST call to the ODL controller
- The ODL controller validates the request against the data present in the datastore (whether such hardware gateway and such ports really exist).
- ODL northbound REST API also reads the gateway configuration and updates the hardware_vtep yang model in MD-SAL data store.
- onDatachanged event will be generated and the OVSDB net-virt should determine ( in MD-SAL data store) the compute nodes which is hosting the virtual ports and VM macaddress associated to these virtual ports in gateway configuration. Once all the necessary information is available appropriated tables of hardware_vtep yang model in MD-SAL data store should be updated.
- Neutron yang should be updated and onDatachanged event will be generated which will be consumed by netvirt.
- OnDataChanged OVSDB Southbound plugin should process the NorthBoundevent and using OVSDB library the appropriate tables in the device hw_vtep should be updated so that VXLAN tunnel between the hw_vtep and the compute node will be created. Also VNI<->VLAN binding should be updated on the device’s hw_vtep so that VNI <-> VLAN cross-connect configuration will be done by the device based on the hw_vtep table updates.
- When a VM is spawned on the neutron side, the VMs details (like IP, MAC, compute node VTEP IP) is sent by the ODL ML2 plugin to the ODL North Bound.
- The ODL OVSDB soutbound plugin updates the OVSDB hardware schema tables the hardware gateway creates a VXLAN tunnel to the compute node based on this information.
- Whenever a new bare metal server is discovered on the port (for which VXLAN-VLAN mapping exists), the ODL southbound plugin contacts the compute node OVS tunnel bridge to create a reverse VXLAN tunnel to the hardware VTEP.
- OVSDB southbound plug-in should also create VXLAN tunnel on the compute node whose ports are participating in the gateway configuration.
- With this configuration bare metals(BM) on the physical infrastructure (underlay) and virtual machines (VM) on the overlay can participate in the same l2 domain.