+
+ /**
+ * Matches a GRE optional key field.
+ *
+ * The value should a big-endian 32bit integer.
+ *
+ * When this item present the K bit is implicitly matched as "1"
+ * in the default mask.
+ *
+ * @p spec/mask type:
+ * @code rte_be32_t * @endcode
+ */
+ RTE_FLOW_ITEM_TYPE_GRE_KEY,
+
+ /**
+ * Matches a GTP extension header: PDU session container.
+ *
+ * Configure flow for GTP packets with extension header type 0x85.
+ *
+ * See struct rte_flow_item_gtp_psc.
+ */
+ RTE_FLOW_ITEM_TYPE_GTP_PSC,
+
+ /**
+ * Matches a PPPoE header.
+ *
+ * Configure flow for PPPoE session packets.
+ *
+ * See struct rte_flow_item_pppoe.
+ */
+ RTE_FLOW_ITEM_TYPE_PPPOES,
+
+ /**
+ * Matches a PPPoE header.
+ *
+ * Configure flow for PPPoE discovery packets.
+ *
+ * See struct rte_flow_item_pppoe.
+ */
+ RTE_FLOW_ITEM_TYPE_PPPOED,
+
+ /**
+ * Matches a PPPoE optional proto_id field.
+ *
+ * It only applies to PPPoE session packets.
+ *
+ * See struct rte_flow_item_pppoe_proto_id.
+ */
+ RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID,
+
+ /**
+ * Matches Network service header (NSH).
+ * See struct rte_flow_item_nsh.
+ *
+ */
+ RTE_FLOW_ITEM_TYPE_NSH,
+
+ /**
+ * Matches Internet Group Management Protocol (IGMP).
+ * See struct rte_flow_item_igmp.
+ *
+ */
+ RTE_FLOW_ITEM_TYPE_IGMP,
+
+ /**
+ * Matches IP Authentication Header (AH).
+ * See struct rte_flow_item_ah.
+ *
+ */
+ RTE_FLOW_ITEM_TYPE_AH,
+
+ /**
+ * Matches a HIGIG header.
+ * see struct rte_flow_item_higig2_hdr.
+ */
+ RTE_FLOW_ITEM_TYPE_HIGIG2,
+
+ /*
+ * [META]
+ *
+ * Matches a tag value.
+ *
+ * See struct rte_flow_item_tag.
+ */
+ RTE_FLOW_ITEM_TYPE_TAG,
+};
+
+/**
+ *
+ * RTE_FLOW_ITEM_TYPE_HIGIG2
+ * Matches higig2 header
+ */
+RTE_STD_C11
+struct rte_flow_item_higig2_hdr {
+ struct rte_higig2_hdr hdr;
+};
+
+/** Default mask for RTE_FLOW_ITEM_TYPE_HIGIG2. */
+#ifndef __cplusplus
+static const struct rte_flow_item_higig2_hdr rte_flow_item_higig2_hdr_mask = {
+ .hdr = {
+ .ppt1 = {
+ .classification = 0xffff,
+ .vid = 0xfff,
+ },
+ },