<%- | String $content_string = '', String $interface = '', String $count = '' | -%> <%=$content_string%>set -ex set -o pipefail if [ "<%=$interface%>" == "$1" ] then exec 1> >(logger -s -t $(basename $0)) 2>&1 vendor_id="$(cat /sys/class/net/<%=$interface%>/device/vendor)" if [ "$(cat /sys/class/net/<%=$interface%>/device/sriov_numvfs)" == "0" ] then echo <%=$count%> > /sys/class/net/<%=$interface%>/device/sriov_numvfs else exit 0 fi if [ $vendor_id == "0x15b3" ] then vfs_pci_list=$(grep PCI_SLOT_NAME /sys/class/net/<%=$interface%>/device/virtfn*/uevent | cut -d'=' -f2) for pci in $vfs_pci_list do echo "$pci" > /sys/bus/pci/drivers/mlx5_core/unbind done fi interface_pci=$(grep PCI_SLOT_NAME /sys/class/net/<%=$interface%>/device/uevent | cut -d'=' -f2) /usr/sbin/devlink dev eswitch set pci/"$interface_pci" mode switchdev if [[ "$(/usr/sbin/devlink dev eswitch show pci/"$interface_pci")" =~ "mode switchdev" ]] then echo "PCI device $interface_pci set to mode switchdev." else echo "Failed to set PCI device $interface_pci to mode switchdev." exit 1 fi interface_device=$(cat /sys/class/net/<%=$interface%>/device/device) if [ "$interface_device" == "0x1013" ] || [ "$interface_device" == "0x1015" ] then /usr/sbin/devlink dev eswitch set pci/"$interface_pci" inline-mode transport fi /usr/sbin/ethtool -K <%=$interface%> hw-tc-offload on fi