python - Mininet:创建具有多个接口的主机并使用 addLink() 分配 IP 地址
问题描述
我想创建一个网络,其中有 2 个主机通过 3 个链接相互连接(每个链接属于不同的网络)
_________10.0.0.0/31 network________________
| |
H1+---------10.0.1.0/31 network----------------+H2
| ________10.0.2.0/31 network----------------|
我按照mininet 邮件列表中给出的解决方案 尝试添加链接。
self.addLink( 'h1', s1, params1={'ip':'10.3/8'} )
虽然主机确实获得了 3 个接口,但只有一个接口被分配了默认 IP 10.0.0.1/8 我挖掘了源代码,我的做法应该可以工作,但我不明白为什么我的没有
from mininet.topo import Topo
from mininet.link import TCLink, Link
from mininet.net import Mininet
class MyTopo( Topo ):
"Simple topology example."
def __init__( self ):
"Create custom topo."
# Initialize topology
Topo.__init__( self )
# Add hosts and switches
lH = self.addHost( 'h1' )
rH = self.addHost( 'h2')
# Add links
self.addLink(lH, rH, bw = 10, delay='50ms', params1={ 'ip' : '10.0.0.1/31' }, params2={ 'ip' : '10.0.0.2/31' })
self.addLink(lH, rH, bw = 1, delay='200ms', params1={ 'ip' : '10.1.0.1/31' }, params2={ 'ip' : '10.1.0.2/31' })
self.addLink(lH,rH, bw = 0.1, delay='500ms', params1={ 'ip' : '10.2.0.1/31' }, params2={ 'ip' : '10.2.0.2/31' })
topos = { 'mytopo': ( lambda: MyTopo() ) }
解决方案
我只需要传递intf=TCIntf
给addLink()
函数并传递适当的参数
self.addLink(lH, rH, intf=TCIntf, params1={'delay':'50ms', 'bw' : 10, 'ip' : '10.0.0.1/24' }
推荐阅读
- rest - 为什么我从 HERE Routing API 和 HERE 地图网站收到不同的结果?
- node.js - 在 Linux 中安装 Jest 时,这些 npm 警告是什么意思?
- python - Itertool 循环函数仅在元组中访问第一个值一次
- nrwl-nx - 如何使用 NX CLI 将命令转发到运行命令?
- web2py - web2py 中的 auth_user.password 字段格式是什么
- flutter - Flutter:同一周的 showDatePicker firstdate 和 lastdate
- python - 将“对象”列转换为日期时间
- amazon-web-services - AWS CloudFormation CodeBuild:我可以使用 ECR 图像作为环境图像吗
- javascript - If hasClass condition not working after Updating Class with jQuery
- c# - 健康伤害之间的团结延迟