Мин. inet: Создание хоста с несколькими интерфейсами и назначение IP-адреса с помощью addLink () - PullRequest
1 голос
/ 30 мая 2020

Я хочу создать сеть с 2 хостами, подключенными друг к другу через 3 ссылки (каждая ссылка принадлежит другой сети)

   _________10.0.0.0/31 network________________
  |                                            |
H1+---------10.0.1.0/31 network----------------+H2
  | ________10.0.2.0/31 network----------------|

Я следовал решению, приведенному в min inet список рассылки , чтобы попытаться добавить ссылки.

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() ) }

1 Ответ

0 голосов
/ 30 мая 2020

Мне просто нужно было передать intf=TCIntf функции addLink() и передать соответствующие аргументы

self.addLink(lH, rH, intf=TCIntf,  params1={'delay':'50ms', 'bw' : 10, 'ip' : '10.0.0.1/24' }
...