1、开2个窗口,第一个窗口执行"sh net_route_table_exhaust.sh inject eth2 2" (net_route_table_exhaust.sh具体内容在下面,功能是不停的执行ip rule add的命令)
2、第二个窗口不停执行卸载加载netdevsim.ko的操作
modprobe netdevsim
rmmod netdevsim
3、反复卸载加载大约10来次系统就会复位了(次数不固定,自测经验值)
附:net_route_table_exhaust.sh
mode=$1
interface=$2
table_max_num=$3
ip_prefix="1"
ip_postfix="5"
ip_mask=24
add_rule_into_table()
{
local table_num=$1
local i=
local j=
for((i=0; i<254;i++))
do
for((j=0; j<254;j++))
do
ip rule add from ${ip_prefix}.$i.$j.${ip_postfix}/${ip_mask} dev ${interface} table ${table_num} || {
echo "add error:ip rule add from ${ip_prefix}.$i.$j.${ip_postfix}/${ip_mask} dev ${interface} table ${table_num}"
return 1
}
done
done
}
add_route_tables()
{
local i=
for((i=1; i<=${table_max_num};i++))
do
add_rule_into_table ${i} || {
return 1
}
done
}
delete_rule_from_table()
{
local table_num=$1
local i=
local j=
for((i=0; i<254;i++))
do
for((j=0; j<254;j++))
do
ip rule del from ${ip_prefix}.$i.$j.${ip_postfix}/${ip_mask} dev ${interface} table ${table_num} || {
echo "add error:ip route add ${ip_prefix}.$i.$j.${ip_postfix}/${ip_mask} dev ${interface} table ${table_num}"
return 1
}
done
done
}
del_route_tables()
{
local i=
for((i=1; i<=${table_max_num};i++))
do
delete_rule_from_table ${i} || {
return 1
}
done
}
if [ "$mode" = "inject" ];then
add_route_tables
elif [ "$mode" = "clean" ];then
del_route_tables
else
echo "Wrong mode"
exit 1
fi
Hey @gebidelidaye, Welcome to openEuler Community.
All of the projects in openEuler Community are maintained by @openeuler-ci-bot.
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at https://gitee.com/openeuler/community/blob/master/en/sig-infrastructure/command.md to find the details.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
openEuler-1.0-LTS 也回合一下吧。
openEuler 20.09 fix.
@YangYingliang
当前的几个分支都帮忙确认下,是否已合入
Fixed-by: 01f20a2
登录 后才可以发表评论