ethdev: reuse VXLAN header definition in flow item
One ought to reuse existing header structs in flow items. Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Andy Moreton <amoreton@xilinx.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
This commit is contained in:
parent
694d6ad392
commit
43af98e687
@ -25,6 +25,7 @@
|
|||||||
#include <rte_sctp.h>
|
#include <rte_sctp.h>
|
||||||
#include <rte_tcp.h>
|
#include <rte_tcp.h>
|
||||||
#include <rte_udp.h>
|
#include <rte_udp.h>
|
||||||
|
#include <rte_vxlan.h>
|
||||||
#include <rte_byteorder.h>
|
#include <rte_byteorder.h>
|
||||||
#include <rte_esp.h>
|
#include <rte_esp.h>
|
||||||
#include <rte_higig.h>
|
#include <rte_higig.h>
|
||||||
@ -955,17 +956,27 @@ static const struct rte_flow_item_sctp rte_flow_item_sctp_mask = {
|
|||||||
*
|
*
|
||||||
* Matches a VXLAN header (RFC 7348).
|
* Matches a VXLAN header (RFC 7348).
|
||||||
*/
|
*/
|
||||||
|
RTE_STD_C11
|
||||||
struct rte_flow_item_vxlan {
|
struct rte_flow_item_vxlan {
|
||||||
uint8_t flags; /**< Normally 0x08 (I flag). */
|
union {
|
||||||
uint8_t rsvd0[3]; /**< Reserved, normally 0x000000. */
|
struct {
|
||||||
uint8_t vni[3]; /**< VXLAN identifier. */
|
/*
|
||||||
uint8_t rsvd1; /**< Reserved, normally 0x00. */
|
* These fields are retained for compatibility.
|
||||||
|
* Please switch to the new header field below.
|
||||||
|
*/
|
||||||
|
uint8_t flags; /**< Normally 0x08 (I flag). */
|
||||||
|
uint8_t rsvd0[3]; /**< Reserved, normally 0x000000. */
|
||||||
|
uint8_t vni[3]; /**< VXLAN identifier. */
|
||||||
|
uint8_t rsvd1; /**< Reserved, normally 0x00. */
|
||||||
|
};
|
||||||
|
struct rte_vxlan_hdr hdr;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Default mask for RTE_FLOW_ITEM_TYPE_VXLAN. */
|
/** Default mask for RTE_FLOW_ITEM_TYPE_VXLAN. */
|
||||||
#ifndef __cplusplus
|
#ifndef __cplusplus
|
||||||
static const struct rte_flow_item_vxlan rte_flow_item_vxlan_mask = {
|
static const struct rte_flow_item_vxlan rte_flow_item_vxlan_mask = {
|
||||||
.vni = "\xff\xff\xff",
|
.hdr.vx_vni = RTE_BE32(__builtin_constant_p(0xffffff << 8)),
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user