aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Boccassi <luca.boccassi@gmail.com>2017-11-16 13:26:40 +0000
committerLuca Boccassi <luca.boccassi@gmail.com>2017-11-16 13:27:33 +0000
commit1f8d7bdaca90ffce7a23570d64a73332536ac0a3 (patch)
tree7a9d90751d0b148272d9ce355b35696c0e60d630
parent073e12d0c6f521c9f2753ec06132e74c69270269 (diff)
parent169a9de21e263aa6599cdc2d87a45ae158d9f509 (diff)
Merge branch 'upstream' into 17.11.x
Change-Id: I7c5a806f100bfa4324e17c91490e952762a30ee4 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
-rw-r--r--MAINTAINERS8
-rw-r--r--doc/guides/prog_guide/generic_segmentation_offload_lib.rst4
-rw-r--r--doc/guides/rel_notes/deprecation.rst6
-rw-r--r--doc/guides/rel_notes/release_17_11.rst3
-rw-r--r--drivers/net/mlx5/mlx5_flow.c5
-rw-r--r--drivers/net/mlx5/mlx5_rxtx.c2
-rw-r--r--drivers/net/sfc/sfc_rx.c3
-rw-r--r--drivers/net/sfc/sfc_tx.c3
-rw-r--r--lib/librte_eal/common/include/rte_version.h4
-rw-r--r--lib/librte_mbuf/rte_mbuf.c4
-rw-r--r--lib/librte_mbuf/rte_mbuf.h11
-rw-r--r--lib/librte_pdump/rte_pdump.c6
-rw-r--r--pkg/dpdk.spec2
13 files changed, 39 insertions, 22 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 6ed2277c..f0baeb42 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -296,6 +296,12 @@ F: doc/guides/prog_guide/event_ethernet_rx_adapter.rst
Bus Drivers
-----------
+NXP buses
+M: Hemant Agrawal <hemant.agrawal@nxp.com>
+M: Shreyansh Jain <shreyansh.jain@nxp.com>
+F: drivers/bus/dpaa/
+F: drivers/bus/fslmc/
+
PCI bus driver
F: drivers/bus/pci/
@@ -460,7 +466,6 @@ F: doc/guides/nics/features/nfp*.ini
NXP dpaa
M: Hemant Agrawal <hemant.agrawal@nxp.com>
M: Shreyansh Jain <shreyansh.jain@nxp.com>
-F: drivers/bus/dpaa/
F: drivers/mempool/dpaa/
F: drivers/net/dpaa/
F: doc/guides/nics/dpaa.rst
@@ -469,7 +474,6 @@ F: doc/guides/nics/features/dpaa.ini
NXP dpaa2
M: Hemant Agrawal <hemant.agrawal@nxp.com>
M: Shreyansh Jain <shreyansh.jain@nxp.com>
-F: drivers/bus/fslmc/
F: drivers/mempool/dpaa2/
F: drivers/net/dpaa2/
F: doc/guides/nics/dpaa2.rst
diff --git a/doc/guides/prog_guide/generic_segmentation_offload_lib.rst b/doc/guides/prog_guide/generic_segmentation_offload_lib.rst
index 4bbf01a4..ef1de53d 100644
--- a/doc/guides/prog_guide/generic_segmentation_offload_lib.rst
+++ b/doc/guides/prog_guide/generic_segmentation_offload_lib.rst
@@ -120,7 +120,7 @@ in :numref:`figure_gso-output-segment-format`.
.. _figure_gso-output-segment-format:
-.. figure:: img/gso-output-segment-format.svg
+.. figure:: img/gso-output-segment-format.*
:align: center
Two-part GSO output segment
@@ -160,7 +160,7 @@ next input segment).
.. _figure_gso-three-seg-mbuf:
-.. figure:: img/gso-three-seg-mbuf.svg
+.. figure:: img/gso-three-seg-mbuf.*
:align: center
Three-part GSO output segment
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 6d9517ef..13e85432 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -45,5 +45,11 @@ Deprecation Notices
Target release for removal of the legacy API will be defined once most
PMDs have switched to rte_flow.
+* i40e: The default flexible payload configuration which extracts the first 16
+ bytes of the payload for RSS will be deprecated starting from 18.02. If
+ required the previous behavior can be configured using existing flow
+ director APIs. There is no ABI/API break. This change will just remove a
+ global configuration setting and require explicit configuration.
+
* librte_meter: The API will change to accommodate configuration profiles.
Most of the API functions will have an additional opaque parameter.
diff --git a/doc/guides/rel_notes/release_17_11.rst b/doc/guides/rel_notes/release_17_11.rst
index 57966434..016a08c8 100644
--- a/doc/guides/rel_notes/release_17_11.rst
+++ b/doc/guides/rel_notes/release_17_11.rst
@@ -539,6 +539,9 @@ The libraries prepended with a plus sign were incremented in this version.
librte_acl.so.2
+ librte_bitratestats.so.2
+ + librte_bus_dpaa.so.1
+ + librte_bus_fslmc.so.1
+ + librte_bus_pci.so.1
+ librte_bus_vdev.so.1
librte_cfgfile.so.2
librte_cmdline.so.2
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 3df8fba4..f32dfdd3 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -1930,6 +1930,7 @@ priv_flow_create(struct priv *priv,
flow->queues = (uint16_t (*)[])(flow + 1);
memcpy(flow->queues, parser.queues, parser.queues_n * sizeof(uint16_t));
flow->queues_n = parser.queues_n;
+ flow->mark = parser.mark;
/* Copy RSS configuration. */
flow->rss_conf = parser.rss_conf;
flow->rss_conf.rss_key = flow->rss_key;
@@ -2915,8 +2916,8 @@ priv_fdir_filter_delete(struct priv *priv,
if (memcmp(spec, flow_spec,
RTE_MIN(attr_h->size, flow_h->size)))
goto wrong_flow;
- spec = (void *)((uintptr_t)attr + attr_h->size);
- flow_spec = (void *)((uintptr_t)flow_attr +
+ spec = (void *)((uintptr_t)spec + attr_h->size);
+ flow_spec = (void *)((uintptr_t)flow_spec +
flow_h->size);
}
/* At this point, the flow match. */
diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c
index 9658b378..2d30c507 100644
--- a/drivers/net/mlx5/mlx5_rxtx.c
+++ b/drivers/net/mlx5/mlx5_rxtx.c
@@ -524,7 +524,9 @@ mlx5_tx_burst(void *dpdk_txq, struct rte_mbuf **pkts, uint16_t pkts_n)
0,
};
ds = 1;
+#ifdef MLX5_PMD_SOFT_COUNTERS
total_length = 0;
+#endif
k++;
goto next_wqe;
}
diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c
index 2ae095b2..7816393b 100644
--- a/drivers/net/sfc/sfc_rx.c
+++ b/drivers/net/sfc/sfc_rx.c
@@ -780,9 +780,8 @@ sfc_rx_qcheck_conf(struct sfc_adapter *sa, uint16_t nb_rx_desc,
if (rx_conf->rx_thresh.pthresh != 0 ||
rx_conf->rx_thresh.hthresh != 0 ||
rx_conf->rx_thresh.wthresh != 0) {
- sfc_err(sa,
+ sfc_warn(sa,
"RxQ prefetch/host/writeback thresholds are not supported");
- rc = EINVAL;
}
if (rx_conf->rx_free_thresh > rx_free_thresh_max) {
diff --git a/drivers/net/sfc/sfc_tx.c b/drivers/net/sfc/sfc_tx.c
index 127d59e6..d1320f46 100644
--- a/drivers/net/sfc/sfc_tx.c
+++ b/drivers/net/sfc/sfc_tx.c
@@ -79,9 +79,8 @@ sfc_tx_qcheck_conf(struct sfc_adapter *sa, uint16_t nb_tx_desc,
if (tx_conf->tx_thresh.pthresh != 0 ||
tx_conf->tx_thresh.hthresh != 0 ||
tx_conf->tx_thresh.wthresh != 0) {
- sfc_err(sa,
+ sfc_warn(sa,
"prefetch/host/writeback thresholds are not supported");
- rc = EINVAL;
}
if (((flags & ETH_TXQ_FLAGS_NOMULTSEGS) == 0) &&
diff --git a/lib/librte_eal/common/include/rte_version.h b/lib/librte_eal/common/include/rte_version.h
index fa018074..b176f658 100644
--- a/lib/librte_eal/common/include/rte_version.h
+++ b/lib/librte_eal/common/include/rte_version.h
@@ -71,14 +71,14 @@ extern "C" {
/**
* Extra string to be appended to version number
*/
-#define RTE_VER_SUFFIX "-rc"
+#define RTE_VER_SUFFIX ""
/**
* Patch release number
* 0-15 = release candidates
* 16 = release
*/
-#define RTE_VER_RELEASE 4
+#define RTE_VER_RELEASE 16
/**
* Macro to compute a version number usable for comparisons
diff --git a/lib/librte_mbuf/rte_mbuf.c b/lib/librte_mbuf/rte_mbuf.c
index 2e08b9e9..7543662f 100644
--- a/lib/librte_mbuf/rte_mbuf.c
+++ b/lib/librte_mbuf/rte_mbuf.c
@@ -203,7 +203,7 @@ void
rte_mbuf_sanity_check(const struct rte_mbuf *m, int is_header)
{
const struct rte_mbuf *m_seg;
- unsigned nb_segs;
+ unsigned int nb_segs;
if (m == NULL)
rte_panic("mbuf is NULL\n");
@@ -239,7 +239,7 @@ void
rte_pktmbuf_dump(FILE *f, const struct rte_mbuf *m, unsigned dump_len)
{
unsigned int len;
- unsigned nb_segs;
+ unsigned int nb_segs;
__rte_mbuf_sanity_check(m, 1);
diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
index 7e326bbc..ce8a05dd 100644
--- a/lib/librte_mbuf/rte_mbuf.h
+++ b/lib/librte_mbuf/rte_mbuf.h
@@ -584,6 +584,9 @@ struct rte_mbuf {
} __rte_cache_aligned;
+/**< Maximum number of nb_segs allowed. */
+#define RTE_MBUF_MAX_NB_SEGS UINT16_MAX
+
/**
* Prefetch the first part of the mbuf
*
@@ -1447,7 +1450,7 @@ static inline struct rte_mbuf *rte_pktmbuf_clone(struct rte_mbuf *md,
{
struct rte_mbuf *mc, *mi, **prev;
uint32_t pktlen;
- uint8_t nseg;
+ uint16_t nseg;
if (unlikely ((mc = rte_pktmbuf_alloc(mp)) == NULL))
return NULL;
@@ -1807,14 +1810,14 @@ static inline const void *rte_pktmbuf_read(const struct rte_mbuf *m,
*
* @return
* - 0, on success.
- * - -EOVERFLOW, if the chain is full (256 entries)
+ * - -EOVERFLOW, if the chain segment limit exceeded
*/
static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tail)
{
struct rte_mbuf *cur_tail;
/* Check for number-of-segments-overflow */
- if (head->nb_segs + tail->nb_segs >= 1 << (sizeof(head->nb_segs) * 8))
+ if (head->nb_segs + tail->nb_segs > RTE_MBUF_MAX_NB_SEGS)
return -EOVERFLOW;
/* Chain 'tail' onto the old tail */
@@ -1822,7 +1825,7 @@ static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tail
cur_tail->next = tail;
/* accumulate number of segments and total length. */
- head->nb_segs = (uint8_t)(head->nb_segs + tail->nb_segs);
+ head->nb_segs += tail->nb_segs;
head->pkt_len += tail->pkt_len;
/* pkt_len is only set in the head */
diff --git a/lib/librte_pdump/rte_pdump.c b/lib/librte_pdump/rte_pdump.c
index 29a6c99b..bc18f814 100644
--- a/lib/librte_pdump/rte_pdump.c
+++ b/lib/librte_pdump/rte_pdump.c
@@ -139,7 +139,7 @@ pdump_pktmbuf_copy(struct rte_mbuf *m, struct rte_mempool *mp)
{
struct rte_mbuf *m_dup, *seg, **prev;
uint32_t pktlen;
- uint8_t nseg;
+ uint16_t nseg;
m_dup = rte_pktmbuf_alloc(mp);
if (unlikely(m_dup == NULL))
@@ -353,7 +353,7 @@ set_pdump_rxtx_cbs(struct pdump_request *p)
&port);
if (ret < 0) {
RTE_LOG(ERR, PDUMP,
- "failed to get potid for device id=%s\n",
+ "failed to get port id for device id=%s\n",
p->data.en_v1.device);
return -EINVAL;
}
@@ -365,7 +365,7 @@ set_pdump_rxtx_cbs(struct pdump_request *p)
&port);
if (ret < 0) {
RTE_LOG(ERR, PDUMP,
- "failed to get potid for device id=%s\n",
+ "failed to get port id for device id=%s\n",
p->data.dis_v1.device);
return -EINVAL;
}
diff --git a/pkg/dpdk.spec b/pkg/dpdk.spec
index fd1b5ef7..6a41fc71 100644
--- a/pkg/dpdk.spec
+++ b/pkg/dpdk.spec
@@ -30,7 +30,7 @@
# OF THE POSSIBILITY OF SUCH DAMAGE.
Name: dpdk
-Version: 17.08
+Version: 17.11
Release: 1
Packager: packaging@6wind.com
URL: http://dpdk.org