Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
語るっ!Zodiac FX
Search
kwi
July 02, 2016
Technology
0
1.1k
語るっ!Zodiac FX
せっかくなのでZodiacFX のこれまでの知見をまとめました。開発へのお誘いです~
kwi
July 02, 2016
Tweet
Share
More Decks by kwi
See All by kwi
SmartCitizen紹介
kwi
0
190
こんなのどうかな?
kwi
1
290
加古川パスタ♡の件
kwi
0
92
給食データを味わう
kwi
0
58
rocket-up
kwi
0
24
測ってみようよ
kwi
1
300
神戸市ウェブサイト動態
kwi
0
290
Code for 選挙
kwi
0
170
Code for Japan Summit 2017 紹介
kwi
0
77
Other Decks in Technology
See All in Technology
テストプロセスで大事にしていること #jasstnano
makky_tyuyan
0
110
プロトタイピングによる不確実性の低減 / Reducing Uncertainty through Prototyping
ohbarye
3
200
Databricks における 『MLOps』
databricksjapan
2
130
Microsoft Cloudで開発ライフサイクルを保護する
kkamegawa
0
140
「ふりかえりのふりかえり」をふりかえり、実のあるふりかえりにする
naitosatoshi
0
220
[2024年3月版] Databricksのシステムアーキテクチャ
databricksjapan
7
1.9k
反実仮想機械学習とは何か
usaito
PRO
6
1.7k
入社後初めてのタスクでk8sアップグレードした話.pdf
kkato1
0
380
A (short) History of AI
harishpillay
0
110
AWS パートナー企業でテクニカルサポートに従事して2年経ったので思うところをまとめてみた
kazzpapa3
3
1.3k
OpenTelemetry を使ったトレースエグザンプラーの活用 / otel-trace-exemplar
k6s4i53rx
2
630
シン・Kafka / shin-kafka
oracle4engineer
PRO
6
2.7k
Featured
See All Featured
Music & Morning Musume
bryan
40
5.6k
Faster Mobile Websites
deanohume
296
30k
Building Better People: How to give real-time feedback that sticks.
wjessup
353
18k
It's Worth the Effort
3n
180
27k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
219
21k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
658
120k
Designing the Hi-DPI Web
ddemaree
276
33k
Unsuck your backbone
ammeep
662
57k
What the flash - Photography Introduction
edds
64
11k
Optimizing for Happiness
mojombo
369
69k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
13
1.5k
How to name files
jennybc
64
92k
Transcript
語るっ! Zodiac FX ! Kawai, Hiroaki <
[email protected]
>
ZodiacFX • Kickstarter で始まった – “affordable” openflow hardware switch •
普通に売ってるやつは、お試しするには高すぎる – 過去にも ONetSwitch という FPGA を使ったプロ ジェクトはあった • 期限ギリギリに達成! – 正直ヒヤヒヤした…
現在 • Kickstarter 枠も順番に配布が終わった • ファームウェアは絶賛開発中 ^^; • Northbound Networks
(Australia) から直販 – $99.00 AUD(送料込み・諸経費除く) 実機をお分けできるように持ってきました
配送 • 安心のFedEx – 発注 5/25 – 発送 5/25 –
着荷 5/30 AU JP CN
Architecture Atmel 4e ARM SoC Micrel Ethernet Switch 電源 兼
Serial SPI Debug JTAG Cortex-M 120MHz
使い方 デフォルトでは 4 番がコントローラへの接続 Switch は 10.0.1.99 を名乗っている Controller は
tcp:10.0.1.8:6633 を期待している Openflow port 1, 2, 3 となる スイッチの設定は USB Serial でできるほか、 Telnet で入れるようになる予定(0.64?)
CLI • Debug コマンドがある – register と出てくるのは、Switch のもの。 – Micrel
KSZ8795CLX のドキュメントと対応。 • ドキュメントの読み方にコツがある • レジスタ番号が特定できれば勝ち – trace コマンドはそこそこ便利
ファームの書き込み • SAM-BAでUSB シリアル経由で書き込み – 電源を切る – ERASE ジャンパをオンにする –
電源を入れて10秒ほど待つ – 電源を切る – ERASE ジャンパを開放に戻す – SAM-BA で書き込み(LOCKはしない) 昔のバージョンから 上げたときは Factory Reset が必要なことも (EEPROM)
Kickstarter Beta tester枠 • 腕に自信のある人限定でお願い!という案内 • Beta board が先に届く キタコレ!
Beta tester でやったこと • Forum に beta アカウントで入れた – ファームやドキュメントがダウンロードできた
• 不具合報告したり…というか、ほとんど動かない… – だいぶ後になってソースコードもダウンロードできるよ うになった。 • 最初は zip ファイルだった • Github に出して欲しいなーとか、そのタイミングでお願いをし たり • 実は大して作業できず(むしろ今からが本番)
Beta & Production 認証 認証取得の模様は: https://www.kickstarter.com/projects/northboundnetworks/zodiac-fx-the-worlds-smallest-openflow-sdn-switch/posts/1469205
開発環境 • Atmel IDE (free) – 現行バイナリのビルドには 6.2 を使用 –
バージョンを上げると内部の gcc が変わる • Atmel ICE debugger (事実上必須) – USB 接続の箱 – SoC に接続して IDE から step 実行したりできる – ≪ 超便利 ≫ 私はdigikeyで 買いました
開発の始め方 # git clone https://github.com/NorthboundNetworks/ZodiacFX and open
Branch • 一般的な流儀と異なるので注意 – 最新Release版 → master – 次期開発版 →
Dev_064 • Github で時期開発版に PR 出す – 「折れる心」と「折れない心」が重要 • OSS運営はよちよち歩きなので生暖かく眺める感じで – 仲間募集中!
開発時の注意点 3.12 cm 電源を信号線に 近づけない 動作中に 触らない ノイズのせいで バイナリ転送が 遅くなったり
失敗したりします Ethernet portが 明らかに挙動不審に なります
Software • ARM SoC 環境がターゲット – Atmel にサンプルコードがある – 今は
Arduino みたいに loop が回る構成 • いわゆる OS はない • 一番最初は FreeRTOS 使おうかなと言っていた • 主に次の二つのドキュメントを引くことになる – Atmel SAM4E Datasheet – Micrel KSZ8795CLX
in logical view Atmel 4e ARM SoC Micrel Ethernet Switch
電源 兼 Serial SPI Debug JTAG 1 2 3 4 5 eth SPI 電源投入直後のレジスタは 普通のスイッチングハブとして 動作するようになっています。 起動後にすべて5番に 吸い上がるように レジスタを設定しています。 5 – eth の間は ethernet フレームの最後に 1 byte 追加でポート番号が 入るようになっています。
hkwi voyager 版 • Openflow を行けるところまで実装してみた版 – 一気に作って、オリジナルをほとんど書き換えたの で、本家にはマージされず –
プロプラ製品との接続性がテストできない?問題 • HP?のコントローラとの接続性?に問題? • こちらで追試できないんだよな… – lwIP 2.0.0RC1 に置き換え • IPv6 対応
hkwi voyager 版 • (バースト)スループットが出にくい – Loop 処理の構造上の問題か? • FreeRTOS版の
loop も見てみないと – なので、meter は未実装 • 自分でビルドする人は: – まずは gcc -O0 でビルドすべし – 正に「闇」
Ryu certificate • hkwi/ZodiacFX_RyuCert – ログを置いてます – 対向スイッチは trema-switch (trema-edge)
Another aspect: • ZodiacFX is 4 port “white box switch”
• 極論するとOpenflowじゃなくてもいい • Micrel switch + ARM な GPL ソースコード • Northbound Networksがハードを供給 – MAC アドレスも 1 つついてくる ひょっとしてOpenWRTよりも簡単…?
Zodiac FX やろうぜ! 円高のうちに買っちゃおうぜ!