summaryrefslogtreecommitdiffstats
path: root/src/dpdk22/lib
diff options
context:
space:
mode:
authorIdo Barnea <ibarnea@cisco.com>2015-12-14 05:12:45 +0200
committerIdo Barnea <ibarnea@cisco.com>2015-12-27 08:51:30 +0200
commit7de16b05fa2ef6feeec8370b36037a59aeb1f8e5 (patch)
treeb989ba0dc8668d60e7a24a497bee7e9ed2bddafb /src/dpdk22/lib
parent509648b87434b9032d38b8ca5ad470ba3edcc036 (diff)
Changes only to DPDK files: dpdk22 40G fixes for TTL and ip_protocol match and IPv6 support + TX hang issue fix
Diffstat (limited to 'src/dpdk22/lib')
-rw-r--r--src/dpdk22/lib/librte_ether/rte_eth_ctrl.h6
-rw-r--r--src/dpdk22/lib/librte_ether/rte_ethdev.h2
-rw-r--r--src/dpdk22/lib/librte_mbuf/rte_mbuf.h5
3 files changed, 12 insertions, 1 deletions
diff --git a/src/dpdk22/lib/librte_ether/rte_eth_ctrl.h b/src/dpdk22/lib/librte_ether/rte_eth_ctrl.h
index ce224adb..dc26439d 100644
--- a/src/dpdk22/lib/librte_ether/rte_eth_ctrl.h
+++ b/src/dpdk22/lib/librte_ether/rte_eth_ctrl.h
@@ -407,6 +407,9 @@ struct rte_eth_l2_flow {
struct rte_eth_ipv4_flow {
uint32_t src_ip; /**< IPv4 source address to match. */
uint32_t dst_ip; /**< IPv4 destination address to match. */
+ // TREX_PATCH
+ uint8_t ttl; /**< IPv4 ttl to match */
+ uint8_t l4_protocol; /**< IPv4 l4 protocol to match */
};
/**
@@ -443,6 +446,9 @@ struct rte_eth_sctpv4_flow {
struct rte_eth_ipv6_flow {
uint32_t src_ip[4]; /**< IPv6 source address to match. */
uint32_t dst_ip[4]; /**< IPv6 destination address to match. */
+ // TREX_PATCH
+ uint8_t hop_limit; /**< IPv6 hop limit to match */
+ uint8_t l4_protocol; /**< IPv6 l4 protocol to match */
};
/**
diff --git a/src/dpdk22/lib/librte_ether/rte_ethdev.h b/src/dpdk22/lib/librte_ether/rte_ethdev.h
index bada8ade..f8c7c86d 100644
--- a/src/dpdk22/lib/librte_ether/rte_ethdev.h
+++ b/src/dpdk22/lib/librte_ether/rte_ethdev.h
@@ -734,6 +734,8 @@ struct rte_fdir_conf {
struct rte_eth_fdir_masks mask;
struct rte_eth_fdir_flex_conf flex_conf;
/**< Flex payload configuration. */
+ // TREX_PATCH
+ uint8_t flexbytes_offset;
};
/**
diff --git a/src/dpdk22/lib/librte_mbuf/rte_mbuf.h b/src/dpdk22/lib/librte_mbuf/rte_mbuf.h
index f234ac9a..683b2ef3 100644
--- a/src/dpdk22/lib/librte_mbuf/rte_mbuf.h
+++ b/src/dpdk22/lib/librte_mbuf/rte_mbuf.h
@@ -975,6 +975,9 @@ rte_mbuf_refcnt_set(struct rte_mbuf *m, uint16_t new_value)
static inline uint16_t
rte_mbuf_refcnt_update(struct rte_mbuf *m, int16_t value)
{
+ // TREX_PATCH - The code in #if 0 caused tx queue to hang when running:
+ // sudo ./t-rex-64-o -f avl/sfr_delay_10_1g_no_bundeling.yaml -m 35 -p -d 100
+#if 0
/*
* The atomic_add is an expensive operation, so we don't want to
* call it in the case where we know we are the uniq holder of
@@ -986,7 +989,7 @@ rte_mbuf_refcnt_update(struct rte_mbuf *m, int16_t value)
rte_mbuf_refcnt_set(m, 1 + value);
return 1 + value;
}
-
+#endif
return (uint16_t)(rte_atomic16_add_return(&m->refcnt_atomic, value));
}