lagopus on small arm board

Post on 14-Jul-2015

282 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

小さい板でLagopusDec 11, 2014Masaru OKIm-oki@stratosphere.co.jp

Wandboard Dualhttp://www.wandboard.org/i.MX6 Duallite (Cortex-A9 Dual core)1GB DDR3 RAMmicroSD *2GbE *1HDMIUSBserial port, audio, WiFi, bluetooth

というARM板

HDMIモニター、USBキーボード、USBマウスを接続し、microSDからUbuntuを起動している

WandboardのGbEと、VAIOに接続したUSB Ether(GbE)を直結

VAIO上のVMware Playerで、Ubuntu 14.04 serverを動かしている

eth0 - NAT(無線LANで外へ)eth1 - ブリッジ(Wandboardと接続)

今回の実験

● ARMでもLagopusは動作するか○ DPDKは動かない (raw socket版はコンパイルできる?)○ alignmentの問題はあるか○ 速度はどうか

● VLANを物理ポートとみなして動かせるか○ 本当の物理ポートと異なるMACアドレス○ VLANパケットは物理ポートから見るとQinQになる

接続構成(Ryu testのため3本生やす)

VAIO Wandboard

GbE

VMware

VLAN0 (tag=1)

VLAN1 (tag=2)

VLAN2 (tag=3)

Lagopus LagopusPort 1

Port 2

Port 3

Port 2

Port 3

Port 1

VLANの作り方と動作

ip link add link eth1 vlan0 type vlan id 1

eth1

dstsrc8100id 10800IPv4

vlan0

src0800IPv4 dst

MACアドレスの問題

● 任意のMACアドレスの送受信が必要● promisc onで、タグ付きパケットを吸えるか?● おそらくeth1もvlan*もpromisc onが必要

ip link set dev eth1 promisc onip link set dev vlan0 promisc on

Wandboardでip link add

$ sudo ip link add link eth1 vlan0 type vlan id 1RTNETLINK answers: Operation not supported

orz

配布されているイメージでVLAN未サポートの模様。

1ポートでいいから動かしてみる

● raw socket版lagopusのビルド方法

configure;make● とくに問題なくビルドは完了。● デフォルトで-O0となるため

make OPT_CFLAGS=-O2などとして最適化しておくのもよい。

折り返すルールを入れてみた

● matchは空、action=output:in_port○ floodする。裏で動かしてたssh接続が切れた。

● 速度計測には至らず。● パケットのclassifyではalignmentの問題なし。● push,pop等は未検証。

おまけ: Bay TrailタブレットでLagopus

動かすためにはLinuxを入れる必要がある

● 32bit UEFI (ia32boot.efiをビルドして解決)● GUI使えない(テキストしか出せない模様)● インストーラからeMMCが見えない● 内蔵無線LANも使えない

結論: そもそもLinuxを動かすのが大変

へこたれました orz

top related