X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=roles%2Fsriov_nodes%2Ffiles%2Fconfigure_vf_count.sh;fp=roles%2Fsriov_nodes%2Ffiles%2Fconfigure_vf_count.sh;h=871d1a3ea90e559d368d5844b8e3c82134c74177;hb=74a49ba6ef2ea715fa492db0bcd85c30398688e8;hp=0000000000000000000000000000000000000000;hpb=a936af362724cca0c5dc2c424902d398f9833410;p=ta%2Finfra-ansible.git diff --git a/roles/sriov_nodes/files/configure_vf_count.sh b/roles/sriov_nodes/files/configure_vf_count.sh new file mode 100644 index 0000000..871d1a3 --- /dev/null +++ b/roles/sriov_nodes/files/configure_vf_count.sh @@ -0,0 +1,59 @@ +#!/bin/bash +set -e + +# Copyright 2019 Nokia + +# 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. + +set_max_vf_count() +{ + local iface vf_count device + iface=$1 + vf_count=$2 + + echo "Setting interface $iface max vf count to $vf_count" + device=$(/bin/mst status -v | grep -E "net-${iface}[[:space:]]+" | awk '{print $2}') + /bin/mlxconfig --yes --dev $device set NUM_OF_VFS=$vf_count +} + +main() +{ + local -r CONF_FILE="/etc/sriov/sriov.conf" + local res=0 + local mst_started=0 + local item iface vf_count + + [[ -r $CONF_FILE ]] && source $CONF_FILE + + if [[ -n "$SRIOV_VF_COUNTS" ]] + then + for item in $SRIOV_VF_COUNTS + do + iface=${item%:*} + vf_count=${item##*:} + if /sbin/ethtool -i $iface | grep -qE '^driver:[[:space:]]+mlx5_core$' + then + old_count=$(