get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/12114/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 12114,
    "url": "https://patches.dpdk.org/api/patches/12114/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1461074613-32360-1-git-send-email-thomas.monjalon@6wind.com/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1461074613-32360-1-git-send-email-thomas.monjalon@6wind.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1461074613-32360-1-git-send-email-thomas.monjalon@6wind.com",
    "date": "2016-04-19T14:03:33",
    "name": "[dpdk-dev] ethdev: remove deprecated statistics",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "4907f1a4769b327e967361da6044efa9900938d4",
    "submitter": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/people/1/?format=api",
        "name": "Thomas Monjalon",
        "email": "thomas.monjalon@6wind.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1461074613-32360-1-git-send-email-thomas.monjalon@6wind.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/12114/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/12114/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 6A52037B1;\n\tTue, 19 Apr 2016 16:03:44 +0200 (CEST)",
            "from mail-wm0-f41.google.com (mail-wm0-f41.google.com\n\t[74.125.82.41]) by dpdk.org (Postfix) with ESMTP id 96D6E2C65\n\tfor <dev@dpdk.org>; Tue, 19 Apr 2016 16:03:42 +0200 (CEST)",
            "by mail-wm0-f41.google.com with SMTP id u206so31480879wme.1\n\tfor <dev@dpdk.org>; Tue, 19 Apr 2016 07:03:42 -0700 (PDT)",
            "from XPS13.dev.6wind.com (guy78-3-82-239-227-177.fbx.proxad.net.\n\t[82.239.227.177])\n\tby smtp.gmail.com with ESMTPSA id w3sm474659wjt.0.2016.04.19.07.03.40\n\t(version=TLSv1/SSLv3 cipher=OTHER);\n\tTue, 19 Apr 2016 07:03:41 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=6wind-com.20150623.gappssmtp.com; s=20150623;\n\th=from:to:cc:subject:date:message-id;\n\tbh=uPdbHE67m5r5SqkpSxzr+rfNQUHMr0fHHz+eZfvLDm0=;\n\tb=KgEL5GnLwaHaxnY8yYhQLs/NORzzORkCcWB7P3uIfsaIam1vRV9S1ykLfqUDuyU3Qh\n\tMh6Vg2pNUETPso2pwecymrdX1eoH5N732eo/4fpMgBIv9CH4WdenNv+ZZuZcTPtKNJMw\n\tXHupm5jJwpkju81jxQNSS0+n1qa39sXvy54oeLC8RBqBLi6utgc7g21YuFI4myLj3g56\n\t4bc46VJgPccbaUHNFZeXfXDwf2LQ6JmtrCPmXglvcM5TI5sk930+dwb3MlriJ2+xWyfd\n\tolFA40vsIjNyUmEWGbJcKnPclY2uU8sWrhrm8r5kOhR1Y4vy1XzlpdqPBXSCJirbCnMv\n\t39aA==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20130820;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id;\n\tbh=uPdbHE67m5r5SqkpSxzr+rfNQUHMr0fHHz+eZfvLDm0=;\n\tb=hA/RVdJUzPLCOs0huSs6V7lpCI7aV2ddMouiBOHC0BFsOL9lrTFT4jjHgzHq3S1aBX\n\tEB9pi88lth9wkPNCYgvuNj+DRAK/sWkzsXUogOBIAK81cjObLIDQXmjHbZUsV8zZJ4hH\n\tGwtB8gvXZAEGny05470gBm2oe07W2YXHGeCsrSBE0/wZ2XI5d8qlm5fy3DAAmOfaM517\n\tit7kRBamsVOKHVXqCDV+kAnsiF2mrt5Sny3rjoPv++XDO28dZLf/1dUPvjrNyJ2qYzmD\n\tWmkOKGoNSaD1WI5H2ISdhv+Wfe5xOFhNmBMDoU//KkO70oiJmYOl+LeWM1lf+ATmwIcn\n\tOAQg==",
        "X-Gm-Message-State": "AOPr4FW7hJ28lgcrSVU4lAsmjOPKSVfIw2PR1/PTR0mCfNReKzRBAzhWiqhGLnfFfUSKMmCO",
        "X-Received": "by 10.28.93.85 with SMTP id r82mr4094014wmb.77.1461074622274;\n\tTue, 19 Apr 2016 07:03:42 -0700 (PDT)",
        "From": "Thomas Monjalon <thomas.monjalon@6wind.com>",
        "To": "maryam.tahhan@intel.com,\n\tharry.van.haaren@intel.com",
        "Cc": "dev@dpdk.org",
        "Date": "Tue, 19 Apr 2016 16:03:33 +0200",
        "Message-Id": "<1461074613-32360-1-git-send-email-thomas.monjalon@6wind.com>",
        "X-Mailer": "git-send-email 2.7.0",
        "Subject": "[dpdk-dev] [PATCH] ethdev: remove deprecated statistics",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Some statistics were deprecated since release 2.1 (49f386542af4).\n\nThe last deprecated counter to be used was imcasts.\n\nThe new counters should be added to extended statistics.\n\nSigned-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>\n---\n doc/guides/rel_notes/deprecation.rst   |  4 ----\n doc/guides/rel_notes/release_16_07.rst |  6 +++++-\n drivers/net/bonding/rte_eth_bond_pmd.c |  1 -\n drivers/net/cxgbe/cxgbe_ethdev.c       |  1 -\n drivers/net/e1000/igb_ethdev.c         |  1 -\n drivers/net/ena/ena_ethdev.c           |  2 --\n drivers/net/ena/ena_ethdev.h           |  1 -\n drivers/net/enic/enic_main.c           |  1 -\n drivers/net/i40e/i40e_ethdev.c         |  1 -\n drivers/net/ixgbe/ixgbe_ethdev.c       |  4 ----\n drivers/net/nfp/nfp_net.c              | 18 ------------------\n drivers/net/vmxnet3/vmxnet3_ethdev.c   |  1 -\n lib/librte_ether/Makefile              |  2 +-\n lib/librte_ether/rte_ethdev.h          | 18 ------------------\n 14 files changed, 6 insertions(+), 55 deletions(-)",
    "diff": "diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst\nindex c78cde7..fffe9c7 100644\n--- a/doc/guides/rel_notes/deprecation.rst\n+++ b/doc/guides/rel_notes/deprecation.rst\n@@ -26,10 +26,6 @@ Deprecation Notices\n   rte_pci_device. The release 16.04 does not contain these ABI changes, but\n   release 16.07 will.\n \n-* The following fields have been deprecated in rte_eth_stats:\n-  ibadcrc, ibadlen, imcasts, fdirmatch, fdirmiss,\n-  tx_pause_xon, rx_pause_xon, tx_pause_xoff, rx_pause_xoff\n-\n * The xstats API and rte_eth_xstats struct will be changed to allow retrieval\n   of values without any string copies or parsing.\n   No backwards compatibility is planned, as it would require code duplication\ndiff --git a/doc/guides/rel_notes/release_16_07.rst b/doc/guides/rel_notes/release_16_07.rst\nindex 001888f..83c841b 100644\n--- a/doc/guides/rel_notes/release_16_07.rst\n+++ b/doc/guides/rel_notes/release_16_07.rst\n@@ -86,6 +86,10 @@ This section should contain API changes. Sample format:\n * Add a short 1-2 sentence description of the API change. Use fixed width\n   quotes for ``rte_function_names`` or ``rte_struct_names``. Use the past tense.\n \n+* The following counters are removed from ``rte_eth_stats`` structure:\n+  ibadcrc, ibadlen, imcasts, fdirmatch, fdirmiss,\n+  tx_pause_xon, rx_pause_xon, tx_pause_xoff, rx_pause_xoff.\n+\n \n ABI Changes\n -----------\n@@ -107,7 +111,7 @@ The libraries prepended with a plus sign were incremented in this version.\n \n .. code-block:: diff\n \n-     libethdev.so.3\n+   + libethdev.so.4\n      librte_acl.so.2\n      librte_cfgfile.so.2\n      librte_cmdline.so.2\ndiff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c\nindex 54788cf..c897146 100644\n--- a/drivers/net/bonding/rte_eth_bond_pmd.c\n+++ b/drivers/net/bonding/rte_eth_bond_pmd.c\n@@ -1836,7 +1836,6 @@ bond_ethdev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)\n \t\tstats->imissed += slave_stats.imissed;\n \t\tstats->ierrors += slave_stats.ierrors;\n \t\tstats->oerrors += slave_stats.oerrors;\n-\t\tstats->imcasts += slave_stats.imcasts;\n \t\tstats->rx_nombuf += slave_stats.rx_nombuf;\n \n \t\tfor (j = 0; j < RTE_ETHDEV_QUEUE_STAT_CNTRS; j++) {\ndiff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c\nindex bb134e5..04eddaf 100644\n--- a/drivers/net/cxgbe/cxgbe_ethdev.c\n+++ b/drivers/net/cxgbe/cxgbe_ethdev.c\n@@ -656,7 +656,6 @@ static void cxgbe_dev_stats_get(struct rte_eth_dev *eth_dev,\n \t/* RX Stats */\n \teth_stats->ipackets = ps.rx_frames;\n \teth_stats->ibytes   = ps.rx_octets;\n-\teth_stats->imcasts  = ps.rx_mcast_frames;\n \teth_stats->imissed  = ps.rx_ovflow0 + ps.rx_ovflow1 +\n \t\t\t      ps.rx_ovflow2 + ps.rx_ovflow3 +\n \t\t\t      ps.rx_trunc0 + ps.rx_trunc1 +\ndiff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c\nindex e0053fe..e7682da 100644\n--- a/drivers/net/e1000/igb_ethdev.c\n+++ b/drivers/net/e1000/igb_ethdev.c\n@@ -1805,7 +1805,6 @@ eth_igbvf_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *rte_stats)\n \trte_stats->ibytes = hw_stats->gorc;\n \trte_stats->opackets = hw_stats->gptc;\n \trte_stats->obytes = hw_stats->gotc;\n-\trte_stats->imcasts = hw_stats->mprc;\n \trte_stats->ilbpackets = hw_stats->gprlbc;\n \trte_stats->ilbbytes = hw_stats->gorlbc;\n \trte_stats->olbpackets = hw_stats->gptlbc;\ndiff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c\nindex 02af67a..e157587 100644\n--- a/drivers/net/ena/ena_ethdev.c\n+++ b/drivers/net/ena/ena_ethdev.c\n@@ -605,7 +605,6 @@ static void ena_stats_restart(struct rte_eth_dev *dev)\n \n \trte_atomic64_init(&adapter->drv_stats->ierrors);\n \trte_atomic64_init(&adapter->drv_stats->oerrors);\n-\trte_atomic64_init(&adapter->drv_stats->imcasts);\n \trte_atomic64_init(&adapter->drv_stats->rx_nombuf);\n }\n \n@@ -643,7 +642,6 @@ static void ena_stats_get(struct rte_eth_dev *dev,\n \t/* Driver related stats */\n \tstats->ierrors = rte_atomic64_read(&adapter->drv_stats->ierrors);\n \tstats->oerrors = rte_atomic64_read(&adapter->drv_stats->oerrors);\n-\tstats->imcasts = rte_atomic64_read(&adapter->drv_stats->imcasts);\n \tstats->rx_nombuf = rte_atomic64_read(&adapter->drv_stats->rx_nombuf);\n }\n \ndiff --git a/drivers/net/ena/ena_ethdev.h b/drivers/net/ena/ena_ethdev.h\nindex ba6f01e..aca853c 100644\n--- a/drivers/net/ena/ena_ethdev.h\n+++ b/drivers/net/ena/ena_ethdev.h\n@@ -121,7 +121,6 @@ enum ena_adapter_state {\n struct ena_driver_stats {\n \trte_atomic64_t ierrors;\n \trte_atomic64_t oerrors;\n-\trte_atomic64_t imcasts;\n \trte_atomic64_t rx_nombuf;\n };\n \ndiff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c\nindex e3da51d..60fe765 100644\n--- a/drivers/net/enic/enic_main.c\n+++ b/drivers/net/enic/enic_main.c\n@@ -248,7 +248,6 @@ void enic_dev_stats_get(struct enic *enic, struct rte_eth_stats *r_stats)\n \n \tr_stats->imissed = stats->rx.rx_drop;\n \n-\tr_stats->imcasts = stats->rx.rx_multicast_frames_ok;\n \tr_stats->rx_nombuf = stats->rx.rx_no_bufs;\n }\n \ndiff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c\nindex bc28d3c..d8b6bd7 100644\n--- a/drivers/net/i40e/i40e_ethdev.c\n+++ b/drivers/net/i40e/i40e_ethdev.c\n@@ -2099,7 +2099,6 @@ i40e_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)\n \tstats->obytes   = ns->eth.tx_bytes;\n \tstats->oerrors  = ns->eth.tx_errors +\n \t\t\tpf->main_vsi->eth_stats.tx_errors;\n-\tstats->imcasts  = pf->main_vsi->eth_stats.rx_multicast;\n \n \t/* Rx Errors */\n \tstats->imissed  = ns->eth.rx_discards +\ndiff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c\nindex 3f1ebc1..eec607c 100644\n--- a/drivers/net/ixgbe/ixgbe_ethdev.c\n+++ b/drivers/net/ixgbe/ixgbe_ethdev.c\n@@ -2852,8 +2852,6 @@ ixgbevf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)\n \tstats->ibytes = hw_stats->vfgorc;\n \tstats->opackets = hw_stats->vfgptc;\n \tstats->obytes = hw_stats->vfgotc;\n-\tstats->imcasts = hw_stats->vfmprc;\n-\t/* stats->imcasts should be removed as imcasts is deprecated */\n }\n \n static void\n@@ -2870,8 +2868,6 @@ ixgbevf_dev_stats_reset(struct rte_eth_dev *dev)\n \thw_stats->vfgorc = 0;\n \thw_stats->vfgptc = 0;\n \thw_stats->vfgotc = 0;\n-\thw_stats->vfmprc = 0;\n-\n }\n \n static void\ndiff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c\nindex bcf5fa9..bc0a3d8 100644\n--- a/drivers/net/nfp/nfp_net.c\n+++ b/drivers/net/nfp/nfp_net.c\n@@ -902,11 +902,6 @@ nfp_net_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)\n \n \tnfp_dev_stats.obytes -= hw->eth_stats_base.obytes;\n \n-\tnfp_dev_stats.imcasts =\n-\t\tnn_cfg_readq(hw, NFP_NET_CFG_STATS_RX_MC_FRAMES);\n-\n-\tnfp_dev_stats.imcasts -= hw->eth_stats_base.imcasts;\n-\n \t/* reading general device stats */\n \tnfp_dev_stats.ierrors =\n \t\tnn_cfg_readq(hw, NFP_NET_CFG_STATS_RX_ERRORS);\n@@ -918,12 +913,6 @@ nfp_net_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)\n \n \tnfp_dev_stats.oerrors -= hw->eth_stats_base.oerrors;\n \n-\t/* Multicast frames received */\n-\tnfp_dev_stats.imcasts =\n-\t\tnn_cfg_readq(hw, NFP_NET_CFG_STATS_RX_MC_FRAMES);\n-\n-\tnfp_dev_stats.imcasts -= hw->eth_stats_base.imcasts;\n-\n \t/* RX ring mbuf allocation failures */\n \tnfp_dev_stats.rx_nombuf = dev->data->rx_mbuf_alloc_failed;\n \n@@ -985,9 +974,6 @@ nfp_net_stats_reset(struct rte_eth_dev *dev)\n \thw->eth_stats_base.obytes =\n \t\tnn_cfg_readq(hw, NFP_NET_CFG_STATS_TX_OCTETS);\n \n-\thw->eth_stats_base.imcasts =\n-\t\tnn_cfg_readq(hw, NFP_NET_CFG_STATS_RX_MC_FRAMES);\n-\n \t/* reading general device stats */\n \thw->eth_stats_base.ierrors =\n \t\tnn_cfg_readq(hw, NFP_NET_CFG_STATS_RX_ERRORS);\n@@ -995,10 +981,6 @@ nfp_net_stats_reset(struct rte_eth_dev *dev)\n \thw->eth_stats_base.oerrors =\n \t\tnn_cfg_readq(hw, NFP_NET_CFG_STATS_TX_ERRORS);\n \n-\t/* Multicast frames received */\n-\thw->eth_stats_base.imcasts =\n-\t\tnn_cfg_readq(hw, NFP_NET_CFG_STATS_RX_MC_FRAMES);\n-\n \t/* RX ring mbuf allocation failures */\n \tdev->data->rx_mbuf_alloc_failed = 0;\n \ndiff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c\nindex bd7a2bb..29b469c 100644\n--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c\n+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c\n@@ -694,7 +694,6 @@ vmxnet3_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)\n \n \t\tstats->q_errors[i] = rxStats->pktsRxError;\n \t\tstats->ierrors += rxStats->pktsRxError;\n-\t\tstats->imcasts += rxStats->mcastPktsRxOK;\n \t\tstats->rx_nombuf += rxStats->pktsRxOutOfBuf;\n \t}\n }\ndiff --git a/lib/librte_ether/Makefile b/lib/librte_ether/Makefile\nindex e810284..0bb5dc9 100644\n--- a/lib/librte_ether/Makefile\n+++ b/lib/librte_ether/Makefile\n@@ -41,7 +41,7 @@ CFLAGS += $(WERROR_FLAGS)\n \n EXPORT_MAP := rte_ether_version.map\n \n-LIBABIVER := 3\n+LIBABIVER := 4\n \n SRCS-y += rte_ethdev.c\n \ndiff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h\nindex 022733e..d749980 100644\n--- a/lib/librte_ether/rte_ethdev.h\n+++ b/lib/librte_ether/rte_ethdev.h\n@@ -200,27 +200,9 @@ struct rte_eth_stats {\n \t/**< Total of RX packets dropped by the HW,\n \t * because there are no available mbufs (i.e. RX queues are full).\n \t */\n-\tuint64_t ibadcrc __rte_deprecated;\n-\t/**< Deprecated; Total of RX packets with CRC error. */\n-\tuint64_t ibadlen __rte_deprecated;\n-\t/**< Deprecated; Total of RX packets with bad length. */\n \tuint64_t ierrors;   /**< Total number of erroneous received packets. */\n \tuint64_t oerrors;   /**< Total number of failed transmitted packets. */\n-\tuint64_t imcasts;\n-\t/**< Deprecated; Total number of multicast received packets. */\n \tuint64_t rx_nombuf; /**< Total number of RX mbuf allocation failures. */\n-\tuint64_t fdirmatch __rte_deprecated;\n-\t/**< Deprecated; Total number of RX packets matching a filter. */\n-\tuint64_t fdirmiss __rte_deprecated;\n-\t/**< Deprecated; Total number of RX packets not matching any filter. */\n-\tuint64_t tx_pause_xon __rte_deprecated;\n-\t /**< Deprecated; Total nb. of XON pause frame sent. */\n-\tuint64_t rx_pause_xon __rte_deprecated;\n-\t/**< Deprecated; Total nb. of XON pause frame received. */\n-\tuint64_t tx_pause_xoff __rte_deprecated;\n-\t/**< Deprecated; Total nb. of XOFF pause frame sent. */\n-\tuint64_t rx_pause_xoff __rte_deprecated;\n-\t/**< Deprecated; Total nb. of XOFF pause frame received. */\n \tuint64_t q_ipackets[RTE_ETHDEV_QUEUE_STAT_CNTRS];\n \t/**< Total number of queue RX packets. */\n \tuint64_t q_opackets[RTE_ETHDEV_QUEUE_STAT_CNTRS];\n",
    "prefixes": [
        "dpdk-dev"
    ]
}