gpt4 book ai didi

python - 'RTNETLINK 回答 : File exists'

转载 作者:太空宇宙 更新时间:2023-11-04 10:42:45 28 4
gpt4 key购买 nike

当我添加延迟命令时,paramiko 返回“2”作为退出状态(同时返回“0”用于带宽命令设置)。 2还好吗? (谷歌搜索对此没有帮助,我猜 2 一定是某种错误)。

我使用的命令是:-

delay_cmd = "sudo tc qdisc add dev eth0 parent 1: handle 1: netem delay %dms" %(delay)

我们基本上是试图遵循这个:

# tc qdisc add dev eth0 root netem delay 100ms

来自在线教程。

应该设置 bw、filter 和 delay 的命令 block 是这样的。 (我猜我可能搞砸了父/类(class) ID)。你能看出我可能做错了什么吗?

   cmd2 = "sudo tc class add dev %s parent 1: classid 1:1 htb rate %dmbps ceil %dmbps" % (interface, bandwidth, 2*bandwidth )
filter_cmd = "sudo tc filter add dev %s protocol ip parent 1:0 prio 1 u32 match ip dst %s/%d flowid 1:1" % (interface, ip, subnetmasklength)
delay_cmd = "sudo tc qdisc add dev eth0 parent 1:0 handle 1: netem delay %dms" %(delay)

这是我收到的错误:

'RTNETLINK answers: File exists'

这是我们设置延迟和带宽的脚本:

def exec_bw_config2(ssh, interface, bandwidth, ip, subnetmasklength, delay):
clear_bw_config2(ssh, interface)
# create a qdisc (queuing discipline), 12 is default class
cmd1 = "sudo tc qdisc add dev %s root handle 1: htb default 12" % interface
print cmd1
block_exec(ssh, cmd1)

# define the performance for default class
cmd2 = "sudo tc class add dev %s parent 1: classid 1:1 htb rate %dmbps ceil %dmbps" % (interface, bandwidth, 2*bandwidth )
print cmd2

block_exec(ssh, cmd2)


filter_cmd = "sudo tc filter add dev %s protocol ip parent 1:0 prio 1 u32 match ip dst %s/%d flowid 1:1" % (interface, ip, subnetmasklength)
print filter_cmd
block_exec(ssh, filter_cmd)


delay_cmd = "sudo tc qdisc add dev eth0 parent 1: handle 1: netem delay %dms" %(delay)
print delay_cmd
block_exec(ssh, delay_cmd)

那么上面的delay_cmd有什么问题吗?

这是我们在代码中调用它的方式:

def main():
myhosts = ["10.0.1.192", "10.0.1.191", "10.0.1.190"]
username="ubuntu"
port=22
#key = get_private_key()
for host in myhosts:
ssh = get_ssh(username, host, port)
clear_bw_config2(ssh, "eth0")
exec_bw_config2(ssh, "eth0", int(sys.argv[1]) , "10.0.1.0", 24, int(sys.argv[2]))

# iterate over hosts here
# for everyhost,
# 1. create ssh connection
# 2. run the exec_bw_config with params
return

进一步说明 parent 1: handleparent 1:2 handle 本身有什么区别?

最佳答案

这不是 fatal error :“文件存在”只是说此类模拟已经定义,“无效参数”表示此类模拟不为内核所知或已被删除。

快速小样本:

# ~ $ sudo tc qdisc add dev eth0 root netem delay 0ms
# ~ $ sudo tc qdisc add dev eth0 root netem delay 0ms
RTNETLINK answers: File exists
# ~ $ sudo tc qdisc del dev eth0 root netem delay 0ms
# ~ $ sudo tc qdisc del dev eth0 root netem delay 0ms
RTNETLINK answers: Invalid argument

关于python - 'RTNETLINK 回答 : File exists',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34348219/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com