diff options
author | 2017-02-05 16:16:22 +0200 | |
---|---|---|
committer | 2017-02-13 12:32:25 +0200 | |
commit | 3c0de05a5d1951fab4067040be8192f0ee27d9b7 (patch) | |
tree | 3526f80435bac330f70537999f9eafb715a00917 /src/dpdk/lib | |
parent | 9ca4a157305e4e23a892ba9bafc9eee0f66954ce (diff) |
Our patches to dpdk1702 - not including mlx changes
Signed-off-by: Ido Barnea <ibarnea@cisco.com>
Diffstat (limited to 'src/dpdk/lib')
-rw-r--r-- | src/dpdk/lib/librte_eal/linuxapp/eal/eal_interrupts.c | 4 | ||||
-rw-r--r-- | src/dpdk/lib/librte_ether/rte_eth_ctrl.h | 7 | ||||
-rw-r--r-- | src/dpdk/lib/librte_ether/rte_ethdev.h | 2 | ||||
-rw-r--r-- | src/dpdk/lib/librte_mbuf/rte_mbuf.h | 5 |
4 files changed, 16 insertions, 2 deletions
diff --git a/src/dpdk/lib/librte_eal/linuxapp/eal/eal_interrupts.c b/src/dpdk/lib/librte_eal/linuxapp/eal/eal_interrupts.c index b5b3f2bd..c9bf3b8d 100644 --- a/src/dpdk/lib/librte_eal/linuxapp/eal/eal_interrupts.c +++ b/src/dpdk/lib/librte_eal/linuxapp/eal/eal_interrupts.c @@ -732,11 +732,13 @@ eal_intr_process_interrupts(struct epoll_event *events, int nfds) if (bytes_read < 0) { if (errno == EINTR || errno == EWOULDBLOCK) continue; - +#if 0 +// TREX_PATCH - this causes endless messages on e1000 with dpdk1702 RTE_LOG(ERR, EAL, "Error reading from file " "descriptor %d: %s\n", events[n].data.fd, strerror(errno)); +#endif } else if (bytes_read == 0) RTE_LOG(ERR, EAL, "Read nothing from file " "descriptor %d\n", events[n].data.fd); diff --git a/src/dpdk/lib/librte_ether/rte_eth_ctrl.h b/src/dpdk/lib/librte_ether/rte_eth_ctrl.h index 83869042..9f1dd32b 100644 --- a/src/dpdk/lib/librte_ether/rte_eth_ctrl.h +++ b/src/dpdk/lib/librte_ether/rte_eth_ctrl.h @@ -425,6 +425,8 @@ struct rte_eth_l2_flow { struct rte_eth_ipv4_flow { uint32_t src_ip; /**< IPv4 source address in big endian. */ uint32_t dst_ip; /**< IPv4 destination address in big endian. */ + // TREX_PATCH (ip_id) + uint16_t ip_id; /**< IPv4 IP ID to match */ uint8_t tos; /**< Type of service to match. */ uint8_t ttl; /**< Time to live to match. */ uint8_t proto; /**< Protocol, next header in big endian. */ @@ -467,6 +469,8 @@ struct rte_eth_ipv6_flow { uint8_t tc; /**< Traffic class to match. */ uint8_t proto; /**< Protocol, next header to match. */ uint8_t hop_limits; /**< Hop limits to match. */ + // TREX_PATCH (flow_label) + uint32_t flow_label; /**<flow label to match. */ }; /** @@ -595,6 +599,9 @@ struct rte_eth_fdir_action { /**< If report_status is RTE_ETH_FDIR_REPORT_ID_FLEX_4 or RTE_ETH_FDIR_REPORT_FLEX_8, flex_off specifies where the reported flex bytes start from in flexible payload. */ + // TREX_PATCH + // Index for statistics counter that will count FDIR matches. + uint16_t stat_count_index; }; /** diff --git a/src/dpdk/lib/librte_ether/rte_ethdev.h b/src/dpdk/lib/librte_ether/rte_ethdev.h index c17bbda8..ce8d805c 100644 --- a/src/dpdk/lib/librte_ether/rte_ethdev.h +++ b/src/dpdk/lib/librte_ether/rte_ethdev.h @@ -797,6 +797,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/dpdk/lib/librte_mbuf/rte_mbuf.h b/src/dpdk/lib/librte_mbuf/rte_mbuf.h index 0d01167c..7144b8d8 100644 --- a/src/dpdk/lib/librte_mbuf/rte_mbuf.h +++ b/src/dpdk/lib/librte_mbuf/rte_mbuf.h @@ -689,6 +689,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 @@ -700,7 +703,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)); } |