app/testpmd: support multi-process
[dpdk.git] / app / test-pmd / testpmd.h
index 9ae4d90..5863b2f 100644 (file)
@@ -11,6 +11,7 @@
 #include <rte_bus_pci.h>
 #include <rte_gro.h>
 #include <rte_gso.h>
+#include <rte_os_shim.h>
 #include <cmdline.h>
 #include <sys/queue.h>
 
@@ -478,6 +479,7 @@ extern uint8_t txonly_multi_flow;
 
 extern uint16_t nb_pkt_per_burst;
 extern uint16_t nb_pkt_flowgen_clones;
+extern int nb_flows_flowgen;
 extern uint16_t mb_mempool_cache;
 extern int8_t rx_pthresh;
 extern int8_t rx_hthresh;
@@ -631,6 +633,15 @@ extern enum rte_eth_rx_mq_mode rx_mq_mode;
 
 extern struct rte_flow_action_conntrack conntrack_context;
 
+extern int proc_id;
+extern unsigned int num_procs;
+
+static inline bool
+is_proc_primary(void)
+{
+       return rte_eal_process_type() == RTE_PROC_PRIMARY;
+}
+
 static inline unsigned int
 lcore_num(void)
 {
@@ -686,7 +697,7 @@ port_pci_reg_read(struct rte_port *port, uint32_t reg_off)
        uint32_t reg_v;
 
        if (!port->dev_info.device) {
-               printf("Invalid device\n");
+               fprintf(stderr, "Invalid device\n");
                return 0;
        }
 
@@ -694,7 +705,7 @@ port_pci_reg_read(struct rte_port *port, uint32_t reg_off)
        if (bus && !strcmp(bus->name, "pci")) {
                pci_dev = RTE_DEV_TO_PCI(port->dev_info.device);
        } else {
-               printf("Not a PCI device\n");
+               fprintf(stderr, "Not a PCI device\n");
                return 0;
        }
 
@@ -714,7 +725,7 @@ port_pci_reg_write(struct rte_port *port, uint32_t reg_off, uint32_t reg_v)
        void *reg_addr;
 
        if (!port->dev_info.device) {
-               printf("Invalid device\n");
+               fprintf(stderr, "Invalid device\n");
                return;
        }
 
@@ -722,7 +733,7 @@ port_pci_reg_write(struct rte_port *port, uint32_t reg_off, uint32_t reg_v)
        if (bus && !strcmp(bus->name, "pci")) {
                pci_dev = RTE_DEV_TO_PCI(port->dev_info.device);
        } else {
-               printf("Not a PCI device\n");
+               fprintf(stderr, "Not a PCI device\n");
                return;
        }
 
@@ -762,7 +773,7 @@ inc_tx_burst_stats(struct fwd_stream *fs, uint16_t nb_tx)
 }
 
 /* Prototypes */
-unsigned int parse_item_list(char* str, const char* item_name,
+unsigned int parse_item_list(const char *str, const char *item_name,
                        unsigned int max_items,
                        unsigned int *parsed_items, int check_unique_values);
 void launch_args_parse(int argc, char** argv);