Я использую Mininet, контроллер Рю и OpenFlow 1.3, чтобы создать топологию, где хозяин h1
подключен к принимающей h2
с помощью переключателя p0es0
следующим образом:Ping терпит неудачу в Mininet, Рю - OpenFlow 1,3
h1 h1-eth0:p0es0-eth3
h2 h2-eth0:p0es0-eth4
в моем приложении Ryu контроллера, у меня есть следующий фрагмент кода, чтобы установить правила на моем p0es0
переключатель, чтобы быть в состоянии достигнуть h1 от h2, и наоборот:
# Install rule to forward packets destined to "10.0.0.2" (h2) via port 3
ofproto = sw.ofproto
match = sw.ofproto_parser.OFPMatch(eth_type = 0x0800, ipv4_dst="10.0.0.1")
action = sw.ofproto_parser.OFPActionOutput(4)
inst = [sw.ofproto_parser.OFPInstructionActions(sw.ofproto.OFPIT_APPLY_ACTIONS, [action])]
mod = sw.ofproto_parser.OFPFlowMod(datapath=sw, match=match,
instructions=inst, cookie=0, command=ofproto.OFPFC_ADD, idle_timeout=0,
hard_timeout=0, priority=100, flags=ofproto.OFPFF_SEND_FLOW_REM)
sw.send_msg(mod)
# Install rule to forward packets destined to "10.0.0.1" (h1) via port 4
match = sw.ofproto_parser.OFPMatch(eth_type = 0x0800, ipv4_dst="10.0.0.1")
action = sw.ofproto_parser.OFPActionOutput(4)
inst = [sw.ofproto_parser.OFPInstructionActions(sw.ofproto.OFPIT_APPLY_ACTIONS, [action])]
mod = sw.ofproto_parser.OFPFlowMod(datapath=sw, match=match,
instructions=inst, cookie=0, command=ofproto.OFPFC_ADD, idle_timeout=0,
hard_timeout=0, priority=100, flags=ofproto.OFPFF_SEND_FLOW_REM)
sw.send_msg(mod)
Моя команда сброса потока подтверждает кор правильная установка правил в коммутаторе, как ожидалось:
*** p0es0 -------------------------------- ---------------------------------
OFPST_FLOW ответ (OF1.3) (xid = 0x2):
печенья = 0x0, длительность = 1103.417s, таблица = 0, n_packets = 0, n_bytes = 0, send_flow_rem приоритет = 100, внутрибрюшинно, nw_dst = 10.0.0.2 действия = выход: 4
печенья = 0x0, duration = 1103.414s, table = 0, n_packets = 0, n_bytes = 0, send_flow_rem priority = 100, ip, nw_dst = 10.0.0.1 actions = outp ет: 3
Однако, когда я пытаюсь пинговать h2
из h1
или наоборот, я получаю Destination хост ошибки. Я попытался использовать tcpdump на p0es0-eth3
- Я вижу только пакеты запроса ARP.
Я что-то упустил?
Спасибо.