aboutsummaryrefslogtreecommitdiffstats
path: root/fdio.infra.ansible/roles/vpp_device/files/csit-initialize-vfs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'fdio.infra.ansible/roles/vpp_device/files/csit-initialize-vfs.sh')
-rw-r--r--fdio.infra.ansible/roles/vpp_device/files/csit-initialize-vfs.sh77
1 files changed, 0 insertions, 77 deletions
diff --git a/fdio.infra.ansible/roles/vpp_device/files/csit-initialize-vfs.sh b/fdio.infra.ansible/roles/vpp_device/files/csit-initialize-vfs.sh
deleted file mode 100644
index afa84ae15a..0000000000
--- a/fdio.infra.ansible/roles/vpp_device/files/csit-initialize-vfs.sh
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright (c) 2021 Cisco and/or its affiliates.
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at:
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# CSIT SRIOV VF initialization and isolation.
-
-set -euo pipefail
-
-SCRIPT_DIR="$(dirname $(readlink -e "${BASH_SOURCE[0]}"))"
-source "${SCRIPT_DIR}/csit-initialize-vfs-data.sh"
-
-# Initilize whitelisted NICs with maximum number of VFs.
-pci_idx=0
-for pci_addr in ${PCI_WHITELIST[@]}; do
- if ! [[ ${PCI_BLACKLIST[*]} =~ "${pci_addr}" ]]; then
- pci_path="/sys/bus/pci/devices/${pci_addr}"
- # SR-IOV initialization
- case "${1:-start}" in
- "start" )
- if [ $(< "${pci_path}"/sriov_totalvfs) -gt 128 ]
- then
- sriov_totalvfs=128
- else
- sriov_totalvfs=$(< "${pci_path}"/sriov_totalvfs)
- fi
- ;;
- "stop" )
- sriov_totalvfs=0
- ;;
- esac
- echo ${sriov_totalvfs} > "${pci_path}"/sriov_numvfs
- # SR-IOV 802.1Q isolation
- case "${1:-start}" in
- "start" )
- pf=$(basename "${pci_path}"/net/*)
- for vf in $(seq "${sriov_totalvfs}"); do
- # PCI address index in array (pairing siblings).
- if [[ -n ${PF_INDICES[@]} ]]
- then
- vlan_pf_idx=${PF_INDICES[$pci_addr]}
- else
- vlan_pf_idx=$(( pci_idx % (${#PCI_WHITELIST[@]} / 2) ))
- fi
- # 802.1Q base offset.
- vlan_bs_off=1100
- # 802.1Q PF PCI address offset.
- vlan_pf_off=$(( vlan_pf_idx * 100 + vlan_bs_off ))
- # 802.1Q VF PCI address offset.
- vlan_vf_off=$(( vlan_pf_off + vf - 1 ))
- # VLAN string.
- vlan_str="vlan ${vlan_vf_off}"
- # MAC string.
- mac5="$(printf '%x' ${pci_idx})"
- mac6="$(printf '%x' $(( vf - 1 )))"
- mac_str="mac ba:dc:0f:fe:${mac5}:${mac6}"
- # Set 802.1Q VLAN id and MAC address
- ip link set ${pf} vf $(( vf - 1 )) ${mac_str} ${vlan_str}
- ip link set ${pf} vf $(( vf - 1 )) trust on
- ip link set ${pf} vf $(( vf - 1 )) spoof off
- sleep .5
- done
- pci_idx=$(( pci_idx + 1 ))
- ;;
- esac
- fi
-done