puppet-tripleo/templates/switchdev/switchdev.epp
waleed mousa bcf06e0b4b Configure switchedv while there is no vfs bounded
When configuring vf-lag, it will not work properly when configuring switchdev
capability while there are some vfs bounded.
So removing all the binding codes as it's not needed anymore.

Closes-Bug: 1809733
Change-Id: I135cef33bece6fd31363e093e53617caac413ce0
2019-01-08 07:08:09 +00:00

39 lines
1.4 KiB
Plaintext

<%- | 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