#include "pipeline.h"
#define APP_PARAM_NAME_SIZE PIPELINE_NAME_SIZE
-
+#define APP_LINK_PCI_BDF_SIZE 16
struct app_mempool_params {
char *name;
uint32_t parsed;
uint32_t parsed;
uint32_t pmd_id; /* Generated based on port mask */
uint32_t arp_q; /* 0 = Disabled (packets go to default queue 0) */
- uint32_t tcp_syn_local_q; /* 0 = Disabled (pkts go to default queue) */
+ uint32_t tcp_syn_q; /* 0 = Disabled (pkts go to default queue) */
uint32_t ip_local_q; /* 0 = Disabled (pkts go to default queue 0) */
uint32_t tcp_local_q; /* 0 = Disabled (pkts go to default queue 0) */
uint32_t udp_local_q; /* 0 = Disabled (pkts go to default queue 0) */
uint32_t ip; /* 0 = Invalid */
uint32_t depth; /* Valid only when IP is valid */
uint64_t mac_addr; /* Read from HW */
+ char pci_bdf[APP_LINK_PCI_BDF_SIZE];
struct rte_eth_conf conf;
uint8_t promisc;
struct rte_ring *msgq_in;
struct rte_ring *msgq_out;
+
+ uint64_t headroom_time;
+ uint64_t headroom_cycles;
+ double headroom_ratio;
};
+#ifndef APP_MAX_LINKS
+#define APP_MAX_LINKS 16
+#endif
+
struct app_eal_params {
/* Map lcore set to physical cpu set */
char *coremap;
uint32_t ranks;
/* Add a PCI device in black list. */
- char *pci_blacklist;
+ char *pci_blacklist[APP_MAX_LINKS];
/* Add a PCI device in white list. */
- char *pci_whitelist;
+ char *pci_whitelist[APP_MAX_LINKS];
/* Add a virtual device. */
- char *vdev;
+ char *vdev[APP_MAX_LINKS];
/* Use VMware TSC map instead of native RDTSC */
uint32_t vmware_tsc_map_present;
#define APP_MAX_MEMPOOLS 8
#endif
-#ifndef APP_MAX_LINKS
-#define APP_MAX_LINKS 16
-#endif
-
#ifndef APP_LINK_MAX_HWQ_IN
#define APP_LINK_MAX_HWQ_IN 64
#endif
#define APP_MAX_CMDS 64
#endif
+#ifndef APP_THREAD_HEADROOM_STATS_COLLECT
+#define APP_THREAD_HEADROOM_STATS_COLLECT 1
+#endif
+
struct app_params {
/* Config */
char app_name[APP_APPNAME_SIZE];