os:freebsd:trafficgenerator
no way to compare when less than two revisions
差分
このページの2つのバージョン間の差分を表示します。
— | os:freebsd:trafficgenerator [2020/08/21 18:44] (現在) – 作成 seirios | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== FreeBSDを用いたTraffic Generatorの構築 ====== | ||
+ | |||
+ | とある理由で、FreeBSDでTraffic Generatorを作成しなければならなくなった。 | ||
+ | |||
+ | というわけでその記録 | ||
+ | |||
+ | <WRAP info round> | ||
+ | 2020/08/21 現在、本記事は書きかけです。 | ||
+ | </ | ||
+ | |||
+ | ===== Hardwareの諸元 ===== | ||
+ | ; CPU : AMD Ryzen7 PRO 4750G | ||
+ | ; Motherboard : ASRock B550M-ITX/ | ||
+ | ; Memory : DDR4-3200 8G x2 | ||
+ | ; NIC : HPE 560SFP+ (82599) 2port | ||
+ | |||
+ | 他に、Diskなどもあるが、この辺は影響はほぼないので割愛。\\ | ||
+ | NICは、他に、HUAWEI CN21ITGH(Intel X710)を準備してある。 | ||
+ | |||
+ | ===== 準備 ===== | ||
+ | * FreeBSD 12.1-RELEASEをInstall | ||
+ | * 追加は何も入れない。加えて、srcやlib32などはInstallしない | ||
+ | * freebsd-update を実行して最新にする | ||
+ | * / | ||
+ | * '' | ||
+ | |||
+ | ===== 以下、書きかけのメモ ===== | ||
+ | |||
+ | ==== とにかく、netmapの初期試験 ==== | ||
+ | どのように構成するにしても、netmapを利用して、NICにDirectにpacketを送り出した上でハードウェア的にどのくらい性能が出せそうかを見積もる必要がある。 | ||
+ | また、そもそもNICがnetmapをどの程度利用できるかを確認する必要もあるので、予備試験。 | ||
+ | |||
+ | 佐藤先生から頂いた、簡易試験用のscript | ||
+ | <code - netmap_test.sh> | ||
+ | #!/bin/sh | ||
+ | # ---- Configuration | ||
+ | SRCDIR=/ | ||
+ | SRCIF=bge0 | ||
+ | SRC_ADDR=192.168.100.104 | ||
+ | DST_ADDR=192.168.100.2 | ||
+ | FUNC=${1-tx} | ||
+ | # | ||
+ | COUNT=100 | ||
+ | LEN=64 | ||
+ | THREADS=1 | ||
+ | # ---- | ||
+ | |||
+ | # Copyright (c) 2020 Hiroki Sato < | ||
+ | # | ||
+ | # Redistribution and use in source and binary forms, with or without | ||
+ | # modification, | ||
+ | # are met: | ||
+ | # 1. Redistributions of source code must retain the above copyright | ||
+ | # notice, this list of conditions and the following disclaimer. | ||
+ | # 2. Redistributions in binary form must reproduce the above copyright | ||
+ | # notice, this list of conditions and the following disclaimer in the | ||
+ | # documentation and/or other materials provided with the distribution. | ||
+ | # | ||
+ | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' | ||
+ | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
+ | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
+ | # ARE DISCLAIMED. | ||
+ | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
+ | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
+ | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
+ | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
+ | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
+ | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
+ | # SUCH DAMAGE. | ||
+ | |||
+ | LOG=netmap_test-`date +%Y%m%d-%H%M%S`.log | ||
+ | err() { echo " | ||
+ | NETMAPDIR=$SRCDIR/ | ||
+ | |||
+ | # build pkg-gen first | ||
+ | (cd $NETMAPDIR && make obj && make) | ||
+ | case $? in | ||
+ | 0) | ||
+ | # do nothing | ||
+ | ;; | ||
+ | *) | ||
+ | err " | ||
+ | ;; | ||
+ | esac | ||
+ | PKTGEN_CMD=`cd $NETMAPDIR && make -V.OBJDIR`/ | ||
+ | SRC_MAC=`arp -an | awk "/ | ||
+ | if [ -z " | ||
+ | err " | ||
+ | fi | ||
+ | if ping -o -c 2 $DST_ADDR > /dev/null 2>& | ||
+ | DST_MAC=`arp -an | awk "/ | ||
+ | else | ||
+ | err " | ||
+ | fi | ||
+ | |||
+ | CMD=" | ||
+ | -A | ||
+ | -p $THREADS | ||
+ | -c 0 | ||
+ | -f $FUNC | ||
+ | -i $SRCIF | ||
+ | -n $COUNT | ||
+ | -l $LEN | ||
+ | -s $SRC_ADDR | ||
+ | -S $SRC_MAC | ||
+ | -d $DST_ADDR | ||
+ | -D $DST_MAC | ||
+ | " | ||
+ | ( | ||
+ | echo COMMAND: $CMD | ||
+ | $CMD | ||
+ | ) 2>&1 | tee $LOG | ||
+ | echo " | ||
+ | </ | ||
+ | |||
+ | === 試験結果 === | ||
os/freebsd/trafficgenerator.txt · 最終更新: by seirios