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
270
こんなのどうかな?
kwi
1
340
加古川パスタ♡の件
kwi
0
120
給食データを味わう
kwi
0
77
rocket-up
kwi
0
29
測ってみようよ
kwi
1
370
神戸市ウェブサイト動態
kwi
0
290
Code for 選挙
kwi
0
220
Code for Japan Summit 2017 紹介
kwi
0
93
Other Decks in Technology
See All in Technology
非機能品質を作り込むための実践アーキテクチャ
knih
5
1.5k
LINEヤフーのフロントエンド組織・体制の紹介【24年12月】
lycorp_recruit_jp
0
530
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
230
Oracle Cloud Infrastructure:2024年12月度サービス・アップデート
oracle4engineer
PRO
0
210
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
190
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
170
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
180
MLOps の現場から
asei
7
650
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
5
210
生成AIをより賢く エンジニアのための RAG入門 - Oracle AI Jam Session #20
kutsushitaneko
4
260
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
17
4.8k
Amazon VPC Lattice 最新アップデート紹介 - PrivateLink も似たようなアップデートあったけど違いとは
bigmuramura
0
200
Featured
See All Featured
Visualization
eitanlees
146
15k
Scaling GitHub
holman
458
140k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
GraphQLとの向き合い方2022年版
quramy
44
13k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Music & Morning Musume
bryan
46
6.2k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
Practical Orchestrator
shlominoach
186
10k
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 やろうぜ! 円高のうちに買っちゃおうぜ!