The extended SCTP flow entries are now part of the standard API.
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
IPV4_ADDR_TO_UINT(res->ip_src,
entry.input.flow.sctp4_flow.ip.src_ip);
/* need convert to big endian. */
-#ifdef RTE_NEXT_ABI
entry.input.flow.sctp4_flow.dst_port =
rte_cpu_to_be_16(res->port_dst);
entry.input.flow.sctp4_flow.src_port =
rte_cpu_to_be_16(res->port_src);
-#endif
entry.input.flow.sctp4_flow.verify_tag =
rte_cpu_to_be_32(res->verify_tag_value);
break;
IPV6_ADDR_TO_ARRAY(res->ip_src,
entry.input.flow.sctp6_flow.ip.src_ip);
/* need convert to big endian. */
-#ifdef RTE_NEXT_ABI
entry.input.flow.sctp6_flow.dst_port =
rte_cpu_to_be_16(res->port_dst);
entry.input.flow.sctp6_flow.src_port =
rte_cpu_to_be_16(res->port_src);
-#endif
entry.input.flow.sctp6_flow.verify_tag =
rte_cpu_to_be_32(res->verify_tag_value);
break;
flow director filtering in VF. The release 2.1 does not contain these ABI
changes, but release 2.2 will, and no backwards compatibility is planned.
-* ABI change is planned to extend the SCTP flow's key input from release 2.1.
- The change may be enabled in the release 2.1 with CONFIG_RTE_NEXT_ABI.
-
* ABI changes are planned for struct rte_eth_fdir_filter and
rte_eth_fdir_masks in order to support new flow director modes,
MAC VLAN and Cloud, on x550. The MAC VLAN mode means the MAC and
* The EAL and ethdev structures rte_intr_handle and rte_eth_conf were changed
to support Rx interrupt. It was already done in 2.1 for CONFIG_RTE_NEXT_ABI.
+* The ethdev flow director entries for SCTP were changed.
+ It was already done in 2.1 for CONFIG_RTE_NEXT_ABI.
+
* The mbuf structure was changed to support unified packet type.
It was already done in 2.1 for CONFIG_RTE_NEXT_ABI.
sctp = (struct sctp_hdr *)(raw_pkt + sizeof(struct ether_hdr) +
sizeof(struct ipv4_hdr));
payload = (unsigned char *)sctp + sizeof(struct sctp_hdr);
-#ifdef RTE_NEXT_ABI
/*
* The source and destination fields in the transmitted packet
* need to be presented in a reversed order with respect
*/
sctp->src_port = fdir_input->flow.sctp4_flow.dst_port;
sctp->dst_port = fdir_input->flow.sctp4_flow.src_port;
-#endif
sctp->tag = fdir_input->flow.sctp4_flow.verify_tag;
break;
sctp = (struct sctp_hdr *)(raw_pkt + sizeof(struct ether_hdr) +
sizeof(struct ipv6_hdr));
payload = (unsigned char *)sctp + sizeof(struct sctp_hdr);
-#ifdef RTE_NEXT_ABI
/*
* The source and destination fields in the transmitted packet
* need to be presented in a reversed order with respect
*/
sctp->src_port = fdir_input->flow.sctp6_flow.dst_port;
sctp->dst_port = fdir_input->flow.sctp6_flow.src_port;
-#endif
sctp->tag = fdir_input->flow.sctp6_flow.verify_tag;
break;
*/
struct rte_eth_sctpv4_flow {
struct rte_eth_ipv4_flow ip; /**< IPv4 fields to match. */
-#ifdef RTE_NEXT_ABI
uint16_t src_port; /**< SCTP source port to match. */
uint16_t dst_port; /**< SCTP destination port to match. */
-#endif
uint32_t verify_tag; /**< Verify tag to match */
};
*/
struct rte_eth_sctpv6_flow {
struct rte_eth_ipv6_flow ip; /**< IPv6 fields to match. */
-#ifdef RTE_NEXT_ABI
uint16_t src_port; /**< SCTP source port to match. */
uint16_t dst_port; /**< SCTP destination port to match. */
-#endif
uint32_t verify_tag; /**< Verify tag to match */
};