X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2Flibrte_ethdev%2Frte_flow.h;h=eab87a55a61e8c56caa20cfd24cbf22e5800c9ae;hb=346553db5bd1e2d0c25d017d590cd5225a704b22;hp=354cb1dd0f9269dc26270ab822ba8a0835f5640d;hpb=23198c17afd76a6c30d0ca551bb1f3b35e405a3d;p=dpdk.git diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h index 354cb1dd0f..eab87a55a6 100644 --- a/lib/librte_ethdev/rte_flow.h +++ b/lib/librte_ethdev/rte_flow.h @@ -434,6 +434,15 @@ enum rte_flow_item_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, }; /** @@ -1192,6 +1201,24 @@ static const struct rte_flow_item_meta rte_flow_item_meta_mask = { }; #endif +/** + * RTE_FLOW_ITEM_TYPE_GTP_PSC. + * + * Matches a GTP PDU extension header with type 0x85. + */ +struct rte_flow_item_gtp_psc { + uint8_t pdu_type; /**< PDU type. */ + uint8_t qfi; /**< QoS flow identifier. */ +}; + +/** Default mask for RTE_FLOW_ITEM_TYPE_GTP_PSC. */ +#ifndef __cplusplus +static const struct rte_flow_item_gtp_psc +rte_flow_item_gtp_psc_mask = { + .qfi = 0x3f, +}; +#endif + /** * @warning * @b EXPERIMENTAL: this structure may change without prior notice