New upstream version 17.11 53/9453/1
authorLuca Boccassi <luca.boccassi@gmail.com>
Thu, 16 Nov 2017 13:18:21 +0000 (13:18 +0000)
committerLuca Boccassi <luca.boccassi@gmail.com>
Thu, 16 Nov 2017 13:19:21 +0000 (13:19 +0000)
Change-Id: Iee75c1267695faa05f289fe9bb512945507a4c45
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
13 files changed:
MAINTAINERS
doc/guides/prog_guide/generic_segmentation_offload_lib.rst
doc/guides/rel_notes/deprecation.rst
doc/guides/rel_notes/release_17_11.rst
drivers/net/mlx5/mlx5_flow.c
drivers/net/mlx5/mlx5_rxtx.c
drivers/net/sfc/sfc_rx.c
drivers/net/sfc/sfc_tx.c
lib/librte_eal/common/include/rte_version.h
lib/librte_mbuf/rte_mbuf.c
lib/librte_mbuf/rte_mbuf.h
lib/librte_pdump/rte_pdump.c
pkg/dpdk.spec

index 6ed2277..f0baeb4 100644 (file)
@@ -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
index 4bbf01a..ef1de53 100644 (file)
@@ -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
index 6d9517e..13e8543 100644 (file)
@@ -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.
index 5796643..016a08c 100644 (file)
@@ -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
index 3df8fba..f32dfdd 100644 (file)
@@ -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. */
index 9658b37..2d30c50 100644 (file)
@@ -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;
                                }
index 2ae095b..7816393 100644 (file)
@@ -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) {
index 127d59e..d1320f4 100644 (file)
@@ -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) &&
index fa01807..b176f65 100644 (file)
@@ -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
index 2e08b9e..7543662 100644 (file)
@@ -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);
 
index 7e326bb..ce8a05d 100644 (file)
@@ -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 */
index 29a6c99..bc18f81 100644 (file)
@@ -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;
                }
index fd1b5ef..6a41fc7 100644 (file)
@@ -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