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
140
給食データを味わう
kwi
0
97
rocket-up
kwi
0
34
測ってみようよ
kwi
1
410
神戸市ウェブサイト動態
kwi
0
310
Code for 選挙
kwi
0
260
Code for Japan Summit 2017 紹介
kwi
0
120
Other Decks in Technology
See All in Technology
american airlines®️ USA Contact Numbers: Complete 2025 Support Guide
supportflight
1
110
SmartNewsにおける 1000+ノード規模 K8s基盤 でのコスト最適化 – Spot・Gravitonの大規模導入への挑戦
vsanna2
0
130
AWS Organizations 新機能!マルチパーティ承認の紹介
yhana
1
280
事業成長の裏側:エンジニア組織と開発生産性の進化 / 20250703 Rinto Ikenoue
shift_evolve
PRO
2
21k
「良さそう」と「とても良い」の間には 「良さそうだがホンマか」がたくさんある / 2025.07.01 LLM品質Night
smiyawaki0820
1
550
AI専用のリンターを作る #yumemi_patch
bengo4com
5
4.3k
PO初心者が考えた ”POらしさ”
nb_rady
0
210
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
27k
B2C&B2B&社内向けサービスを抱える開発組織におけるサービス価値を最大化するイニシアチブ管理
belongadmin
1
6.9k
Lufthansa ®️ USA Contact Numbers: Complete 2025 Support Guide
lufthanahelpsupport
0
190
20250707-AI活用の個人差を埋めるチームづくり
shnjtk
4
3.8k
さくらのIaaS基盤のモニタリングとOpenTelemetry/OSC Hokkaido 2025
fujiwara3
3
440
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
Navigating Team Friction
lara
187
15k
Producing Creativity
orderedlist
PRO
346
40k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Faster Mobile Websites
deanohume
307
31k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Optimizing for Happiness
mojombo
379
70k
Being A Developer After 40
akosma
90
590k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Unsuck your backbone
ammeep
671
58k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
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 やろうぜ! 円高のうちに買っちゃおうぜ!