+#define foreach_dpdk_device_flags \
+ _( 0, ADMIN_UP, "admin-up") \
+ _( 1, PROMISC, "promisc") \
+ _( 2, PMD, "pmd") \
+ _( 3, PMD_INIT_FAIL, "pmd-init-fail") \
+ _( 4, MAYBE_MULTISEG, "maybe-multiseg") \
+ _( 5, HAVE_SUBIF, "subif") \
+ _( 6, HQOS, "hqos") \
+ _( 7, BOND_SLAVE, "bond-slave") \
+ _( 8, BOND_SLAVE_UP, "bond-slave-up") \
+ _( 9, TX_OFFLOAD, "tx-offload") \
+ _(10, INTEL_PHDR_CKSUM, "intel-phdr-cksum") \
+ _(11, RX_FLOW_OFFLOAD, "rx-flow-offload") \
+ _(12, RX_IP4_CKSUM, "rx-ip4-cksum")
+
+enum
+{
+#define _(a, b, c) DPDK_DEVICE_FLAG_##b = (1 << a),
+ foreach_dpdk_device_flags
+#undef _
+};
+
+typedef struct
+{
+ u32 flow_index;
+ u32 mark;
+ struct rte_flow *handle;
+} dpdk_flow_entry_t;
+
+typedef struct
+{
+ u32 flow_id;
+ u16 next_index;
+ i16 buffer_advance;
+} dpdk_flow_lookup_entry_t;
+