Architecture

The Fabric Services System introduces a few new components in an OpenStack environment to allow the management of the SR Linux based fabric through OpenStack. Below is an overview of these components.

Figure 1. OpenStack Architecture

The Connect ML2 Plugin

The Connect ML2 Plugin is the heart of the integration between OpenStack and the Fabric Services System. This plugin integrates with OpenStack Neutron and reacts to the creation of projects (tenants), Networks (and Subnets) and VM ports.

Whenever a project is created, a matching Workload VPN Intent is created in the Fabric Services System. This Workload VPN Intent is then used for each of the Subnets created for that project, which will become Subnets inside the Workload VPN Intent.

When a VM port is created inside a Neutron Subnet and the VM is started on an OpenStack compute node, the ML2 Plugin learns on which compute node the VM is deployed and through the internal topology will make sure the necessary sub-interfaces are configured as part of the Subnet in the fabric.

This information is learned from the L2 Agent extension which stores the Neutron Network to physical interfaces topology in the Neutron database. This information is then provided to the Connect service and together with the LLDP information of the fabric, the Connect service knows which edge-links in the fabrics need to be configured as sub-interfaces.

The Connect L2 Agent Extensions

The Connect L2 Agent Extensions extend the already existing L2 Agent that is present on every OpenStack compute. These extensions are responsible of mapping the relation between the physical NICs and the different networking constructs setup for the Neutron networks.