Фреймворк Рю, tcp_flags в parser.OFPMatch

Я пытаюсь сопоставить поток в коммутаторе, совместимом с openflow (openflow 1.5), используя ryu framework.

Насколько мне известно, openflow версии 1.5 поддерживает условия соответствия tcp_flags, и Ryu тоже.

Итак, когда я пытаюсь закодировать как:

    match = parser.OFPMatch(
        tcp_flags=0x000
        )

в таблице потоков ничего не происходит, пока я ожидаю появления новой записи потока.

Входящий пакет содержит пустое значение для флагов tcp.

Кто-нибудь знает, как закодировать такое состояние в рю?

Спасибо.


person passsp    schedule 08.08.2016    source источник


Ответы (1)


match = parser.OFPMatch(
    eth_type=0x0800, 
    ip_proto=6, 
    tcp_flags=0x000
    )

решил мою проблему. Согласно «Спецификации коммутатора OpenFlow», перед использованием «tcp_flags» должны быть выполнены некоторые обязательные поля. В моем случае для поля tcp_flags нужны поля eth_type = 0x8000 и ip_proto = 6, размещенные ранее.

person passsp    schedule 10.08.2016