#include <rte_mbuf.h>
#include <rte_mbuf_dyn.h>
#include <rte_meter.h>
+#include <rte_gtp.h>
#ifdef __cplusplus
extern "C" {
/** Default mask for RTE_FLOW_ITEM_TYPE_ETH. */
#ifndef __cplusplus
static const struct rte_flow_item_eth rte_flow_item_eth_mask = {
- .hdr.d_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
- .hdr.s_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+ .hdr.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+ .hdr.src_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
.hdr.ether_type = RTE_BE16(0x0000),
};
#endif
* Matches a GTP PDU extension header with type 0x85.
*/
struct rte_flow_item_gtp_psc {
- uint8_t pdu_type; /**< PDU type. */
- uint8_t qfi; /**< PPP, RQI, QoS flow identifier. */
+ struct rte_gtp_psc_generic_hdr hdr; /**< gtp psc generic hdr. */
};
/** 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 = 0xff,
+ .hdr.qfi = 0x3f,
};
#endif
};
#endif
+/**
+ * @warning
+ * @b EXPERIMENTAL: this structure may change without prior notice
+ *
+ * RTE_FLOW_ITEM_TYPE_INTEGRITY
+ *
+ * Match on packet integrity check result.
+ */
struct rte_flow_item_integrity {
- /**< Tunnel encapsulation level the item should apply to.
+ /** Tunnel encapsulation level the item should apply to.
* @see rte_flow_action_rss
*/
uint32_t level;
union {
__extension__
struct {
- /**< The packet is valid after passing all HW checks. */
+ /** The packet is valid after passing all HW checks. */
uint64_t packet_ok:1;
- /**< L2 layer is valid after passing all HW checks. */
+ /** L2 layer is valid after passing all HW checks. */
uint64_t l2_ok:1;
- /**< L3 layer is valid after passing all HW checks. */
+ /** L3 layer is valid after passing all HW checks. */
uint64_t l3_ok:1;
- /**< L4 layer is valid after passing all HW checks. */
+ /** L4 layer is valid after passing all HW checks. */
uint64_t l4_ok:1;
- /**< L2 layer CRC is valid. */
+ /** L2 layer CRC is valid. */
uint64_t l2_crc_ok:1;
- /**< IPv4 layer checksum is valid. */
+ /** IPv4 layer checksum is valid. */
uint64_t ipv4_csum_ok:1;
- /**< L4 layer checksum is valid. */
+ /** L4 layer checksum is valid. */
uint64_t l4_csum_ok:1;
- /**< The l3 length is smaller than the frame length. */
+ /** L3 length is smaller than frame length. */
uint64_t l3_len_ok:1;
uint64_t reserved:56;
};
*RTE_FLOW_DYNF_METADATA(m) = v;
}
-/*
+/**
* Definition of a single action.
*
* A list of actions is terminated by a END action.