我正在测试一个 openflow 交换机的性能。我正在使用 linux 中可用的“pktgen”内核模块以不同的流速生成数据包。我有一个带有两个接口 eth1 和 eth2 的主机。两个接口分别连接到交换机的端口 1 和端口 2。我正在使用 pktgen 从 eth1 注入流量。同时我也在 eth1 接口上运行 tcpdump。
但是,我无法看到主机在 eth1 接口上生成的流量。我曾经tcpdump -i eth1 -f udp port 9
查看流量,因为 pktgen 生成的数据包位于 udp 端口 9 上。
我确实在 Google 上寻找了可能的解决方案,最接近解决方案的是这个线程。
但是我仍然无法在 eth1 接口上看到 pktgen 生成的任何流量。请让我知道是否有任何建议?
提前致谢!!!
请参阅下面我正在使用的 pktgen 脚本。
function pgset() {
local result
echo $1 > $PGDEV
result=`cat $PGDEV | fgrep "Result: OK:"`
if [ "$result" = "" ]; then
cat $PGDEV | grep Result:
fi
}
function pg() {
echo inject > $PGDEV
cat $PGDEV
}
PGDEV=/proc/net/pktgen/kpktgend_0
echo "Removing all devices"
pgset "rem_device_all"
echo "Adding eth1"
pgset "add_device eth1"
CLONE_SKB="clone_skb 10"
PKT_SIZE="pkt_size 60"
COUNT="count 100"
DELAY="delay 0"
PGDEV=/proc/net/pktgen/eth1
echo "Configuring $PGDEV"
pgset "$COUNT"
pgset "$CLONE_SKB"
pgset "$PKT_SIZE"
pgset "$DELAY"
pgset "dst_min 192.168.6.1"
pgset "dst_max 192.168.63.255"
pgset "flows 100"
pgset "flowlen 1"
PGDEV=/proc/net/pktgen/pgctrl
echo "Running... ctrl^C to stop"
pgset "start"
echo "Done"
#pgset "stop"