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 Infrastructure > Service Engine and select the relevant SE. Use the Edit button to go to the respective interface and configure the IP address/mask for either static or DHCP.

Tagged 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 Infrastructure > Service Engineand select the relevant SE. Use the Edit button to go to Create VLAN interface and configure tagged VLAN interface in VLAN 109.

Bond 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.

Note:

See the template example described in README section of the avinetworks.avise_kvm Ansible role for more details on SE yaml.