Code Monkey home page Code Monkey logo

Comments (6)

shun159 avatar shun159 commented on June 11, 2024

論理構成は以下の通りとなっているはずである。

ovn_ingress_flow_tables_diagram

Ingress Flow tableを図にすると以下の通りになる。
各フィールドの変化を追って書いてみたものだ。

ovn_ingress_flow_tables

from blog.

Da1sukeKud0 avatar Da1sukeKud0 commented on June 11, 2024

初めまして。現在自分はOpenFlowに関する研究の一環として、(各スイッチの時刻同期を行い)各スイッチが”同期されたスイッチ内部時刻によって参照するフローテーブルを変更可能”となる様にOVSを拡張したいと考えております。貴方の記事を拝見し、OVSの内部構造に明るいとお見受けし、軽くご質問させて頂ければと思いました。上記の様な拡張が実現出来そうかどうか、ぜひご意見頂戴できればと考えております。

from blog.

shun159 avatar shun159 commented on June 11, 2024

その研究がよくわかってないので、的確なことを言えないので申し訳ありません。

その場合OVSに手を入れるのは大変辛い作業になるかと思うのですが、
Openflowか何かを喋るアプリケーション側で作り込んだほうが幸せでは無いでしょうか。

”同期されたスイッチ内部時刻によって参照するフローテーブルを変更可能”

「同期された〜内部時刻〜」の辺りですが、ほしいのはvector clockかその類でしょうか。

from blog.

Da1sukeKud0 avatar Da1sukeKud0 commented on June 11, 2024

曖昧な説明で申し訳御座いません。
時分割多重化を用いたリアルタイム通信方式(時間的制約が厳しい)をOpenFlowにより実現しようという試みなのですが、プロジェクト自体かなり漠然としている現状です。見据えている最終到達点としては、(独自メッセージにて)スイッチ間の高精度な時刻同期を行い、スイッチ側はその同期された時刻に基づいて入力パケットが一次参照するフローテーブル番号を(即時)変更する様にしたいというものであります。

OVS自体を変更するのはかなり高難易度であるのは承知しておりますので、shun159様のおっしゃる様にOVSとの対話ツール(例:https://github.com/digitalocean/go-openvswitch)の様な形で、”vectorclock等から時刻取得し参照するフローテーブルを変更する(もしくは丸ごと書き換える)”為の外部制御機構を作成しようと考えております。
ただ、時間制約が厳しいので、OVSの内部変更ではなく外部制御だと実行時間がネックになるかと心配しています。

長々と申し訳御座いません。まだ手探りなので、前述した様な外部機構を作成する方向性で行ってみようと思っております。ご返信ありがとう御座います。

from blog.

shun159 avatar shun159 commented on June 11, 2024

OVSの内部変更ではなく外部制御だと実行時間が

openvswitchのkernel moduleはnetlinkを喋れるので、
vswitchdの速度が心配でしたら、netlink(odp)を使ってやるのも手かもしれませんね。
midokuraのmidonet等などはscalaかjavaか覚えていませんが、vswitchdが遅いということで、odp経由で操作していました。また、これはわかりませんが、OVNのコードを読んでもらえばわかるとおりですが、openflowやovs-ofctlコマンド経由ではなく、直接OpenvswitchのC APIを叩いてやっても良いかもしれませんね。

なにか助けになれば幸いです。研究、頑張ってください!

いえいえ、こちらこそありがとうございました。

from blog.

Da1sukeKud0 avatar Da1sukeKud0 commented on June 11, 2024

シミュレーションレベルであればnetlinkで充分かも知れないです。
netlinkと直API双方について方法を探ってみたいと思います。

自分の稚拙な説明に対し懇切丁寧なご返答をいただき誠に有り難うございます。
頑張ります!

from blog.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.