From cd7afe2477cb8c19311f1e2b0d13f6f8d24f493c Mon Sep 17 00:00:00 2001 From: Lu Qiuwen Date: Wed, 27 Nov 2019 15:18:48 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E7=94=A8=E4=B8=8E=E4=BA=A4=E6=8D=A2?= =?UTF-8?q?=E6=9D=BF=E4=BA=A4=E4=BA=92=E7=9A=84=E6=96=B9=E5=BC=8F=E9=85=8D?= =?UTF-8?q?=E7=BD=AEPF/VF=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roles/tsg-env-mcn0/files/setup | 130 ++++++++++++++++-- roles/tsg-env-mcn0/files/stop | 8 -- .../files/switch_control_client_non_block | Bin 0 -> 18224 bytes roles/tsg-env-mcn0/files/tsg-env.service | 1 - roles/tsg-env-mcn0/tasks/main.yml | 4 +- roles/tsg-env-mcn1/files/setup | 112 +++++++++++++-- roles/tsg-env-mcn1/files/stop | 7 - .../files/switch_control_client_non_block | Bin 0 -> 18224 bytes roles/tsg-env-mcn1/tasks/main.yml | 4 +- roles/tsg-env-mcn2/files/setup | 114 +++++++++++++-- roles/tsg-env-mcn2/files/stop | 7 - .../files/switch_control_client_non_block | Bin 0 -> 18224 bytes roles/tsg-env-mcn2/files/tsg-env.service | 2 +- roles/tsg-env-mcn2/tasks/main.yml | 4 +- roles/tsg-env-mcn3/files/setup | 116 ++++++++++++++-- roles/tsg-env-mcn3/files/stop | 7 - .../files/switch_control_client_non_block | Bin 0 -> 18224 bytes roles/tsg-env-mcn3/tasks/main.yml | 4 +- 18 files changed, 434 insertions(+), 86 deletions(-) delete mode 100644 roles/tsg-env-mcn0/files/stop create mode 100644 roles/tsg-env-mcn0/files/switch_control_client_non_block delete mode 100644 roles/tsg-env-mcn1/files/stop create mode 100644 roles/tsg-env-mcn1/files/switch_control_client_non_block delete mode 100644 roles/tsg-env-mcn2/files/stop create mode 100644 roles/tsg-env-mcn2/files/switch_control_client_non_block delete mode 100644 roles/tsg-env-mcn3/files/stop create mode 100644 roles/tsg-env-mcn3/files/switch_control_client_non_block diff --git a/roles/tsg-env-mcn0/files/setup b/roles/tsg-env-mcn0/files/setup index 9950961..473e5a0 100644 --- a/roles/tsg-env-mcn0/files/setup +++ b/roles/tsg-env-mcn0/files/setup @@ -1,28 +1,132 @@ #!/bin/bash +# set -x +CURRENT_PATH=`dirname $0` +TP_SVR=192.168.100.5 +TP_PORT=10000 +REMOTE_CONTROL_BIN=switch_control_client_non_block + +function get_netdev_by_pci() +{ + DEV_LIST=`ifconfig -a |grep flags |awk -F: '{print $1}'` + for i in ${DEV_LIST} + do + ethtool -i ${i} |grep bus-info |grep "$1" > /dev/null 2>&1 + if [ $? -eq 0 ];then + TARGET=${i} + break + fi + done + + echo ${TARGET} +} + +function pf_setup() +{ ifconfig ens1 up modprobe 8021q vconfig add ens1 100 vconfig set_flag ens1.100 1 1 ifconfig ens1.100 192.168.100.1 netmask 255.255.255.0 up + sleep 1 +} - echo 0 > /sys/class/net/ens1/device/sriov_numvfs - sleep 1 +function vf_setup() +{ echo 8 > /sys/class/net/ens1/device/sriov_numvfs - sleep 1 + sleep 5 ifconfig ens1f3 up ip link set ens1 vf 2 vlan 200 ifconfig ens1f3 192.168.200.1 netmask 255.255.255.0 -ifconfig enp8s0 up -ifconfig enp9s0 up -ifconfig ens1f1 up -ifconfig ens1f2 up -ifconfig ens1f3 up -ifconfig ens1f4 up -ifconfig ens1f5 up -ifconfig ens1f6 up -ifconfig ens1f7 up -ifconfig enp1s1 up + ifconfig ens1f1 up + ifconfig ens1f2 up + ifconfig ens1f3 up + ifconfig ens1f4 up + ifconfig ens1f5 up + ifconfig ens1f6 up + ifconfig ens1f7 up + ifconfig enp1s1 up + + sleep 5 +} + +function bring_down_pfvf() +{ + echo 0 > /sys/class/net/ens1/device/sriov_numvfs + ifconfig ens1 down + sleep 3 +} + + +# Main loop +while : +do + FAIL_FLAG=0 + + # Make sure PF is valid + ping ${TP_SVR} -c 1 + if [ $? -ne 0 ];then + echo "Please make sure switch board is up." + bring_down_pfvf + pf_setup + continue + fi + + # Make sure TestPoint is up. + ${CURRENT_PATH}/${REMOTE_CONTROL_BIN} -s ${TP_SVR} -n ${TP_PORT} -c "show version" + if [ $? -ne 0 ];then + echo "Cannot reach TestPoint!" + echo "Please make sure TestPoint is up and in remote-listen mode." + sleep 5 + continue + fi + + # Create VFs and get MAC addresses + vf_setup + + PF=`get_netdev_by_pci 01:00.0` + VF1=`get_netdev_by_pci 01:00.1` + VF2=`get_netdev_by_pci 01:00.2` + VF3=`get_netdev_by_pci 01:00.3` + VF4=`get_netdev_by_pci 01:00.4` + VF5=`get_netdev_by_pci 01:00.5` + VF6=`get_netdev_by_pci 01:00.6` + VF7=`get_netdev_by_pci 01:00.7` + VF8=`get_netdev_by_pci 01:01.0` + + MAC1=`ifconfig ${VF1} |grep ether |awk -F' ' '{print $2}'` + MAC2=`ifconfig ${VF2} |grep ether |awk -F' ' '{print $2}'` + MAC3=`ifconfig ${VF3} |grep ether |awk -F' ' '{print $2}'` + MAC4=`ifconfig ${VF4} |grep ether |awk -F' ' '{print $2}'` + MAC5=`ifconfig ${VF5} |grep ether |awk -F' ' '{print $2}'` + MAC6=`ifconfig ${VF6} |grep ether |awk -F' ' '{print $2}'` + MAC7=`ifconfig ${VF7} |grep ether |awk -F' ' '{print $2}'` + MAC8=`ifconfig ${VF8} |grep ether |awk -F' ' '{print $2}'` + MAC9=`ifconfig ${PF} |grep ether |awk -F' ' '{print $2}'` + + # Make sure VFs are valid + MAC_TABLE=`${CURRENT_PATH}/${REMOTE_CONTROL_BIN} -s ${TP_SVR} -n ${TP_PORT} -c "show mac table all"` + + for i in ${MAC1} ${MAC2} ${MAC3} ${MAC4} ${MAC5} ${MAC6} ${MAC7} ${MAC8} ${MAC9} + do + echo ${MAC_TABLE} |grep ${i} > /dev/null 2>&1 + if [ $? -ne 0 ];then + echo "MAC ${i} is not in table!" + FAIL_FLAG=1 + break + fi + done + + if [ ${FAIL_FLAG} -eq 1 ];then + bring_down_pfvf + continue + fi + + echo "PF/VF setup successful." + exit 0 +done + + diff --git a/roles/tsg-env-mcn0/files/stop b/roles/tsg-env-mcn0/files/stop deleted file mode 100644 index 00760c5..0000000 --- a/roles/tsg-env-mcn0/files/stop +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -systemctl stop mrzcpd -systemctl stop mrtunnat -systemctl stop mrenv -echo 0 > /sys/class/net/ens1/device/sriov_numvfs -ifconfig ens1.100 down -vconfig rem ens1.100 -ifconfig ens1 down \ No newline at end of file diff --git a/roles/tsg-env-mcn0/files/switch_control_client_non_block b/roles/tsg-env-mcn0/files/switch_control_client_non_block new file mode 100644 index 0000000000000000000000000000000000000000..5cdba4876c02691d897137f5f24243a9bed0fa6e GIT binary patch literal 18224 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 Ioa(Uu1qqU$=>Px# literal 0 HcmV?d00001 diff --git a/roles/tsg-env-mcn0/files/tsg-env.service b/roles/tsg-env-mcn0/files/tsg-env.service index e3a917c..157ff6a 100644 --- a/roles/tsg-env-mcn0/files/tsg-env.service +++ b/roles/tsg-env-mcn0/files/tsg-env.service @@ -6,7 +6,6 @@ Before=mrenv.service [Service] ExecStart=/opt/tsg/env/setup -ExecStop=/opt/tsg/env/stop Type=oneshot RemainAfterExit=yes diff --git a/roles/tsg-env-mcn0/tasks/main.yml b/roles/tsg-env-mcn0/tasks/main.yml index ccc658e..8293032 100644 --- a/roles/tsg-env-mcn0/tasks/main.yml +++ b/roles/tsg-env-mcn0/tasks/main.yml @@ -5,9 +5,9 @@ dest: "/opt/tsg/env/" mode: 0755 -- name: "copy stop script" +- name: "copy switch_control_client_non_block" copy: - src: "{{ role_path }}/files/stop" + src: "{{ role_path }}/files/switch_control_client_non_block" dest: "/opt/tsg/env/" mode: 0755 diff --git a/roles/tsg-env-mcn1/files/setup b/roles/tsg-env-mcn1/files/setup index 98c1f94..09331cd 100644 --- a/roles/tsg-env-mcn1/files/setup +++ b/roles/tsg-env-mcn1/files/setup @@ -1,25 +1,115 @@ #!/bin/bash +# set -x +CURRENT_PATH=`dirname $0` +TP_SVR=192.168.100.5 +TP_PORT=10000 +REMOTE_CONTROL_BIN=switch_control_client_non_block +modprobe 8021q + +function get_netdev_by_pci() +{ + DEV_LIST=`ifconfig -a |grep flags |awk -F: '{print $1}'` + for i in ${DEV_LIST} + do + ethtool -i ${i} |grep bus-info |grep "$1" > /dev/null 2>&1 + if [ $? -eq 0 ];then + TARGET=${i} + break + fi + done + + echo ${TARGET} +} + +function pf_setup() +{ ifconfig ens1 up - - modprobe 8021q vconfig add ens1 100 vconfig set_flag ens1.100 1 1 ifconfig ens1.100 192.168.100.2 netmask 255.255.255.0 up + sleep 1 +} - echo 0 > /sys/class/net/ens1/device/sriov_numvfs - sleep 1 +function vf_setup() +{ echo 4 > /sys/class/net/ens1/device/sriov_numvfs - sleep 1 + sleep 5 ifconfig ens1f3 up ip link set ens1 vf 2 vlan 200 ifconfig ens1f3 192.168.200.2 netmask 255.255.255.0 -ifconfig enp8s0 up -ifconfig enp9s0 up -ifconfig ens1f1 up -ifconfig ens1f2 up -ifconfig ens1f3 up -ifconfig ens1f4 up + ifconfig ens1f1 up + ifconfig ens1f2 up + ifconfig ens1f3 up + ifconfig ens1f4 up + sleep 5 +} +function bring_down_pfvf() +{ + echo 0 > /sys/class/net/ens1/device/sriov_numvfs + ifconfig ens1 down + sleep 3 +} + +# Main loop +while : +do + FAIL_FLAG=0 + + # Make sure PF is valid + ping ${TP_SVR} -c 1 + if [ $? -ne 0 ];then + echo "Please make sure switch board is up." + bring_down_pfvf + pf_setup + continue + fi + + # Make sure TestPoint is up. + ${CURRENT_PATH}/${REMOTE_CONTROL_BIN} -s ${TP_SVR} -n ${TP_PORT} -c "show version" + if [ $? -ne 0 ];then + echo "Cannot reach TestPoint!" + echo "Please make sure TestPoint is up and in remote-listen mode." + sleep 5 + continue + fi + + # Create VFs and get MAC addresses + vf_setup + + PF=`get_netdev_by_pci 01:00.0` + VF1=`get_netdev_by_pci 01:00.1` + VF2=`get_netdev_by_pci 01:00.2` + VF3=`get_netdev_by_pci 01:00.3` + VF4=`get_netdev_by_pci 01:00.4` + + MAC0=`ifconfig ${PF} |grep ether |awk -F' ' '{print $2}'` + MAC1=`ifconfig ${VF1} |grep ether |awk -F' ' '{print $2}'` + MAC2=`ifconfig ${VF2} |grep ether |awk -F' ' '{print $2}'` + MAC3=`ifconfig ${VF3} |grep ether |awk -F' ' '{print $2}'` + MAC4=`ifconfig ${VF4} |grep ether |awk -F' ' '{print $2}'` + + # Make sure VFs are valid + MAC_TABLE=`${CURRENT_PATH}/${REMOTE_CONTROL_BIN} -s ${TP_SVR} -n ${TP_PORT} -c "show mac table all"` + + for i in ${MAC0} ${MAC1} ${MAC2} ${MAC3} ${MAC4} + do + echo ${MAC_TABLE} |grep ${i} > /dev/null 2>&1 + if [ $? -ne 0 ];then + echo "MAC ${i} is not in table!" + FAIL_FLAG=1 + break + fi + done + + if [ ${FAIL_FLAG} -eq 1 ];then + bring_down_pfvf + continue + fi + + echo "PF/VF setup successful." + exit 0 +done diff --git a/roles/tsg-env-mcn1/files/stop b/roles/tsg-env-mcn1/files/stop deleted file mode 100644 index 2a8588b..0000000 --- a/roles/tsg-env-mcn1/files/stop +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -systemctl stop mrzcpd -systemctl stop mrenv -echo 0 > /sys/class/net/ens1/device/sriov_numvfs -ifconfig ens1.100 down -vconfig rem ens1.100 -ifconfig ens1 down \ No newline at end of file diff --git a/roles/tsg-env-mcn1/files/switch_control_client_non_block b/roles/tsg-env-mcn1/files/switch_control_client_non_block new file mode 100644 index 0000000000000000000000000000000000000000..5cdba4876c02691d897137f5f24243a9bed0fa6e GIT binary patch literal 18224 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 Ioa(Uu1qqU$=>Px# literal 0 HcmV?d00001 diff --git a/roles/tsg-env-mcn1/tasks/main.yml b/roles/tsg-env-mcn1/tasks/main.yml index bb3664e..9289966 100644 --- a/roles/tsg-env-mcn1/tasks/main.yml +++ b/roles/tsg-env-mcn1/tasks/main.yml @@ -5,9 +5,9 @@ dest: "/opt/tsg/env/" mode: 0755 -- name: "copy stop script" +- name: "copy switch_control_client_non_block" copy: - src: "{{ role_path }}/files/stop" + src: "{{ role_path }}/files/switch_control_client_non_block" dest: "/opt/tsg/env/" mode: 0755 diff --git a/roles/tsg-env-mcn2/files/setup b/roles/tsg-env-mcn2/files/setup index 9b93050..8d3985a 100644 --- a/roles/tsg-env-mcn2/files/setup +++ b/roles/tsg-env-mcn2/files/setup @@ -1,23 +1,115 @@ #!/bin/bash - ifconfig ens8 up +# set -x - modprobe 8021q +CURRENT_PATH=`dirname $0` +TP_SVR=192.168.100.5 +TP_PORT=10000 +REMOTE_CONTROL_BIN=switch_control_client_non_block +modprobe 8021q + +function get_netdev_by_pci() +{ + DEV_LIST=`ifconfig -a |grep flags |awk -F: '{print $1}'` + for i in ${DEV_LIST} + do + ethtool -i ${i} |grep bus-info |grep "$1" > /dev/null 2>&1 + if [ $? -eq 0 ];then + TARGET=${i} + break + fi + done + + echo ${TARGET} +} + +function pf_setup() +{ + ifconfig ens8 up vconfig add ens8 100 vconfig set_flag ens8.100 1 1 ifconfig ens8.100 192.168.100.3 netmask 255.255.255.0 up + sleep 1 +} - echo 0 > /sys/class/net/ens8/device/sriov_numvfs - sleep 1 +function vf_setup() +{ echo 4 > /sys/class/net/ens8/device/sriov_numvfs - sleep 1 + sleep 5 ifconfig ens8f3 up ip link set ens8 vf 2 vlan 200 ifconfig ens8f3 192.168.200.3 netmask 255.255.255.0 -ifconfig enp8s0 up -ifconfig enp9s0 up -ifconfig ens8f1 up -ifconfig ens8f2 up -ifconfig ens8f3 up -ifconfig ens8f4 up \ No newline at end of file + ifconfig ens8f1 up + ifconfig ens8f2 up + ifconfig ens8f3 up + ifconfig ens8f4 up + sleep 5 +} + +function bring_down_pfvf() +{ + echo 0 > /sys/class/net/ens8/device/sriov_numvfs + ifconfig ens8 down + sleep 3 +} + +# Main loop +while : +do + FAIL_FLAG=0 + + # Make sure PF is valid + ping ${TP_SVR} -c 1 + if [ $? -ne 0 ];then + echo "Please make sure switch board is up." + bring_down_pfvf + pf_setup + continue + fi + + # Make sure TestPoint is up. + ${CURRENT_PATH}/${REMOTE_CONTROL_BIN} -s ${TP_SVR} -n ${TP_PORT} -c "show version" + if [ $? -ne 0 ];then + echo "Cannot reach TestPoint!" + echo "Please make sure TestPoint is up and in remote-listen mode." + sleep 5 + continue + fi + + # Create VFs and get MAC addresses + vf_setup + + PF=`get_netdev_by_pci 85:00.0` + VF1=`get_netdev_by_pci 85:00.1` + VF2=`get_netdev_by_pci 85:00.2` + VF3=`get_netdev_by_pci 85:00.3` + VF4=`get_netdev_by_pci 85:00.4` + + MAC0=`ifconfig ${PF} |grep ether |awk -F' ' '{print $2}'` + MAC1=`ifconfig ${VF1} |grep ether |awk -F' ' '{print $2}'` + MAC2=`ifconfig ${VF2} |grep ether |awk -F' ' '{print $2}'` + MAC3=`ifconfig ${VF3} |grep ether |awk -F' ' '{print $2}'` + MAC4=`ifconfig ${VF4} |grep ether |awk -F' ' '{print $2}'` + + # Make sure VFs are valid + MAC_TABLE=`${CURRENT_PATH}/${REMOTE_CONTROL_BIN} -s ${TP_SVR} -n ${TP_PORT} -c "show mac table all"` + + for i in ${MAC0} ${MAC1} ${MAC2} ${MAC3} ${MAC4} + do + echo ${MAC_TABLE} |grep ${i} > /dev/null 2>&1 + if [ $? -ne 0 ];then + echo "MAC ${i} is not in table!" + FAIL_FLAG=1 + break + fi + done + + if [ ${FAIL_FLAG} -eq 1 ];then + bring_down_pfvf + continue + fi + + echo "PF/VF setup successful." + exit 0 +done diff --git a/roles/tsg-env-mcn2/files/stop b/roles/tsg-env-mcn2/files/stop deleted file mode 100644 index f3a1d21..0000000 --- a/roles/tsg-env-mcn2/files/stop +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -systemctl stop mrzcpd -systemctl stop mrenv -echo 0 > /sys/class/net/ens8/device/sriov_numvfs -ifconfig ens8.100 down -vconfig rem ens8.100 -ifconfig ens8 down \ No newline at end of file diff --git a/roles/tsg-env-mcn2/files/switch_control_client_non_block b/roles/tsg-env-mcn2/files/switch_control_client_non_block new file mode 100644 index 0000000000000000000000000000000000000000..5cdba4876c02691d897137f5f24243a9bed0fa6e GIT binary patch literal 18224 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 Ioa(Uu1qqU$=>Px# literal 0 HcmV?d00001 diff --git a/roles/tsg-env-mcn2/files/tsg-env.service b/roles/tsg-env-mcn2/files/tsg-env.service index c78a63b..29f6319 100644 --- a/roles/tsg-env-mcn2/files/tsg-env.service +++ b/roles/tsg-env-mcn2/files/tsg-env.service @@ -1,5 +1,5 @@ [Unit] -Description=tsg sled-mcn2 env init +Description=tsg sled-mcn3 env init Requires=network.target After=network.target Before=tfe-env.service mrenv.service diff --git a/roles/tsg-env-mcn2/tasks/main.yml b/roles/tsg-env-mcn2/tasks/main.yml index bb3664e..9289966 100644 --- a/roles/tsg-env-mcn2/tasks/main.yml +++ b/roles/tsg-env-mcn2/tasks/main.yml @@ -5,9 +5,9 @@ dest: "/opt/tsg/env/" mode: 0755 -- name: "copy stop script" +- name: "copy switch_control_client_non_block" copy: - src: "{{ role_path }}/files/stop" + src: "{{ role_path }}/files/switch_control_client_non_block" dest: "/opt/tsg/env/" mode: 0755 diff --git a/roles/tsg-env-mcn3/files/setup b/roles/tsg-env-mcn3/files/setup index ad38ce7..fd4845d 100644 --- a/roles/tsg-env-mcn3/files/setup +++ b/roles/tsg-env-mcn3/files/setup @@ -1,23 +1,115 @@ #!/bin/bash - ifconfig ens8 up +# set -x - modprobe 8021q +CURRENT_PATH=`dirname $0` +TP_SVR=192.168.100.5 +TP_PORT=10000 +REMOTE_CONTROL_BIN=switch_control_client_non_block +modprobe 8021q + +function get_netdev_by_pci() +{ + DEV_LIST=`ifconfig -a |grep flags |awk -F: '{print $1}'` + for i in ${DEV_LIST} + do + ethtool -i ${i} |grep bus-info |grep "$1" > /dev/null 2>&1 + if [ $? -eq 0 ];then + TARGET=${i} + break + fi + done + + echo ${TARGET} +} + +function pf_setup() +{ + ifconfig ens8 up vconfig add ens8 100 vconfig set_flag ens8.100 1 1 ifconfig ens8.100 192.168.100.4 netmask 255.255.255.0 up + sleep 1 +} - echo 0 > /sys/class/net/ens8/device/sriov_numvfs - sleep 1 +function vf_setup() +{ echo 4 > /sys/class/net/ens8/device/sriov_numvfs - sleep 1 + sleep 5 ifconfig ens8f3 up ip link set ens8 vf 2 vlan 200 ifconfig ens8f3 192.168.200.4 netmask 255.255.255.0 - -ifconfig enp8s0 up -ifconfig enp9s0 up -ifconfig ens8f1 up -ifconfig ens8f2 up -ifconfig ens8f3 up -ifconfig ens8f4 up \ No newline at end of file + + ifconfig ens8f1 up + ifconfig ens8f2 up + ifconfig ens8f3 up + ifconfig ens8f4 up + sleep 5 +} + +function bring_down_pfvf() +{ + echo 0 > /sys/class/net/ens8/device/sriov_numvfs + ifconfig ens8 down + sleep 3 +} + +# Main loop +while : +do + FAIL_FLAG=0 + + # Make sure PF is valid + ping ${TP_SVR} -c 1 + if [ $? -ne 0 ];then + echo "Please make sure switch board is up." + bring_down_pfvf + pf_setup + continue + fi + + # Make sure TestPoint is up. + ${CURRENT_PATH}/${REMOTE_CONTROL_BIN} -s ${TP_SVR} -n ${TP_PORT} -c "show version" + if [ $? -ne 0 ];then + echo "Cannot reach TestPoint!" + echo "Please make sure TestPoint is up and in remote-listen mode." + sleep 5 + continue + fi + + # Create VFs and get MAC addresses + vf_setup + + PF=`get_netdev_by_pci 85:00.0` + VF1=`get_netdev_by_pci 85:00.1` + VF2=`get_netdev_by_pci 85:00.2` + VF3=`get_netdev_by_pci 85:00.3` + VF4=`get_netdev_by_pci 85:00.4` + + MAC0=`ifconfig ${PF} |grep ether |awk -F' ' '{print $2}'` + MAC1=`ifconfig ${VF1} |grep ether |awk -F' ' '{print $2}'` + MAC2=`ifconfig ${VF2} |grep ether |awk -F' ' '{print $2}'` + MAC3=`ifconfig ${VF3} |grep ether |awk -F' ' '{print $2}'` + MAC4=`ifconfig ${VF4} |grep ether |awk -F' ' '{print $2}'` + + # Make sure VFs are valid + MAC_TABLE=`${CURRENT_PATH}/${REMOTE_CONTROL_BIN} -s ${TP_SVR} -n ${TP_PORT} -c "show mac table all"` + + for i in ${MAC0} ${MAC1} ${MAC2} ${MAC3} ${MAC4} + do + echo ${MAC_TABLE} |grep ${i} > /dev/null 2>&1 + if [ $? -ne 0 ];then + echo "MAC ${i} is not in table!" + FAIL_FLAG=1 + break + fi + done + + if [ ${FAIL_FLAG} -eq 1 ];then + bring_down_pfvf + continue + fi + + echo "PF/VF setup successful." + exit 0 +done diff --git a/roles/tsg-env-mcn3/files/stop b/roles/tsg-env-mcn3/files/stop deleted file mode 100644 index f3a1d21..0000000 --- a/roles/tsg-env-mcn3/files/stop +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -systemctl stop mrzcpd -systemctl stop mrenv -echo 0 > /sys/class/net/ens8/device/sriov_numvfs -ifconfig ens8.100 down -vconfig rem ens8.100 -ifconfig ens8 down \ No newline at end of file diff --git a/roles/tsg-env-mcn3/files/switch_control_client_non_block b/roles/tsg-env-mcn3/files/switch_control_client_non_block new file mode 100644 index 0000000000000000000000000000000000000000..5cdba4876c02691d897137f5f24243a9bed0fa6e GIT binary patch literal 18224 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 Ioa(Uu1qqU$=>Px# literal 0 HcmV?d00001 diff --git a/roles/tsg-env-mcn3/tasks/main.yml b/roles/tsg-env-mcn3/tasks/main.yml index bb3664e..9289966 100644 --- a/roles/tsg-env-mcn3/tasks/main.yml +++ b/roles/tsg-env-mcn3/tasks/main.yml @@ -5,9 +5,9 @@ dest: "/opt/tsg/env/" mode: 0755 -- name: "copy stop script" +- name: "copy switch_control_client_non_block" copy: - src: "{{ role_path }}/files/stop" + src: "{{ role_path }}/files/switch_control_client_non_block" dest: "/opt/tsg/env/" mode: 0755