This section discusses about additonal deployment options.
Configuring MAC VLAN
MAC VLAN need to be configured before using the script to create the VM and pass through the interfaces. This is configured for the data path NICs by using Transparent VLAN or Tagged VLAN.
Transparent VLAN
Transparent VLAN is used by the NIC to isolate VF traffic. From the perspective of VF driver or guest OS, the NIC is in access mode and it should not see any VLAN header. Transparent VLAN is to be specified by the system admin at the time of creation of VF. In the TX path, the NIC inserts the VLAN header in the packet before putting it on wire. In the RX path, the NIC strips the VLAN header before handing over the packet to VF driver.
For instance, if VF number 0 of the parent PF eno2 has to be configured in transparent VLAN 109, the same can be configured via the following configuration.
The following is the code snippet for the configuration:
ifconfig eno2 down ip link set dev eno2 vf 0 trust on ip link set dev eno2 vf 0 spoofchk off ip link set eno2 vf 0 vlan 0 ip link set eno2 vf 0 vlan 109 [Vlan num of the transparent vlan which needs to be configured] ifconfig eno2 up
In this case, once the Service Engines are up on the UI, navigate to Edit button to go to the respective interface and configure the IP address/mask for either static or DHCP.
and select the relevant SE. Use theTagged VLAN
If in case the goal is to create a VLAN-tagged interface instead, the following steps can be used:
For instance, if vf number 0 of the parent PF eno2 has to be configured in tagged VLAN 109, the same can be configured via the following configuration.
ifconfig eno2 down ip link set dev eno2 vf 0 trust on ip link set dev eno2 vf 0 spoofchk off ip link set eno2 vf 0 vlan 0 ifconfig eno2 up
Once the Service Engines are up on the UI, navigate to Edit button to go to Create VLAN interface and configure tagged VLAN interface in VLAN 109.
and select the relevant SE. Use theBond Interface
Bond Interfaces can be specified via the SE Ansible yaml
file input. The name of the interfacess are taken as input and the bond-sequence can be specified as follows:
Bond-if sequence: 1,2 3,4
Implies interface 1,2 are in bond and interface 3,4 are in bond (Note the space between 1,2 and 3,4).
Bond-if sequence: 1,2,3,4
Implies interface 1,2,3,4 are in bond.
See the template example described in README section of the avinetworks.avise_kvm
Ansible role for more details on SE yaml.