Используйте OFPTableStatsRequest объект. Он вернет список со всеми установленными потоками.
примечание есть OFPGroupStatsRequest, который делает то же самое для групп.
Непроверенный пример, который опирается на переменную экземпляра datapath.
import ryu.app.ofctl.api as api
def ofdpaTableStatsRequest(datapath):
parser = datapath.ofproto_parser
return parser.OFPTableStatsRequest(datapath)
def getFlows(self):
"""
Obtain a list of Flows loaded on the switch
`
:return: A list of Flow Entires
"""
msg = ofdpaTableStatsRequest(self.datapath)
reply = api.send_msg(self.ryuapp, msg,
reply_cls=self.parser.OFPTableStatsReply,
reply_multi=True)
// the flow entries you are looking for will be in the reply
Позвольте мне знать, если это работает для вас
Да это работает, спасибо. Также я решил это внутри обработчика событий. Например: @set_ev_cls (ofp_event.EventOFPFlowStatsReply, MAIN_DISPATCHER) Защиту flowStatsHandler (само, эв): тела = ev.msg.body для потока в теле: self.ipv4Dest = flow.match [ 'ipv4_dst'] – Anamort