From 9e0d945f50b8435e890efc5bbfa0942182bfc059 Mon Sep 17 00:00:00 2001 From: Daniel Borkmann Date: Wed, 9 Jan 2013 16:14:05 +0100 Subject: [PATCH] trafgen: if we have 0 packets, return thread Signed-off-by: Daniel Borkmann --- src/trafgen.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/trafgen.c b/src/trafgen.c index a221c5ed..25b6a73e 100644 --- a/src/trafgen.c +++ b/src/trafgen.c @@ -583,12 +583,15 @@ static void xmit_fastpath_or_die(struct ctx *ctx, int cpu) stats[cpu].tv_usec = diff.tv_usec; } -static void xmit_packet_precheck(const struct ctx *ctx) +static int xmit_packet_precheck(const struct ctx *ctx) { int i; size_t mtu; - bug_on(plen == 0 || plen != dlen); + if (plen == 0) + return -1; + + bug_on(plen != dlen); for (mtu = device_mtu(ctx->device), i = 0; i < plen; ++i) { if (packets[i].len > mtu + 14) @@ -596,12 +599,15 @@ static void xmit_packet_precheck(const struct ctx *ctx) if (packets[i].len <= 14) panic("Packet%d's size too short!\n", i); } + + return 0; } static void main_loop(struct ctx *ctx, char *confname, bool slow, int cpu) { compile_packets(confname, ctx->verbose, cpu); - xmit_packet_precheck(ctx); + if (xmit_packet_precheck(ctx) < 0) + return; if (cpu == 0) { printf("Running! Hang up with ^C!\n\n"); -- 2.11.4.GIT