Я пытаюсь изменить адрес назначения для входящего запроса ping на коммутаторе с помощью контроллера POX. Я использую package.next для изменения адреса назначения. После изменения этого адреса я создаю новый пакет с входящим IP-адресом источника и новым IP-адресом назначения. Но мои пинги не проходят. Я также удостоверяюсь, что пункт назначения nw сообщения изменен до того, как оно будет отправлено коммутатору.
Будет очень полезно, если кто-то поможет мне решить эту проблему.
Я использую образец программы l3_learning.py, представленный в Mininet.
Я добавил это условие в функцию handle_PacketIn в файл ifinstance(packet.next,arp)
.
Мой код
: : if str(packet.src)==str("00:00:00:00:00:19") and (inport)==19: packet.src = EthAddr("00:00:00:00:00:22") inport = 22 if str(packet.dst)==str("00:00:00:00:00:19") and inport==19: a1.protosrc = IPAddr("10.0.0.6") a1.hwsrc = EthAddr("00:00:00:00:00:22")
Затем я отправляю пакет ARP.
Я изменил nw_dst using ofp.match() –