⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 functest

📁 linux下桥接软件源码
💻
字号:
#! /bin/bashBR=${1:-"br549"}ETH=${2:-"eth0"}maxports=${3:-1000}echo "Ethernet Bridge functional test"echo -n "Testing kernel: " ; uname -aecho -n "Utilities:      " ; brctl -V# fetch ip of working $ETHIP=`/sbin/ifconfig $ETH | sed -n -e 's/^.*inet addr:\([0-9][0-9\.]*\).*$/\1/p'`echo "Using IP address $IP"# All commands in this part must succeedset -eecho "0. Creating  $maxports dummy devices"modprobe dummy numdummies=$maxportsecho "1. Creating bridge $BR"brctl addbr $BR brctl stp $BR onecho "2. Add $ETH"ifconfig $ETH 0.0.0.0brctl addif $BR $ETHecho "3. Bring up bridge"ifconfig $BR $IPecho "4 Bring up another bridge"brctl addbr "brx%d"ifconfig brx0 1.1.1.1echo "5 Bring down bridge"ifconfig brx0 downbrctl delbr brx0echo -n  "6. Add " $maxports " ports:"for (( i=1; i < $maxports; i++))do	brctl addif $BR dummy$i	if [[ $(( $i % 10 )) -eq 10 ]]	then echo -n '.'	fidoneechoecho -n "7. Delete those ports:"for (( i=1; i < $maxports; i++))do  	brctl delif $BR dummy$i	if [[ $(( $i % 10 )) -eq 10 ]]	then echo -n '.'	fidoneechoecho "8. Notififer cases"brctl addif $BR dummy0echo "8a Device down"ifconfig dummy0 downecho "8b Change device address"ifconfig dummy0 hw ether 00:0d:02:03:04:05echo "8c. Device up"ifconfig dummy0 upecho "8d Unregister device (slow)"rmmod dummyecho "** Done"modprobe dummy numdummies=2set +eecho "10 Error cases"echo -n "  duplicate bridge - "brctl addbr $BRecho -n "  bridge to bridge - "brctl addbr brTmpbrctl addif $BR brTmpecho -n "  already in other bridge - "brctl addif brTmp $ETHecho -n "  already in this bridge - "brctl addif $BR $ETHecho -n "  remove from wrong bridge - "brctl delif brTmp $ETHbrctl delbr brTmpecho -n "  remove bridge $ETH - "brctl delbr $ETH echo -n "  remove bridge bogus - "brctl delbr bogus echo -n "  remove still active bridge - "brctl delbr $BR echo -n "  zero hw address - "ifconfig dummy0 hw ether 00:00:00:00:00:00brctl addif $BR dummy0echo -n "  duplicate hw address - "ifconfig dummy0 hw ether 00:0d:01:00:00:00ifconfig dummy1 hw ether 00:0d:01:00:00:00brctl addif $BR dummy0brctl addif $BR dummy1# leave dummy0 for next test.echo "10 Tuning"set -ebrctl stp $BR offbrctl stp $BR onbrctl setageing $BR 4000brctl setbridgeprio $BR 1brctl setfd $BR 120brctl sethello $BR 20brctl setmaxage $BR 1000brctl setpathcost $BR dummy0 50brctl setportprio $BR dummy0 2echo "Status check"brctl showread  -p "Ok?"brctl showstp $BRread  -p "Ok?"brctl showmacs $BRread  -p "Ok?"echo "30 Shutdown"ifconfig $BR downbrctl delbr $BRifconfig $ETH $IPecho "31 Remove bridge module"rmmod bridgermmod dummyrmmod bridgeecho "32 Check for dead bridge cleanup"brctl addbr $BRrmmod bridgemodprobe bridgesleep 1echo "33 Remove module with race"brctl addbr $BR ifconfig $BR 9.9.9.9rmmod --wait bridge &sleep 2brctl addbr brXX if ifconfig brXX 1.1.1.1 ; then    echo "?? ifconfig succeeded"    ifconfig brXX downfiifconfig $BR downwaitecho "*** Done ***"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -