#! /usr/bin/env bash if [ ! -x "$(command -v ip)" ]; then echo "Need ip installed" exit 77 fi if [ ! -x "$(command -v ethtool)" ]; then echo "Need ethool installed" exit 77 fi function clean_namespaces { ip netns del iou-nscl ip netns del iou-nsserv } trap clean_namespaces EXIT ip link add iou-ptp-cl type veth peer name iou-ptp-serv ip netns add iou-nscl ip link set iou-ptp-cl netns iou-nscl ip netns exec iou-nscl ip addr add '10.10.10.10/24' dev iou-ptp-cl ip netns exec iou-nscl ethtool -K iou-ptp-cl tcp-segmentation-offload off ip netns exec iou-nscl ethtool -K iou-ptp-cl generic-receive-offload on ip netns exec iou-nscl ip link set dev iou-ptp-cl up ip netns add iou-nsserv ip link set iou-ptp-serv netns iou-nsserv ip netns exec iou-nsserv ip addr add '10.10.10.20/24' dev iou-ptp-serv ip netns exec iou-nsserv ethtool -K iou-ptp-serv tcp-segmentation-offload off ip netns exec iou-nsserv ethtool -K iou-ptp-serv generic-receive-offload on ip netns exec iou-nsserv ip link set dev iou-ptp-serv up # test basic init, defer_taskrun, and sqpoll QUEUE_FLAGS="0x0 0x3000 0x2" for flags in $QUEUE_FLAGS; do if [ -f "napi-test.t" ]; then NAPI_TEST="./napi-test.t" elif [ -f "test/napi-test.t" ]; then NAPI_TEST="test/napi-test.t" else echo "Can't find napi-test.t" exit 77 fi ip netns exec iou-nsserv $NAPI_TEST receive $flags & ip netns exec iou-nscl $NAPI_TEST send $flags wait done