#include <getopt.h>
#include <fcntl.h>
#include <unistd.h>
+#include <signal.h>
#include <rte_string_fns.h>
#include <rte_branch_prediction.h>
#define MAX_TIMER_PERIOD 86400UL /* 1 day max */
#define DEFAULT_TIMER_PERIOD 10UL
+/* Global signal */
+static volatile bool signal_received;
+
/* Print out statistics on packets dropped */
static void
print_stats(void)
nb_rx = rte_eth_rx_burst(portid, 0,
pkts_burst, MAX_PKT_BURST);
+ if (unlikely(signal_received))
+ return;
port_statistics[portid].rx += nb_rx;
options->aad.phys_addr = rte_malloc_virt2iova(options->aad.data);
}
+static void
+raise_signal(int signum)
+{
+ if (signum == SIGINT || signum == SIGTERM)
+ signal_received = true;
+}
+
int
main(int argc, char **argv)
{
int ret, enabled_cdevcount, enabled_portcount;
uint8_t enabled_cdevs[RTE_CRYPTO_MAX_DEVS] = {0};
+ signal(SIGINT, raise_signal);
+ signal(SIGTERM, raise_signal);
+
/* init EAL */
ret = rte_eal_init(argc, argv);
if (ret < 0)