X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fdpdk%2Fdevice%2Fdpdk.h;h=2a3794735d21ead1cd1bca6082d72ccd66dcda22;hb=f91080c01104a5999fe6c08e699b3426fea62dad;hp=86cc67057215ec8810da16d239d5598e17210c85;hpb=ed256991f326ce91dd12f6584baf81b2aa5aae4a;p=vpp.git diff --git a/src/plugins/dpdk/device/dpdk.h b/src/plugins/dpdk/device/dpdk.h index 86cc6705721..2a3794735d2 100644 --- a/src/plugins/dpdk/device/dpdk.h +++ b/src/plugins/dpdk/device/dpdk.h @@ -18,6 +18,8 @@ /* $$$$ We should rename always_inline -> clib_always_inline */ #undef always_inline +#define ALLOW_EXPERIMENTAL_API + #include #include @@ -82,7 +84,8 @@ extern vlib_node_registration_t dpdk_input_node; _ ("net_vhost", VHOST_ETHER) \ _ ("net_ena", ENA) \ _ ("net_failsafe", FAILSAFE) \ - _ ("net_liovf", LIOVF_ETHER) + _ ("net_liovf", LIOVF_ETHER) \ + _ ("net_qede", QEDE) typedef enum { @@ -191,9 +194,12 @@ typedef struct CLIB_CACHE_LINE_ALIGN_MARK (cacheline0); volatile u32 **lockp; - /* Instance ID */ + /* Instance ID to access internal device array. */ dpdk_portid_t device_index; + /* DPDK device port number */ + dpdk_portid_t port_id; + u32 hw_if_index; u32 sw_if_index; @@ -225,7 +231,9 @@ typedef struct /* flow related */ u32 supported_flow_actions; dpdk_flow_entry_t *flow_entries; /* pool */ - dpdk_flow_lookup_entry_t *flow_lookup_entries; /* vector */ + dpdk_flow_lookup_entry_t *flow_lookup_entries; /* pool */ + u32 *parked_lookup_indexes; /* vector */ + u32 parked_loop_count; struct rte_flow_error last_flow_error; /* HQoS related */ @@ -383,10 +391,8 @@ typedef struct typedef struct { int pcap_enable; - pcap_main_t pcap_main; - u8 *pcap_filename; u32 pcap_sw_if_index; - u32 pcap_pkts_to_capture; + pcap_main_t pcap_main; } dpdk_pcap_t; typedef struct @@ -426,9 +432,6 @@ typedef struct f64 link_state_poll_interval; f64 stat_poll_interval; - /* Sleep for this many usec after each device poll */ - u32 poll_sleep_usec; - /* convenience */ vlib_main_t *vlib_main; vnet_main_t *vnet_main;