1

Python-RYUコントローラーを使用して、OpenFlowスイッチの一致ルールを作成しようとしています。ルールは、非 TCP パケット (IP プロトコル 6) に一致する必要があります。

私が知っているように、tcp 接続の一致ルールは次のとおりです。

一致 = parser.OFPMatch(in_port=in_port、eth_dst=dst、ip_proto=6) self.add_flow(データパス、1、一致、アクション)

ルールを補完する必要があります。ありがとう

4

1 に答える 1

2

TCP パケットの優先度が高いルールを作成し、すべてのパケットの優先度が低い別のルールを作成できます。そうすれば、すべての * TCP パケットが最初のルールに一致し、すべての * 非 TCP パケットが 2 番目のルールに一致します。

in_port(*)およびeth_dstに一致するものすべて

唯一の欠点は、TCP パケットをどう処理するかを知る必要があることです。アイデアは、それらをコントローラー ( ) に送信することofproto.OFPP_CONTROLLERです。

tcp_match = parser.OFPMatch(in_port=in_port, eth_dst=dst, ip_proto=6)
self.add_flow(datapath, 2, tcp_match, tcp_actions)
nontcp_match = parser.OFPMatch(in_port=in_port, eth_dst=dst)
self.add_flow(datapath, 1, nontcp_match, nontcp_actions)

編集:それが機能するためには、マッチにも
追加する必要があるようです。eth_type=0x0800

于 2014-10-20T05:02:11.493 に答える