X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fark%2Fark_pktgen.c;h=28a44f754628c4b6e7d89bc8baf5a9278306fb83;hb=d566bfcff0c7bfe167f6c520d4fd5b0104130af6;hp=2a2b428e2db1ec0f4d9fa34026c4c91df18144ab;hpb=540914bc7ad88bae5ac5a4ea4acf4ddc5f4799e5;p=dpdk.git diff --git a/drivers/net/ark/ark_pktgen.c b/drivers/net/ark/ark_pktgen.c index 2a2b428e2d..28a44f7546 100644 --- a/drivers/net/ark/ark_pktgen.c +++ b/drivers/net/ark/ark_pktgen.c @@ -2,14 +2,9 @@ * Copyright (c) 2015-2018 Atomic Rules LLC */ -#include -#include -#include #include -#include - -#include +#include #include #include "ark_pktgen.h" @@ -82,7 +77,7 @@ ark_pktgen_init(void *adr, int ord, int l2_mode) rte_malloc("ark_pkt_gen_inst_pmd", sizeof(struct ark_pkt_gen_inst), 0); if (inst == NULL) { - PMD_DRV_LOG(ERR, "Failed to malloc ark_pkt_gen_inst.\n"); + ARK_PMD_LOG(ERR, "Failed to malloc ark_pkt_gen_inst.\n"); return inst; } inst->regs = (struct ark_pkt_gen_regs *)adr; @@ -125,12 +120,12 @@ ark_pktgen_pause(ark_pkt_gen_t handle) while (!ark_pktgen_paused(handle)) { usleep(1000); if (cnt++ > 100) { - PMD_DRV_LOG(ERR, "Pktgen %d failed to pause.\n", + ARK_PMD_LOG(NOTICE, "Pktgen %d failed to pause.\n", inst->ordinal); break; } } - PMD_DEBUG_LOG(DEBUG, "Pktgen %d paused.\n", inst->ordinal); + ARK_PMD_LOG(DEBUG, "Pktgen %d paused.\n", inst->ordinal); } void @@ -140,7 +135,7 @@ ark_pktgen_reset(ark_pkt_gen_t handle) if (!ark_pktgen_is_running(handle) && !ark_pktgen_paused(handle)) { - PMD_DEBUG_LOG(DEBUG, "Pktgen %d is not running" + ARK_PMD_LOG(DEBUG, "Pktgen %d is not running" " and is not paused. No need to reset.\n", inst->ordinal); return; @@ -148,13 +143,13 @@ ark_pktgen_reset(ark_pkt_gen_t handle) if (ark_pktgen_is_running(handle) && !ark_pktgen_paused(handle)) { - PMD_DEBUG_LOG(DEBUG, + ARK_PMD_LOG(DEBUG, "Pktgen %d is not paused. Pausing first.\n", inst->ordinal); ark_pktgen_pause(handle); } - PMD_DEBUG_LOG(DEBUG, "Resetting pktgen %d.\n", inst->ordinal); + ARK_PMD_LOG(DEBUG, "Resetting pktgen %d.\n", inst->ordinal); inst->regs->pkt_start_stop = (1 << 8); } @@ -192,17 +187,17 @@ ark_pktgen_wait_done(ark_pkt_gen_t handle) int wait_cycle = 10; if (ark_pktgen_is_gen_forever(handle)) - PMD_DRV_LOG(ERR, "Pktgen wait_done will not terminate" + ARK_PMD_LOG(NOTICE, "Pktgen wait_done will not terminate" " because gen_forever=1\n"); while (!ark_pktgen_tx_done(handle) && (wait_cycle > 0)) { usleep(1000); wait_cycle--; - PMD_DEBUG_LOG(DEBUG, + ARK_PMD_LOG(DEBUG, "Waiting for pktgen %d to finish sending...\n", inst->ordinal); } - PMD_DEBUG_LOG(DEBUG, "Pktgen %d done.\n", inst->ordinal); + ARK_PMD_LOG(DEBUG, "Pktgen %d done.\n", inst->ordinal); } uint32_t @@ -305,7 +300,7 @@ options(const char *id) return &toptions[i]; } - PMD_DRV_LOG(ERR, + ARK_PMD_LOG(ERR, "Pktgen: Could not find requested option!, " "option = %s\n", id @@ -329,7 +324,7 @@ pmd_set_arg(char *arg, char *val) o->v.INT = atoll(val); break; case OTSTRING: - snprintf(o->v.STR, ARK_MAX_STR_LEN, "%s", val); + strlcpy(o->v.STR, val, ARK_MAX_STR_LEN); break; } return 1; @@ -464,8 +459,22 @@ ark_pktgen_setup(ark_pkt_gen_t handle) if (options("reset")->v.BOOL) ark_pktgen_reset(handle); if (options("run")->v.BOOL) { - PMD_DEBUG_LOG(DEBUG, "Starting packet generator on port %d\n", + ARK_PMD_LOG(DEBUG, "Starting packet generator on port %d\n", options("port")->v.INT); ark_pktgen_run(handle); } } + +void * +ark_pktgen_delay_start(void *arg) +{ + struct ark_pkt_gen_inst *inst = (struct ark_pkt_gen_inst *)arg; + + /* This function is used exclusively for regression testing, We + * perform a blind sleep here to ensure that the external test + * application has time to setup the test before we generate packets + */ + usleep(100000); + ark_pktgen_run(inst); + return NULL; +}