Configuring EVPN Multi-homing
To achieve network redundancy and load balancing, OpenStack nodes can be connected to more than one leaf switches that are capable of VXLAN-EVPN network. Juniper ML2 VXLAN-EVPN driver plug-in provisions the multi-homed peer devices with an identical Ethernet Segment Identification (ESI) number and identical VLAN, VNI encapsulation details. This enables EVPN multi-homing functionality on the device.
OpenStack nodes can utilize all the multi-homing feature enabled uplinks to send traffic. This provides load balancing and redundancy in case of any failures. The uplink interface must be an aggregated interface.
If more than one device connection is added for a particular
OpenStack node using the jnpr_switchport_mapping
command,
the node is considered as multi-homing enabled. The interface must
be an Aggregated Ethernet interface. This triggers an ESI ID generation
and configures it to the aggregated switch interfaces.
Supported Devices and JUNOS Version
EX, QFX, SRX, and vSRX series devices
Configuration of ML2 VXLAN EVPN plug-in is a prerequisite for this plug-in. For more details on configuring the ML2 VXLAN EVPN plug-in, refer to Configuring ML2 VXLAN Plug-in with EVPN.
Additionally, the jnpr_switchport_mapping
command
creates the required physical topology name that is derived from the
ESI ID and the bridge mapping details based on the topology inputs.
To update the configuration details:
Update the configuration details in the Open vSwitch Agent configuration file of the OpenStack nodes to which the switch is connected:
admin@controller:~$ jnpr_switchport_mapping add -H 10.206.44.116 -n eth3 -s 10.206.44.50 -p ae2 +---------------+------+--------------+------+-----------+ | Host | Nic | Switch | Port | Aggregate | +---------------+------+--------------+------+-----------+ | 10.206.44.116 | eth3 | 10.206.44.50 | ae2 | | +---------------+------+--------------+------+-----------+ ============================================================= If you are using evpn driver, please update ovs l2 agent config file /etc/neutron/plug-ins/ml2/openvswitch_agent.ini on node 10.206.44.116 with bridge_mappings = 00000000010206044116:br-eth1
Update the physical_topology name with VLAN ranges in the neutron ML2 plug-in configuration file ml2_conf.ini as follows:
[ml2] type_drivers = flat,vlan,vxlan,vxlan_evpn tenant_network_types = vxlan_evpn mechanism_drivers = jnpr_vxlan_evpn,openvswitch #extension_drivers = port_security [ml2_type_vlan] network_vlan_ranges=10.206.44.50:10:1000,00000000010206044116:10:1000,10.206.44.56:10:1000 [ml2_type_vxlan] vni_ranges = 10:5000
To verify whether the EVPN multi-homing plug-in is functioning properly, restart your neutron server, create networks, and VMs associated to the networks. The multi-homing enabled VMs are reachable when a redundant link is disabled.