Остановка переключателя из контроллера Pox - PullRequest
0 голосов
/ 13 января 2019

Я пытаюсь создать тестовую сеть, в которой у меня есть список коммутаторов, и только один из них может быть активным одновременно. Я уже обновляю список соединений для каждого события ConnectionUp, работая так:

def _handle_ConnectionUp (event):    
  for switch in switchesList:
      ...
      if switch.dpid == str(event.dpid):
        switch.connection = event.connection
      ...
      if any other switch from switchesList is running
        stop that switch
      ...

Насколько я понимаю, я могу затем использовать connection.send для отправки сообщения этому коммутатору, однако мне не удалось найти сообщение Openflow, содержащее команду "stop". Всякий раз, когда в CLI mininet я вручную запускаю:

переключатель s1 start

Я хочу, чтобы POX достиг эффекта, похожего на бег:

переключатель s2 stop

от мининет CLI.

Есть ли способ отправить такое сообщение или, возможно, получить доступ к ссылке на коммутатор каким-либо другим способом?

1 Ответ

0 голосов
/ 14 февраля 2019

Настройка потоков в таблице потоков (например, action = of.ofp_action_output (port = of.OFPP_DROP)) для отбрасывания всех пакетов через разные порты указанного коммутатора может обеспечить желаемый эффект.

...