各ovsにはフローテーブルがあり、これらのテーブルはコントローラによって設定または変更されています。私の質問は次のとおりです:openvswitchは単独でデータを保存できますか?
ovsはコントローラの干渉なしでデータを保存できますか?
つまり、ovsはテーブル自体を作成し、新しいパケットごとに変更できますか?
各ovsにはフローテーブルがあり、これらのテーブルはコントローラによって設定または変更されています。私の質問は次のとおりです:openvswitchは単独でデータを保存できますか?
ovsはコントローラの干渉なしでデータを保存できますか?
つまり、ovsはテーブル自体を作成し、新しいパケットごとに変更できますか?
理論上:はい。
しかし、それがネットワークの上司だと思うどんなコントローラーでも、スイッチがそれ自身でフローテーブルに入れるものはすべて削除されます。つまり、コントローラがスイッチに接続するとすぐに、テーブルがフラッシュされます。
このようなものを実装する場合は、OpenFlowプロトコルの実装プロセスを真似てください。パケットが到着し、スイッチは何をすべきかを知らず、コントローラに質問し、コントローラは何をすべきかをスイッチに通知する。
あなたがこのチェーンで始めるのはあなた次第です。たとえば、アップコールをトリガーする新しいアクションを導入することができます。または、ブリッジで実行されている自律型スレッドで実装します。あるいは、どこからでもコマンドを受け取り、ovs- *バイナリでフローテーブルを変更する各スイッチの上にアプリケーションを構築します。または、コントローラに接続されていないときにスイッチが何をするかを調べます。
実際には、Open vSwitchはコントローラから受信したflow-modsを適用するので、すでにこれを実行しています。あなたが把握する必要があるのは、これらのフローモッズがどこから来るべきかだけです。しかし、それを手助けするために、シナリオに関する追加情報が必要です。
ご返信ありがとうございます。私にとって重要なことは、openvswitch構造を実際に実装するために変更しないことです。スイッチとコントローラを備えた実際のネットワークトポロジを持っていると考えてください。そこに "サービスホスト"を接続せずに各スイッチにテーブルを保存する方法はありますか? – Mehdi1902
snoopまたはmonitorコマンド[Docs](http://openvswitch.org/support/dist-docs/ovs-ofctl.8.txt)は役に立ちますか?最初にフローテーブルエントリを追加し、変更を確認するためにモニタを使用し、そのフィードバックを使用して反応させるスクリプトを書くことができます。 – Brotsalat