Comments (6)
論理構成は以下の通りとなっているはずである。
Ingress Flow tableを図にすると以下の通りになる。
各フィールドの変化を追って書いてみたものだ。
from blog.
初めまして。現在自分はOpenFlowに関する研究の一環として、(各スイッチの時刻同期を行い)各スイッチが”同期されたスイッチ内部時刻によって参照するフローテーブルを変更可能”となる様にOVSを拡張したいと考えております。貴方の記事を拝見し、OVSの内部構造に明るいとお見受けし、軽くご質問させて頂ければと思いました。上記の様な拡張が実現出来そうかどうか、ぜひご意見頂戴できればと考えております。
from blog.
その研究がよくわかってないので、的確なことを言えないので申し訳ありません。
その場合OVSに手を入れるのは大変辛い作業になるかと思うのですが、
Openflowか何かを喋るアプリケーション側で作り込んだほうが幸せでは無いでしょうか。
”同期されたスイッチ内部時刻によって参照するフローテーブルを変更可能”
「同期された〜内部時刻〜」の辺りですが、ほしいのはvector clockかその類でしょうか。
from blog.
曖昧な説明で申し訳御座いません。
時分割多重化を用いたリアルタイム通信方式(時間的制約が厳しい)をOpenFlowにより実現しようという試みなのですが、プロジェクト自体かなり漠然としている現状です。見据えている最終到達点としては、(独自メッセージにて)スイッチ間の高精度な時刻同期を行い、スイッチ側はその同期された時刻に基づいて入力パケットが一次参照するフローテーブル番号を(即時)変更する様にしたいというものであります。
OVS自体を変更するのはかなり高難易度であるのは承知しておりますので、shun159様のおっしゃる様にOVSとの対話ツール(例:https://github.com/digitalocean/go-openvswitch)の様な形で、”vectorclock等から時刻取得し参照するフローテーブルを変更する(もしくは丸ごと書き換える)”為の外部制御機構を作成しようと考えております。
ただ、時間制約が厳しいので、OVSの内部変更ではなく外部制御だと実行時間がネックになるかと心配しています。
長々と申し訳御座いません。まだ手探りなので、前述した様な外部機構を作成する方向性で行ってみようと思っております。ご返信ありがとう御座います。
from blog.
OVSの内部変更ではなく外部制御だと実行時間が
openvswitchのkernel moduleはnetlinkを喋れるので、
vswitchdの速度が心配でしたら、netlink(odp)を使ってやるのも手かもしれませんね。
midokuraのmidonet等などはscalaかjavaか覚えていませんが、vswitchdが遅いということで、odp経由で操作していました。また、これはわかりませんが、OVNのコードを読んでもらえばわかるとおりですが、openflowやovs-ofctlコマンド経由ではなく、直接OpenvswitchのC APIを叩いてやっても良いかもしれませんね。
なにか助けになれば幸いです。研究、頑張ってください!
いえいえ、こちらこそありがとうございました。
from blog.
シミュレーションレベルであればnetlinkで充分かも知れないです。
netlinkと直API双方について方法を探ってみたいと思います。
自分の稚拙な説明に対し懇切丁寧なご返答をいただき誠に有り難うございます。
頑張ります!
from blog.
Related Issues (20)
- Erlangは内部的に無駄なコピーをしていないのか? from Qiita
- OpenFlowでいろんなプロトコルを 話そうとするとどうなるか from slideshare
- google sre
- How to write the perfect pull request
- memo: VerneMQ vs eMQTT
- OVN – Geneve vs VXLAN, Does it Matter?
- 定数フィールド値 (ZooKeeper 3.3.2-dev API)
- Little Riak Core Book
- Basics_of_DNS_that_application_engineers_should_know
- The Power of Two Choices in Randomized Load Balancing
- ovnのソースを読む(これから読む)
- In-Network Data-Center Computing
- Grafting Sockets for Fast Container Networking HOT 1
- ovnのソースを読む(初期化編)
- プログラミングでよく使う英単語のまとめ【随時更新】 from qiita
- OpenFlow on ASR9K
- openflow xidとマルチパートの話 from qiita
- Poptrie: A Compressed Trie with Population Count for Fast and Scalable Software IP Routing Table Lookup
- 2年目のErlangプログラマが身につけておきたい12のデバッグ術 from Qiita
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from blog.