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.2k
語るっ!Zodiac FX
せっかくなのでZodiacFX のこれまでの知見をまとめました。開発へのお誘いです~
kwi
July 02, 2016
Tweet
Share
More Decks by kwi
See All by kwi
SmartCitizen紹介
kwi
0
290
こんなのどうかな?
kwi
1
370
加古川パスタ♡の件
kwi
0
130
給食データを味わう
kwi
0
96
rocket-up
kwi
0
34
測ってみようよ
kwi
1
410
神戸市ウェブサイト動態
kwi
0
310
Code for 選挙
kwi
0
260
Code for Japan Summit 2017 紹介
kwi
0
110
Other Decks in Technology
See All in Technology
生成AIでwebアプリケーションを作ってみた
tajimon
2
150
VISITS_AIIoTビジネス共創ラボ登壇資料.pdf
iotcomjpadmin
0
160
エンジニア向け技術スタック情報
kauche
1
250
Fabric + Databricks 2025.6 の最新情報ピックアップ
ryomaru0825
1
130
PHPでWebブラウザのレンダリングエンジンを実装する
dip_tech
PRO
0
200
~宇宙最速~2025年AWS Summit レポート
satodesu
1
1.8k
Understanding_Thread_Tuning_for_Inference_Servers_of_Deep_Models.pdf
lycorptech_jp
PRO
0
120
Oracle Cloud Infrastructure:2025年6月度サービス・アップデート
oracle4engineer
PRO
2
240
PHP開発者のためのSOLID原則再入門 #phpcon / PHP Conference Japan 2025
shogogg
4
730
ハノーバーメッセ2025座談会.pdf
iotcomjpadmin
0
160
急成長を支える基盤作り〜地道な改善からコツコツと〜 #cre_meetup
stefafafan
0
120
rubygem開発で鍛える設計力
joker1007
2
200
Featured
See All Featured
Writing Fast Ruby
sferik
628
61k
Optimizing for Happiness
mojombo
379
70k
The Language of Interfaces
destraynor
158
25k
Automating Front-end Workflow
addyosmani
1370
200k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Being A Developer After 40
akosma
90
590k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
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 やろうぜ! 円高のうちに買っちゃおうぜ!