app/testpmd: support no IOVA contiguous mempools
[dpdk.git] / app / test-pmd / testpmd.h
index 3ff11e6..e2117e6 100644 (file)
@@ -119,12 +119,12 @@ struct fwd_stream {
        unsigned int retry_enabled;
 
        /* "read-write" results */
-       unsigned int rx_packets;  /**< received packets */
-       unsigned int tx_packets;  /**< received packets transmitted */
-       unsigned int fwd_dropped; /**< received packets not forwarded */
-       unsigned int rx_bad_ip_csum ; /**< received packets has bad ip checksum */
-       unsigned int rx_bad_l4_csum ; /**< received packets has bad l4 checksum */
-       unsigned int rx_bad_outer_l4_csum;
+       uint64_t rx_packets;  /**< received packets */
+       uint64_t tx_packets;  /**< received packets transmitted */
+       uint64_t fwd_dropped; /**< received packets not forwarded */
+       uint64_t rx_bad_ip_csum ; /**< received packets has bad ip checksum */
+       uint64_t rx_bad_l4_csum ; /**< received packets has bad l4 checksum */
+       uint64_t rx_bad_outer_l4_csum;
        /**< received packets has bad outer l4 checksum */
        unsigned int gro_times; /**< GRO operation times */
 #ifdef RTE_TEST_PMD_RECORD_CORE_CYCLES
@@ -164,20 +164,12 @@ struct rte_port {
        struct rte_eth_conf     dev_conf;   /**< Port configuration. */
        struct ether_addr       eth_addr;   /**< Port ethernet address */
        struct rte_eth_stats    stats;      /**< Last port statistics */
-       uint64_t                tx_dropped; /**< If no descriptor in TX ring */
-       struct fwd_stream       *rx_stream; /**< Port RX stream, if unique */
-       struct fwd_stream       *tx_stream; /**< Port TX stream, if unique */
        unsigned int            socket_id;  /**< For NUMA support */
        uint16_t                parse_tunnel:1; /**< Parse internal headers */
        uint16_t                tso_segsz;  /**< Segmentation offload MSS for non-tunneled packets. */
        uint16_t                tunnel_tso_segsz; /**< Segmentation offload MSS for tunneled pkts. */
        uint16_t                tx_vlan_id;/**< The tag ID */
        uint16_t                tx_vlan_id_outer;/**< The outer tag ID */
-       void                    *fwd_ctx;   /**< Forwarding mode context */
-       uint64_t                rx_bad_ip_csum; /**< rx pkts with bad ip checksum  */
-       uint64_t                rx_bad_l4_csum; /**< rx pkts with bad l4 checksum */
-       uint64_t                rx_bad_outer_l4_csum;
-       /**< rx pkts with bad outer l4 checksum */
        uint8_t                 tx_queue_stats_mapping_enabled;
        uint8_t                 rx_queue_stats_mapping_enabled;
        volatile uint16_t        port_status;    /**< port started or not */
@@ -272,6 +264,8 @@ extern struct fwd_engine ieee1588_fwd_engine;
 
 extern struct fwd_engine * fwd_engines[]; /**< NULL terminated array. */
 
+extern uint16_t mempool_flags;
+
 /**
  * Forwarding Configuration
  *
@@ -440,6 +434,8 @@ enum tx_pkt_split {
 
 extern enum tx_pkt_split tx_pkt_split;
 
+extern uint8_t txonly_multi_flow;
+
 extern uint16_t nb_pkt_per_burst;
 extern uint16_t mb_mempool_cache;
 extern int8_t rx_pthresh;
@@ -488,6 +484,7 @@ extern uint16_t gso_max_segment_size;
 struct vxlan_encap_conf {
        uint32_t select_ipv4:1;
        uint32_t select_vlan:1;
+       uint32_t select_tos_ttl:1;
        uint8_t vni[3];
        rte_be16_t udp_src;
        rte_be16_t udp_dst;
@@ -496,6 +493,8 @@ struct vxlan_encap_conf {
        uint8_t ipv6_src[16];
        uint8_t ipv6_dst[16];
        rte_be16_t vlan_tci;
+       uint8_t ip_tos;
+       uint8_t ip_ttl;
        uint8_t eth_src[ETHER_ADDR_LEN];
        uint8_t eth_dst[ETHER_ADDR_LEN];
 };
@@ -765,6 +764,8 @@ char *list_pkt_forwarding_modes(void);
 char *list_pkt_forwarding_retry_modes(void);
 void set_pkt_forwarding_mode(const char *fwd_mode);
 void start_packet_forwarding(int with_tx_first);
+void fwd_stats_display(void);
+void fwd_stats_reset(void);
 void stop_packet_forwarding(void);
 void dev_set_link_up(portid_t pid);
 void dev_set_link_down(portid_t pid);