diff options
author | 2021-04-08 10:44:18 +0000 | |
---|---|---|
committer | 2021-04-08 11:17:15 +0000 | |
commit | df5672b3d9c29b51397f4770eb992c9f3f3955ce (patch) | |
tree | adb4cf36c9b680ebbc44c953391a0d21b986d6b7 /resources/tools/testbed-setup/ansible/roles/vpp_device/files/csit-initialize-vfs.sh | |
parent | 8018da98e0f362bc69fc9600fac222a86fd46b5e (diff) |
Ansible git move
+ Better accessibility
+ Compliant with fdio.infra._function_
- function [pxe|terraform|ansible|vagrant]
+ dill==0.3.3 also applied on TBs
- ci-man to follow today
- Docs to be updated in separate patch
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: Iff9eaa29d63044188cc8160db2d9b44b7635782a
Diffstat (limited to 'resources/tools/testbed-setup/ansible/roles/vpp_device/files/csit-initialize-vfs.sh')
-rw-r--r-- | resources/tools/testbed-setup/ansible/roles/vpp_device/files/csit-initialize-vfs.sh | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/resources/tools/testbed-setup/ansible/roles/vpp_device/files/csit-initialize-vfs.sh b/resources/tools/testbed-setup/ansible/roles/vpp_device/files/csit-initialize-vfs.sh deleted file mode 100644 index 365497865e..0000000000 --- a/resources/tools/testbed-setup/ansible/roles/vpp_device/files/csit-initialize-vfs.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2019 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" ) - sriov_totalvfs=$(< "${pci_path}"/sriov_totalvfs) - ;; - "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 - done - pci_idx=$(( pci_idx + 1 )) - ;; - esac - rmmod i40evf - modprobe i40evf - fi -done |