To improve available network bandwidth and fault tolerance, multiple virtual function (VF) network interfaces assigned to Avi Load Balancer SEs can be aggregated to form port channels or bonded interfaces.

Figure 1.

Prerequisites

  • No port channel-specific configuration is needed on the switch.

  • To achieve the intended benefit, port-channel member interfaces should be associated with different physical function (PF) devices or pNICs.

  • CSP configuration

  • SRIOV should be enabled on CSP pNICs being used. The following CSP command could be used for this.

avinet-1(config)# pnic enp7s0f0 sr-iov numvfs 32 switchmode vep

Configuration

The member (secondary) interfaces to be bonded together to form a port-channel (bond) can be configured using the Avi Load Balancer SE metadata (yml) file as follows:

avi.bond-ifs.SE: '1,2'

The configuration above directs the SE to bond interfaces 1 and 2 to form a port-channel.

If multiple port channels are required, the indices of member interfaces for different port channels should be specified with space in-between, as shown below:

avi.bond-ifs.SE: '1,2 3,4'

The above configuration makes the SE create two port channels - one with interfaces 1 and 2 and the other with interfaces 3 and 4.

Once the SE is up, the Edit Service Engine window in the Avi Load Balancer UI shows information about bonded and secondary interfaces.



Run the CLI command show serviceengine <SE_IP_Address> interface to view the interface configuration.

[admin:10-128-2-20]: > show serviceengine 10.128.2.22 interface
+------------------------------------+-----------------------------------------------------+
| Field                              | Value                                               |
+------------------------------------+-----------------------------------------------------+
| se_uuid                            | 10-128-2-22:se-bb2c9806-fe17-4c66-9fb0-dd5b89a456f8 |
| proc_id                            | PROC_Aggregate                                      |
| vnics[1]                           |
|   vnic_name                        | eth2                                                |
|   vnic_id                          | 4                                                   |
|   mac_address                      | 02:5a:80:02:11:0c                                   |
|   interface_stats                  |                                                     |
|     ipackets                       | 69180                                               |
|     ibytes                         | 4446364                                             |
|     ierrors                        | 0                                                   |
|     rx_nombuf                      | 0                                                   |
|     opackets                       | 0                                                   |
|     obytes                         | 0                                                   |
|     oerrors                        | 0                                                   |
|     rx_kni                         | 0                                                   |
|     tx_kni                         | 2175                                                |
|     tx_kni_errs                    | 0                                                   |
|     ip_checksum_drops              | 0                                                   |
|     l4_checksum_drops              | 0                                                   |
|     tx_queue_full_retries          | 0                                                   |
|     rx_pkt_iterations              | 64223                                               |
|     rx_queue_full                  | 0                                                   |
|     rx_max_single_burst            | 22                                                  |
|     rx_mim_etype_p2s               | 0                                                   |
|     tx_mim_etype_p2s               | 0                                                   |
|     tx_mim_frags_etype_p2s         | 0                                                   |
|     rx_mim_etype_s2p               | 0                                                   |
|     tx_mim_etype_s2p               | 0                                                   |
|     tx_mim_frags_etype_s2p         | 0                                                   |
|     tx_frags_p2s                   | 0                                                   |
|     local_flow_probes_req_sent     | 0                                                   |
|     local_flow_probes_req_received | 0                                                   |
|     flow_probes_ignored_same_vnic  | 0                                                   |
|     flow_probes_ignored_in_tw      | 0                                                   |
|   vnic_parent                      | 4                                                   |
|   vnic_weight                      | -1                                                  |
|   vlan_id                          | 0                                                   |
|   num_vs_delete_drops              | 0                                                   |
|   vrf_id                           | 1                                                   |
|   vrf_ref                          | global                                              |
|   vnic_mtu                         | 1500                                                |
|   interface_disabled               | False                                               |
|   linux_intf_name                  | eth2                                                |
|   vnic_owner                       | 0                                                   |
| vnics[2]                           |                                                     |
|   vnic_name                        | eth1                                                |
|   vnic_id                          | 5                                                   |
|   mac_address                      | 02:4a:80:02:11:0c                                   |
|   interface_stats                  |                                                     |
|     ipackets                       | 611590                                              |
|     ibytes                         | 59185414                                            |
|     ierrors                        | 0                                                   |
|     rx_nombuf                      | 0                                                   |
|     opackets                       | 542345                                              |
|     obytes                         | 65622481                                            |
|     oerrors                        | 0                                                   |
|     rx_kni                         | 0                                                   |
|     tx_kni                         | 2175                                                |
|     tx_kni_errs                    | 0                                                   |
|     ip_checksum_drops              | 0                                                   |
|     l4_checksum_drops              | 0                                                   |
|     tx_queue_full_retries          | 0                                                   |
|     rx_pkt_iterations              | 337424                                              |
|     rx_queue_full                  | 0                                                   |
|     rx_max_single_burst            | 22                                                  |
|     rx_mim_etype_p2s               | 0                                                   |
|     tx_mim_etype_p2s               | 0                                                   |
|     tx_mim_frags_etype_p2s         | 0                                                   |
|     rx_mim_etype_s2p               | 0                                                   |
|     tx_mim_etype_s2p               | 0                                                   |
|     tx_mim_frags_etype_s2p         | 0                                                   |
|     tx_frags_p2s                   | 0                                                   |
|     local_flow_probes_req_sent     | 0                                                   |
|     local_flow_probes_req_received | 0                                                   |
|     flow_probes_ignored_same_vnic  | 0                                                   |
|     flow_probes_ignored_in_tw      | 0                                                   |
|   vnic_parent                      | 5                                                   |
|   vnic_weight                      | -1                                                  |
|   vlan_id                          | 0                                                   |
|   num_vs_delete_drops              | 0                                                   |
|   vrf_id                           | 1                                                   |
|   vrf_ref                          | global                                              |
|   vnic_mtu                         | 1500                                                |
|   interface_disabled               | False                                               |
|   linux_intf_name                  | eth1                                                |
|   vnic_owner                       | 0                                                   |
| vnics[3]                           |                                                     |
|   vnic_name                        | bond0                                               |
|   vnic_id                          | 32                                                  |
|   mac_address                      | 02:5a:80:02:11:0c                                   |
|   ip_info[1]                       |                                                     |
|     ip_addr                        | 10.160.100.246                                      |
|     net_mask                       | 255.255.255.0                                       |
|   ip_info[2]                       |                                                     |
|     ip_addr                        | 10.160.100.235                                      |
|     net_mask                       | 255.255.255.255                                     |
|   ip_info[3]                       |                                                     |
|     ip_addr                        | 10.160.100.236                                      |
|     net_mask                       | 255.255.255.255                                     |
|   interface_stats                  |                                                     |
|     ipackets                       | 680768                                              |
|     ibytes                         | 63631658                                            |
|     ierrors                        | 0                                                   |
|     rx_nombuf                      | 0                                                   |
|     opackets                       | 542345                                              |
|     obytes                         | 65622481                                            |
|     oerrors                        | 0                                                   |
|     rx_kni                         | 0                                                   |
|     tx_kni                         | 0                                                   |
|     tx_kni_errs                    | 0                                                   |
|     ip_checksum_drops              | 0                                                   |
|     l4_checksum_drops              | 0                                                   |
|     tx_queue_full_retries          | 0                                                   |
|     rx_pkt_iterations              | 0                                                   |
|     rx_queue_full                  | 0                                                   |
|     rx_max_single_burst            | 0                                                   |
|     rx_mim_etype_p2s               | 0                                                   |
|     tx_mim_etype_p2s               | 0                                                   |
|     tx_mim_frags_etype_p2s         | 0                                                   |
|     rx_mim_etype_s2p               | 0                                                   |
|     tx_mim_etype_s2p               | 0                                                   |
|     tx_mim_frags_etype_s2p         | 0                                                   |
|     tx_frags_p2s                   | 0                                                   |
|     local_flow_probes_req_sent     | 0
|     local_flow_probes_req_received | 0                                                   |
|     flow_probes_ignored_same_vnic  | 0                                                   |
|     flow_probes_ignored_in_tw      | 0                                                   |
|   vnic_parent                      | 32                                                  |
|   vnic_weight                      | -1                                                  |
|   vlan_id                          | 0                                                   |
|   num_vs_delete_drops              | 0                                                   |
|   vrf_id                           | 1                                                   |
|   vrf_ref                          | global                                              |
|   vnic_mtu                         | 1500                                                |
|   mbr_intfs[1]                     |                                                     |
|     if_name                        | eth2                                                |
|     linux_name                     | eth2                                                |
|     active                         | True                                                |
|   mbr_intfs[2]                     |                                                     |
|     if_name                        | eth1                                                |
|     linux_name                     | eth1                                                |
|     active                         | True                                                |
|   interface_disabled               | False                                               |
|   linux_intf_name                  | bond0                                               |
|   vnic_owner                       | 0                                                   |
+------------------------------------+-----------------------------------------------------+