Мининет чистый убыток ‹1%

Я новичок в мининете, так что извините, если я пропустил это, но я нигде не мог найти ответ.

У меня есть базовая топология мининета, настроенная следующим образом:

   switch = self.addSwitch('s1')
   for h in range(2):
        host = self.addHost('h%s' % (h + 1))
        self.addLink( host, switch, bw=bw_link, delay=delay, loss=loss, max_queue_size=int(maxq),
            use_htb=True)

Это почти то же самое, что и в примере с мининетом на github. Согласно документации «потеря выражается в процентах (от 0 до 100)».

Однако, когда я передаю параметр

loss = .5

Я получаю следующий вывод:

(10.00Mbit 0% loss) (10.00Mbit 0% loss) *** Configuring hosts

И запуск ping 1000 раз имеет 0% потерь. Я смущен тем, что мне не хватает


person Eli M    schedule 30.09.2018    source источник


Ответы (1)


В коде Mininet потери выражаются целочисленной переменной. Так что с плавающей запятой не получится. Ваш убыток 0,5 округляется до 0.

Что вы можете сделать, так это загрузить исходный код с GitHub, изменить соответствующие строки на float и скомпилировать его.

Согласно этой ссылке, я считаю, что вам нужно изменить строки 296 и 357 в link.py. В зависимости от версии мининета номера строк могли измениться, но в этом файле они все равно должны быть в классе TClink.

person Niloy Saha    schedule 20.05.2019