Commit 25c0a305 authored by Magnus Karlsson's avatar Magnus Karlsson Committed by Alexei Starovoitov

selftests: xsk: Remove the num_tx_packets option

Remove the number of tx packet option as this should be decided by the
test itself. Also change the number of packets to be sent to 4096
speeding up the execution.
Signed-off-by: default avatarMagnus Karlsson <magnus.karlsson@intel.com>
Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20210825093722.10219-3-magnus.karlsson@gmail.com
parent d18b09bf
......@@ -333,20 +333,19 @@ static struct option long_options[] = {
{"queue", optional_argument, 0, 'q'},
{"dump-pkts", optional_argument, 0, 'D'},
{"verbose", no_argument, 0, 'v'},
{"tx-pkt-count", optional_argument, 0, 'C'},
{0, 0, 0, 0}
};
static void usage(const char *prog)
{
const char *str =
" Usage: %s [OPTIONS]\n"
" Options:\n"
" -i, --interface Use interface\n"
" -q, --queue=n Use queue n (default 0)\n"
" -D, --dump-pkts Dump packets L2 - L5\n"
" -v, --verbose Verbose output\n"
" -C, --tx-pkt-count=n Number of packets to send\n";
" Usage: %s [OPTIONS]\n"
" Options:\n"
" -i, --interface Use interface\n"
" -q, --queue=n Use queue n (default 0)\n"
" -D, --dump-pkts Dump packets L2 - L5\n"
" -v, --verbose Verbose output\n";
ksft_print_msg(str, prog);
}
......@@ -392,7 +391,7 @@ static void parse_command_line(int argc, char **argv)
opterr = 0;
for (;;) {
c = getopt_long(argc, argv, "i:DC:v", long_options, &option_index);
c = getopt_long(argc, argv, "i:Dv", long_options, &option_index);
if (c == -1)
break;
......@@ -415,9 +414,6 @@ static void parse_command_line(int argc, char **argv)
case 'D':
debug_pkt_dump = 1;
break;
case 'C':
opt_pkt_count = atoi(optarg);
break;
case 'v':
opt_verbose = 1;
break;
......@@ -427,11 +423,6 @@ static void parse_command_line(int argc, char **argv)
}
}
if (!opt_pkt_count) {
print_verbose("No tx-pkt-count specified, using default %u\n", DEFAULT_PKT_CNT);
opt_pkt_count = DEFAULT_PKT_CNT;
}
if (!validate_interfaces()) {
usage(basename(argv[0]));
ksft_exit_xfail();
......@@ -554,9 +545,6 @@ static void tx_only(struct xsk_socket_info *xsk, u32 *frameptr, int batch_size)
static int get_batch_size(int pkt_cnt)
{
if (!opt_pkt_count)
return BATCH_SIZE;
if (pkt_cnt + BATCH_SIZE <= opt_pkt_count)
return BATCH_SIZE;
......@@ -586,7 +574,7 @@ static void tx_only_all(struct ifobject *ifobject)
fds[0].fd = xsk_socket__fd(ifobject->xsk->xsk);
fds[0].events = POLLOUT;
while ((opt_pkt_count && pkt_cnt < opt_pkt_count) || !opt_pkt_count) {
while (pkt_cnt < opt_pkt_count) {
int batch_size = get_batch_size(pkt_cnt);
if (test_type == TEST_TYPE_POLL) {
......@@ -602,8 +590,7 @@ static void tx_only_all(struct ifobject *ifobject)
pkt_cnt += batch_size;
}
if (opt_pkt_count)
complete_tx_only_all(ifobject);
complete_tx_only_all(ifobject);
}
static void worker_pkt_dump(void)
......
......@@ -39,7 +39,7 @@
#define SOCK_RECONF_CTR 10
#define BATCH_SIZE 64
#define POLL_TMOUT 1000
#define DEFAULT_PKT_CNT 10000
#define DEFAULT_PKT_CNT (4 * 1024)
#define RX_FULL_RXQSIZE 32
#define print_verbose(x...) do { if (opt_verbose) ksft_print_msg(x); } while (0)
......@@ -79,7 +79,7 @@ static u32 num_frames;
static bool second_step;
static int test_type;
static int opt_pkt_count;
static u32 opt_pkt_count = DEFAULT_PKT_CNT;
static u8 opt_verbose;
static u32 xdp_flags = XDP_FLAGS_UPDATE_IF_NOEXIST;
......
......@@ -10,7 +10,6 @@ ksft_skip=4
SPECFILE=veth.spec
XSKOBJ=xdpxceiver
NUMPKTS=10000
validate_root_exec()
{
......@@ -92,5 +91,5 @@ validate_ip_utility()
execxdpxceiver()
{
./${XSKOBJ} -i ${VETH0} -i ${VETH1},${NS1} -C ${NUMPKTS} ${VERBOSE_ARG} ${DUMP_PKTS_ARG}
./${XSKOBJ} -i ${VETH0} -i ${VETH1},${NS1} ${VERBOSE_ARG} ${DUMP_PKTS_ARG}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment