語るっ!Zodiac FX
by
kwi
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
語るっ! Zodiac FX ! Kawai, Hiroaki
Slide 2
Slide 2 text
ZodiacFX ● Kickstarter で始まった – “affordable” openflow hardware switch ● 普通に売ってるやつは、お試しするには高すぎる – 過去にも ONetSwitch という FPGA を使ったプロ ジェクトはあった ● 期限ギリギリに達成! – 正直ヒヤヒヤした…
Slide 3
Slide 3 text
現在 ● Kickstarter 枠も順番に配布が終わった ● ファームウェアは絶賛開発中 ^^; ● Northbound Networks (Australia) から直販 – $99.00 AUD(送料込み・諸経費除く) 実機をお分けできるように持ってきました
Slide 4
Slide 4 text
配送 ● 安心のFedEx – 発注 5/25 – 発送 5/25 – 着荷 5/30 AU JP CN
Slide 5
Slide 5 text
Architecture Atmel 4e ARM SoC Micrel Ethernet Switch 電源 兼 Serial SPI Debug JTAG Cortex-M 120MHz
Slide 6
Slide 6 text
使い方 デフォルトでは 4 番がコントローラへの接続 Switch は 10.0.1.99 を名乗っている Controller は tcp:10.0.1.8:6633 を期待している Openflow port 1, 2, 3 となる スイッチの設定は USB Serial でできるほか、 Telnet で入れるようになる予定(0.64?)
Slide 7
Slide 7 text
CLI ● Debug コマンドがある – register と出てくるのは、Switch のもの。 – Micrel KSZ8795CLX のドキュメントと対応。 ● ドキュメントの読み方にコツがある ● レジスタ番号が特定できれば勝ち – trace コマンドはそこそこ便利
Slide 8
Slide 8 text
ファームの書き込み ● SAM-BAでUSB シリアル経由で書き込み – 電源を切る – ERASE ジャンパをオンにする – 電源を入れて10秒ほど待つ – 電源を切る – ERASE ジャンパを開放に戻す – SAM-BA で書き込み(LOCKはしない) 昔のバージョンから 上げたときは Factory Reset が必要なことも (EEPROM)
Slide 9
Slide 9 text
Kickstarter Beta tester枠 ● 腕に自信のある人限定でお願い!という案内 ● Beta board が先に届く キタコレ!
Slide 10
Slide 10 text
Beta tester でやったこと ● Forum に beta アカウントで入れた – ファームやドキュメントがダウンロードできた ● 不具合報告したり…というか、ほとんど動かない… – だいぶ後になってソースコードもダウンロードできるよ うになった。 ● 最初は zip ファイルだった ● Github に出して欲しいなーとか、そのタイミングでお願いをし たり ● 実は大して作業できず(むしろ今からが本番)
Slide 11
Slide 11 text
Beta & Production 認証 認証取得の模様は: https://www.kickstarter.com/projects/northboundnetworks/zodiac-fx-the-worlds-smallest-openflow-sdn-switch/posts/1469205
Slide 12
Slide 12 text
開発環境 ● Atmel IDE (free) – 現行バイナリのビルドには 6.2 を使用 – バージョンを上げると内部の gcc が変わる ● Atmel ICE debugger (事実上必須) – USB 接続の箱 – SoC に接続して IDE から step 実行したりできる – ≪ 超便利 ≫ 私はdigikeyで 買いました
Slide 13
Slide 13 text
開発の始め方 # git clone https://github.com/NorthboundNetworks/ZodiacFX and open
Slide 14
Slide 14 text
Branch ● 一般的な流儀と異なるので注意 – 最新Release版 → master – 次期開発版 → Dev_064 ● Github で時期開発版に PR 出す – 「折れる心」と「折れない心」が重要 ● OSS運営はよちよち歩きなので生暖かく眺める感じで – 仲間募集中!
Slide 15
Slide 15 text
開発時の注意点 3.12 cm 電源を信号線に 近づけない 動作中に 触らない ノイズのせいで バイナリ転送が 遅くなったり 失敗したりします Ethernet portが 明らかに挙動不審に なります
Slide 16
Slide 16 text
Software ● ARM SoC 環境がターゲット – Atmel にサンプルコードがある – 今は Arduino みたいに loop が回る構成 ● いわゆる OS はない ● 一番最初は FreeRTOS 使おうかなと言っていた ● 主に次の二つのドキュメントを引くことになる – Atmel SAM4E Datasheet – Micrel KSZ8795CLX
Slide 17
Slide 17 text
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 追加でポート番号が 入るようになっています。
Slide 18
Slide 18 text
hkwi voyager 版 ● Openflow を行けるところまで実装してみた版 – 一気に作って、オリジナルをほとんど書き換えたの で、本家にはマージされず – プロプラ製品との接続性がテストできない?問題 ● HP?のコントローラとの接続性?に問題? ● こちらで追試できないんだよな… – lwIP 2.0.0RC1 に置き換え ● IPv6 対応
Slide 19
Slide 19 text
hkwi voyager 版 ● (バースト)スループットが出にくい – Loop 処理の構造上の問題か? ● FreeRTOS版の loop も見てみないと – なので、meter は未実装 ● 自分でビルドする人は: – まずは gcc -O0 でビルドすべし – 正に「闇」
Slide 20
Slide 20 text
Ryu certificate ● hkwi/ZodiacFX_RyuCert – ログを置いてます – 対向スイッチは trema-switch (trema-edge)
Slide 21
Slide 21 text
Another aspect: ● ZodiacFX is 4 port “white box switch” ● 極論するとOpenflowじゃなくてもいい ● Micrel switch + ARM な GPL ソースコード ● Northbound Networksがハードを供給 – MAC アドレスも 1 つついてくる ひょっとしてOpenWRTよりも簡単…?
Slide 22
Slide 22 text
Zodiac FX やろうぜ! 円高のうちに買っちゃおうぜ!