The purpose of extending this structure is to support more tunnel filter conditions.
Signed-off-by: Jijiang Liu <jijiang.liu at intel.com> --- lib/librte_ether/rte_eth_ctrl.h | 14 +++++++++++--- 1 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/librte_ether/rte_eth_ctrl.h b/lib/librte_ether/rte_eth_ctrl.h index ce224ad..39f52d9 100644 --- a/lib/librte_ether/rte_eth_ctrl.h +++ b/lib/librte_ether/rte_eth_ctrl.h @@ -494,9 +494,17 @@ enum rte_eth_fdir_tunnel_type { * NVGRE */ struct rte_eth_tunnel_flow { - enum rte_eth_fdir_tunnel_type tunnel_type; /**< Tunnel type to match. */ - uint32_t tunnel_id; /**< Tunnel ID to match. TNI, VNI... */ - struct ether_addr mac_addr; /**< Mac address to match. */ + enum rte_eth_tunnel_type tunnel_type; + uint64_t tunnel_id; /**< Tunnel ID to match. TNI, VNI... */ + struct ether_addr outer_src_mac; /* for TX */ + struct ether_addr outer_peer_mac; /* for TX */ + enum rte_tunnel_iptype outer_ip_type; /**< IP address type. */ + union { + struct rte_eth_ipv4_flow outer_ipv4; + struct rte_eth_ipv6_flow outer_ipv6; + } outer_ip_addr; + uint16_t dst_port; + uint16_t src_port; }; /** -- 1.7.7.6