From patchwork Fri Dec 4 20:27:45 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ed Czeck X-Patchwork-Id: 84767 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id C6F28A09E3; Fri, 4 Dec 2020 21:27:58 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1E89C34F3; Fri, 4 Dec 2020 21:27:57 +0100 (CET) Received: from mail-qv1-f68.google.com (mail-qv1-f68.google.com [209.85.219.68]) by dpdk.org (Postfix) with ESMTP id 764DD322C for ; Fri, 4 Dec 2020 21:27:55 +0100 (CET) Received: by mail-qv1-f68.google.com with SMTP id n9so3434524qvp.5 for ; Fri, 04 Dec 2020 12:27:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=atomicrules-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=DjVxqXv360z9zH+h1/JegBcs3DDqSUj7cevF4l3NDxs=; b=XRzaXpwOI2HFPq8ZCHpTKxFF3PbJc7N6vEOO65yMzvhbzlbf1a8kYSjWgndmY8CysO 73pmkY0bn2ErUVjsd8DvUvtzSwoxsYnQThz28ngly/1rhQS+E1q+6ZhgeNuh9ZdVhjl/ KDDVclGGubREmcz/Z6bBqRQbTNH4VDWEVxr02pyfRBhS5OH7OkK5GjJlTih1pxQ+7Y6x 9pMDnMS0vjZTcbHDInLcp/FuV0jWVmvT5F45X0DjcYRYT8t0lc258MacJLgN/yurb22e iQ2Vfw23eodUnoTvSs1R+L/1B54Orr4Es6hs4X1hT9aIQtoRQ6/1FZpH1sdlTTm1LwcJ kUyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=DjVxqXv360z9zH+h1/JegBcs3DDqSUj7cevF4l3NDxs=; b=IDNhqd2nFirBBty+HJKn6ZfSmEJoQURZ6Me8q5zttoe75PDqsmRXMvr/r1AfREIpT7 J8SSubR4nvb0fSadnspad5bbsfW8d/q87nOQZW5NIZ7kUrFDXw5W6fZqcDmXV3zJo2gS TB2u71BoMsdcEtC3b8I6vNrMWmZ1yEyd/yc116wUrgrgT/VhxSwVkqrR7rk7T5NO/4bD iVKu+68z+Vk4KOkkwWwU00oQOxlYvsiVwsn9++9tez9qt7KVAx1qMKFZ6IXNirRuB5m7 q1blMF1+tLSsW4avics7g62LDkavusve+e7S5lwhfowDP+F5I3JrXsuS+veBtjRiO2bO UQjw== X-Gm-Message-State: AOAM530sc5QFn9ItV2l3N/8qx5lm9pDJdvNgPS8LHhucrVVa5obZRrQD s1146dXvCMOaoz3tXnljMdYCXLSNpJcjTA== X-Google-Smtp-Source: ABdhPJxDm6I7vTxoyuFZEKzD2T+KUEBYMgP2jRqSSF/fPocaph18PB0KeBRGjKyw2I4+WVRmtTNxwQ== X-Received: by 2002:a05:6214:6a2:: with SMTP id s2mr7607697qvz.58.1607113673559; Fri, 04 Dec 2020 12:27:53 -0800 (PST) Received: from z170.czeck.local (pool-72-74-133-40.bstnma.fios.verizon.net. [72.74.133.40]) by smtp.gmail.com with ESMTPSA id l79sm6261682qke.1.2020.12.04.12.27.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Dec 2020 12:27:52 -0800 (PST) From: Ed Czeck To: dev@dpdk.org, ferruh.yigit@intel.com Cc: thomas@monjalon.net, shepard.siegel@atomicrules.com, john.miller@atomicrules.com, Ed Czeck Date: Fri, 4 Dec 2020 15:27:45 -0500 Message-Id: <20201204202745.24675-1-ed.czeck@atomicrules.com> X-Mailer: git-send-email 2.17.1 Subject: [dpdk-dev] [PATCH] net/ark: export ark timestamp dynfield offset X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Access to mbuf dynfields in application code requires variable export through header and dynamic library. Fixes: a926951a606f ("net/ark: switch Rx timestamp to dynamic mbuf field") Cc: thomas@monjalon.net Signed-off-by: Ed Czeck --- drivers/net/ark/ark_ethdev.c | 8 ++++---- drivers/net/ark/ark_ethdev_rx.c | 7 ++++--- drivers/net/ark/ark_ethdev_rx.h | 3 --- drivers/net/ark/rte_pmd_ark.h | 6 +++++- drivers/net/ark/version.map | 2 ++ 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/drivers/net/ark/ark_ethdev.c b/drivers/net/ark/ark_ethdev.c index a65899351..661fca777 100644 --- a/drivers/net/ark/ark_ethdev.c +++ b/drivers/net/ark/ark_ethdev.c @@ -79,8 +79,8 @@ static int eth_ark_set_mtu(struct rte_eth_dev *dev, uint16_t size); #define ARK_TX_MAX_QUEUE (4096 * 4) #define ARK_TX_MIN_QUEUE (256) -uint64_t ark_timestamp_rx_dynflag; -int ark_timestamp_dynfield_offset = -1; +uint64_t rte_pmd_ark_timestamp_rx_dynflag; +int rte_pmd_ark_timestamp_dynfield_offset = -1; int rte_pmd_ark_rx_userdata_dynfield_offset = -1; int rte_pmd_ark_tx_userdata_dynfield_offset = -1; @@ -559,8 +559,8 @@ eth_ark_dev_configure(struct rte_eth_dev *dev) if (dev->data->dev_conf.rxmode.offloads & DEV_RX_OFFLOAD_TIMESTAMP) { ret = rte_mbuf_dyn_rx_timestamp_register( - &ark_timestamp_dynfield_offset, - &ark_timestamp_rx_dynflag); + &rte_pmd_ark_timestamp_dynfield_offset, + &rte_pmd_ark_timestamp_rx_dynflag); if (ret != 0) { ARK_PMD_LOG(ERR, "Failed to register Rx timestamp field/flag\n"); diff --git a/drivers/net/ark/ark_ethdev_rx.c b/drivers/net/ark/ark_ethdev_rx.c index d29d3db78..2021e33d0 100644 --- a/drivers/net/ark/ark_ethdev_rx.c +++ b/drivers/net/ark/ark_ethdev_rx.c @@ -273,10 +273,11 @@ eth_ark_recv_pkts(void *rx_queue, mbuf->pkt_len = meta->pkt_len; mbuf->data_len = meta->pkt_len; /* set timestamp if enabled at least on one device */ - if (ark_timestamp_rx_dynflag > 0) { - *RTE_MBUF_DYNFIELD(mbuf, ark_timestamp_dynfield_offset, + if (rte_pmd_ark_timestamp_rx_dynflag > 0) { + *RTE_MBUF_DYNFIELD(mbuf, + rte_pmd_ark_timestamp_dynfield_offset, rte_mbuf_timestamp_t *) = meta->timestamp; - mbuf->ol_flags |= ark_timestamp_rx_dynflag; + mbuf->ol_flags |= rte_pmd_ark_timestamp_rx_dynflag; } rte_pmd_ark_mbuf_rx_userdata_set(mbuf, meta->user_data); diff --git a/drivers/net/ark/ark_ethdev_rx.h b/drivers/net/ark/ark_ethdev_rx.h index 001fa9bdf..00687a711 100644 --- a/drivers/net/ark/ark_ethdev_rx.h +++ b/drivers/net/ark/ark_ethdev_rx.h @@ -11,9 +11,6 @@ #include #include -extern uint64_t ark_timestamp_rx_dynflag; -extern int ark_timestamp_dynfield_offset; - int eth_ark_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx, uint16_t nb_desc, diff --git a/drivers/net/ark/rte_pmd_ark.h b/drivers/net/ark/rte_pmd_ark.h index 6f26d66b1..55be29fc5 100644 --- a/drivers/net/ark/rte_pmd_ark.h +++ b/drivers/net/ark/rte_pmd_ark.h @@ -27,6 +27,9 @@ typedef uint64_t rte_pmd_ark_rx_userdata_t; extern int rte_pmd_ark_tx_userdata_dynfield_offset; extern int rte_pmd_ark_rx_userdata_dynfield_offset; +extern int rte_pmd_ark_timestamp_dynfield_offset; +extern uint64_t rte_pmd_ark_timestamp_rx_dynflag; + /** mbuf dynamic field for custom Tx ARK data */ #define RTE_PMD_ARK_TX_USERDATA_DYNFIELD_NAME "rte_net_ark_dynfield_tx_userdata" /** mbuf dynamic field for custom Rx ARK data */ @@ -46,7 +49,8 @@ static inline rte_pmd_ark_tx_userdata_t rte_pmd_ark_mbuf_tx_userdata_get(const struct rte_mbuf *mbuf) { #if RTE_PMD_ARK_TX_USERDATA_ENABLE - return *RTE_MBUF_DYNFIELD(mbuf, rte_pmd_ark_tx_userdata_dynfield_offset, + return *RTE_MBUF_DYNFIELD(mbuf, + rte_pmd_ark_tx_userdata_dynfield_offset, rte_pmd_ark_tx_userdata_t *); #else RTE_SET_USED(mbuf); diff --git a/drivers/net/ark/version.map b/drivers/net/ark/version.map index 954bea679..8da6771d0 100644 --- a/drivers/net/ark/version.map +++ b/drivers/net/ark/version.map @@ -7,4 +7,6 @@ EXPERIMENTAL { rte_pmd_ark_tx_userdata_dynfield_offset; rte_pmd_ark_rx_userdata_dynfield_offset; + rte_pmd_ark_timestamp_dynfield_offset; + rte_pmd_ark_timestamp_rx_dynflag; };