删除tsg-env-mcn0,1,2,3
This commit is contained in:
@@ -1,132 +0,0 @@
|
|||||||
#!/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
|
|
||||||
}
|
|
||||||
|
|
||||||
function vf_setup()
|
|
||||||
{
|
|
||||||
echo 8 > /sys/class/net/ens1/device/sriov_numvfs
|
|
||||||
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 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
|
|
||||||
|
|
||||||
|
|
||||||
Binary file not shown.
@@ -1,15 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=tsg sled-mcn0 env init
|
|
||||||
Requires=network.target
|
|
||||||
After=network.target
|
|
||||||
Before=mrenv.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStart=/opt/tsg/env/setup
|
|
||||||
ExecStop=/opt/tsg/env/tsg-env_stop
|
|
||||||
Type=oneshot
|
|
||||||
RemainAfterExit=yes
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
RequiredBy=mrenv.service
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
echo 0 >/sys/class/net/ens1/device/sriov_numvfs
|
|
||||||
ifconfig ens1.100 down
|
|
||||||
vconfig rem ens1.100
|
|
||||||
ifconfig ens1 down
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
---
|
|
||||||
- name: "copy setup script"
|
|
||||||
copy:
|
|
||||||
src: "{{ role_path }}/files/setup"
|
|
||||||
dest: "/opt/tsg/env/"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: "copy switch_control_client_non_block"
|
|
||||||
copy:
|
|
||||||
src: "{{ role_path }}/files/switch_control_client_non_block"
|
|
||||||
dest: "/opt/tsg/env/"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: "copy tsg-env.service"
|
|
||||||
copy:
|
|
||||||
src: "{{ role_path }}/files/tsg-env.service"
|
|
||||||
dest: "/usr/lib/systemd/system/"
|
|
||||||
mode: 0644
|
|
||||||
|
|
||||||
- name: "copy tsg-env_stop"
|
|
||||||
copy:
|
|
||||||
src: "{{ role_path }}/files/tsg-env_stop"
|
|
||||||
dest: "/opt/tsg/env/"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: "enable tsg-env"
|
|
||||||
systemd:
|
|
||||||
name: tsg-env
|
|
||||||
enabled: yes
|
|
||||||
daemon_reload: yes
|
|
||||||
|
|
||||||
@@ -1,115 +0,0 @@
|
|||||||
#!/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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
function vf_setup()
|
|
||||||
{
|
|
||||||
echo 4 > /sys/class/net/ens1/device/sriov_numvfs
|
|
||||||
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 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
|
|
||||||
Binary file not shown.
@@ -1,15 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=tsg sled-mcn1 env init
|
|
||||||
Requires=network.target
|
|
||||||
After=network.target
|
|
||||||
Before=tfe-env.service mrenv.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStart=/opt/tsg/env/setup
|
|
||||||
ExecStop=/opt/tsg/env/tsg-env_stop
|
|
||||||
Type=oneshot
|
|
||||||
RemainAfterExit=yes
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
RequiredBy=tfe-env.service mrenv.service
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
echo 0 >/sys/class/net/ens1/device/sriov_numvfs
|
|
||||||
ifconfig ens1.100 down
|
|
||||||
vconfig rem ens1.100
|
|
||||||
ifconfig ens1 down
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
---
|
|
||||||
- name: "copy setup script"
|
|
||||||
copy:
|
|
||||||
src: "{{ role_path }}/files/setup"
|
|
||||||
dest: "/opt/tsg/env/"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: "copy switch_control_client_non_block"
|
|
||||||
copy:
|
|
||||||
src: "{{ role_path }}/files/switch_control_client_non_block"
|
|
||||||
dest: "/opt/tsg/env/"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: "copy tsg-env.service"
|
|
||||||
copy:
|
|
||||||
src: "{{ role_path }}/files/tsg-env.service"
|
|
||||||
dest: "/usr/lib/systemd/system/"
|
|
||||||
mode: 0644
|
|
||||||
|
|
||||||
- name: "copy tsg-env_stop"
|
|
||||||
copy:
|
|
||||||
src: "{{ role_path }}/files/tsg-env_stop"
|
|
||||||
dest: "/opt/tsg/env/"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: "enable tsg-env"
|
|
||||||
systemd:
|
|
||||||
name: tsg-env
|
|
||||||
enabled: yes
|
|
||||||
daemon_reload: yes
|
|
||||||
@@ -1,115 +0,0 @@
|
|||||||
#!/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 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
|
|
||||||
}
|
|
||||||
|
|
||||||
function vf_setup()
|
|
||||||
{
|
|
||||||
echo 4 > /sys/class/net/ens8/device/sriov_numvfs
|
|
||||||
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 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
|
|
||||||
Binary file not shown.
@@ -1,15 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=tsg sled-mcn3 env init
|
|
||||||
Requires=network.target
|
|
||||||
After=network.target
|
|
||||||
Before=tfe-env.service mrenv.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStart=/opt/tsg/env/setup
|
|
||||||
ExecStop=/opt/tsg/env/tsg-env_stop
|
|
||||||
Type=oneshot
|
|
||||||
RemainAfterExit=yes
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
RequiredBy=tfe-env.service mrenv.service
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
echo 0 >/sys/class/net/ens8/device/sriov_numvfs
|
|
||||||
ifconfig ens8.100 down
|
|
||||||
vconfig rem ens8.100
|
|
||||||
ifconfig ens8 down
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
---
|
|
||||||
- name: "copy setup script"
|
|
||||||
copy:
|
|
||||||
src: "{{ role_path }}/files/setup"
|
|
||||||
dest: "/opt/tsg/env/"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: "copy switch_control_client_non_block"
|
|
||||||
copy:
|
|
||||||
src: "{{ role_path }}/files/switch_control_client_non_block"
|
|
||||||
dest: "/opt/tsg/env/"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: "copy tsg-env.service"
|
|
||||||
copy:
|
|
||||||
src: "{{ role_path }}/files/tsg-env.service"
|
|
||||||
dest: "/usr/lib/systemd/system/"
|
|
||||||
mode: 0644
|
|
||||||
|
|
||||||
- name: "copy tsg-env_stop"
|
|
||||||
copy:
|
|
||||||
src: "{{ role_path }}/files/tsg-env_stop"
|
|
||||||
dest: "/opt/tsg/env/"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: "enable tsg-env"
|
|
||||||
systemd:
|
|
||||||
name: tsg-env
|
|
||||||
enabled: yes
|
|
||||||
daemon_reload: yes
|
|
||||||
@@ -1,115 +0,0 @@
|
|||||||
#!/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 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
|
|
||||||
}
|
|
||||||
|
|
||||||
function vf_setup()
|
|
||||||
{
|
|
||||||
echo 4 > /sys/class/net/ens8/device/sriov_numvfs
|
|
||||||
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 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
|
|
||||||
Binary file not shown.
@@ -1,15 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=tsg sled-mcn3 env init
|
|
||||||
Requires=network.target
|
|
||||||
After=network.target
|
|
||||||
Before=tfe-env.service mrenv.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStart=/opt/tsg/env/setup
|
|
||||||
ExecStop=/opt/tsg/env/tsg-env_stop
|
|
||||||
Type=oneshot
|
|
||||||
RemainAfterExit=yes
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
RequiredBy=tfe-env.service mrenv.service
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
echo 0 >/sys/class/net/ens8/device/sriov_numvfs
|
|
||||||
ifconfig ens8.100 down
|
|
||||||
vconfig rem ens8.100
|
|
||||||
ifconfig ens8 down
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
---
|
|
||||||
- name: "copy setup script"
|
|
||||||
copy:
|
|
||||||
src: "{{ role_path }}/files/setup"
|
|
||||||
dest: "/opt/tsg/env/"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: "copy switch_control_client_non_block"
|
|
||||||
copy:
|
|
||||||
src: "{{ role_path }}/files/switch_control_client_non_block"
|
|
||||||
dest: "/opt/tsg/env/"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: "copy tsg-env.service"
|
|
||||||
copy:
|
|
||||||
src: "{{ role_path }}/files/tsg-env.service"
|
|
||||||
dest: "/usr/lib/systemd/system/"
|
|
||||||
mode: 0644
|
|
||||||
|
|
||||||
- name: "copy tsg-env_stop"
|
|
||||||
copy:
|
|
||||||
src: "{{ role_path }}/files/tsg-env_stop"
|
|
||||||
dest: "/opt/tsg/env/"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: "enable tsg-env"
|
|
||||||
systemd:
|
|
||||||
name: tsg-env
|
|
||||||
enabled: yes
|
|
||||||
daemon_reload: yes
|
|
||||||
Reference in New Issue
Block a user