#include "input.h"
#define MAX_INTERRUPT_LENGTH 500000 /* Maximum length of an interrupt is (1 / MAX_INTERRUPT_LENGTH) seconds */
+
+uint64_t irq_bucket_maxtime_cycles[IRQ_BUCKETS_COUNT];
uint64_t irq_bucket_maxtime_micro[] = {1,5,10,50,100,500,1000,5000,10000,50000,100000,500000,UINT64_MAX};
+
/*
* This module is not handling any packets.
* It loops on rdtsc() and checks whether it has been interrupted
};
+int (*handle_ctrl_plane)(struct task_base *tbase, struct rte_mbuf **mbuf, uint16_t n_pkts) = NULL;
+
static struct my_arp_t arp_reply = {
.htype = 0x100,
.ptype = 8,
struct pollfd route_fds;
};
-const char *actions_string[MAX_ACTIONS];
+extern const char *actions_string[MAX_ACTIONS];
void init_ctrl_plane(struct task_base *tbase);
-int (*handle_ctrl_plane)(struct task_base *tbase, struct rte_mbuf **mbuf, uint16_t n_pkts);
+extern int (*handle_ctrl_plane)(struct task_base *tbase, struct rte_mbuf **mbuf, uint16_t n_pkts);
static inline void tx_drop(struct rte_mbuf *mbuf)
{
struct irq_rt_stats *stats;
};
-uint64_t irq_bucket_maxtime_cycles[IRQ_BUCKETS_COUNT];
+extern uint64_t irq_bucket_maxtime_cycles[IRQ_BUCKETS_COUNT];
extern uint64_t irq_bucket_maxtime_micro[];
void stats_irq_reset(void);
#define _STATS_TASK_H_
#include <inttypes.h>
+#include <rte_common.h>
#include "clock.h"