From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0078.outbound.protection.outlook.com [104.47.2.78]) by dpdk.org (Postfix) with ESMTP id 98E541B3E4 for ; Wed, 4 Oct 2017 07:57:04 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=4+G2yGIk/BNg+1PEBqbQgQOnboruw1S3W4p3/GW1M/Q=; b=CIRBGEzkxTlJaSlJ7ENDDGM7wR9PkCu4mGJfyZJ8jLW3obSINw9X7raM/mEwABmCXg6/GCwREhC+PFYiOEOINVGtDt8B/S4MpPSD4OtkfrlSYStg+npRLVynhjw+g4C7PawNCytPpq3vVp+mHIHjQzGlbojQ+OmAv5YUkqDtsFc= Received: from VI1PR05MB3149.eurprd05.prod.outlook.com (10.170.237.142) by VI1PR05MB1229.eurprd05.prod.outlook.com (10.162.15.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Wed, 4 Oct 2017 05:57:01 +0000 Received: from VI1PR05MB3149.eurprd05.prod.outlook.com ([fe80::3c3c:8f27:30a1:cd59]) by VI1PR05MB3149.eurprd05.prod.outlook.com ([fe80::3c3c:8f27:30a1:cd59%13]) with mapi id 15.20.0077.018; Wed, 4 Oct 2017 05:57:00 +0000 From: Shahaf Shuler To: Raslan Darawsheh , "dev@dpdk.org" CC: Yongseok Koh , "ferruh.yigit@intel.com" Thread-Topic: [PATCH v6 1/3] ethdev: add Rx HW timestamp capability Thread-Index: AQHTPDbbmeH4z0445Uq0ZDAFGPG0VaLTMgZA Date: Wed, 4 Oct 2017 05:57:00 +0000 Message-ID: References: <1506617303-32509-1-git-send-email-rasland@mellanox.com> <1507028429-23944-1-git-send-email-rasland@mellanox.com> In-Reply-To: <1507028429-23944-1-git-send-email-rasland@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=shahafs@mellanox.com; x-originating-ip: [31.154.10.107] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR05MB1229; 6:670aMt1XvLcMfPf19Nc0siKaUA1T2Qn9gtp9BgF3/nJ9//TfpOw5cS47yiKpew7TGXm2akKM37YgsbFo4GfH894y5uX3utSfLJFU9N9EAXhGM658e4g9kB3lfNrBSObg7OeJavyXYddwkGXyur/6f0WHX5byRM7wh53k9V8eh+5qmTalnNpA5ne5H19rY5DS+17Fj7LHfWl7CbkJvQTTi6hLfnY4WhWSNiv4xx3CHZImV/VqLDRpPpD6ojCA3aAqj3qktVsNHifchWWeKZ0bT57o0QbpMSGl77NXDERIDATPh63J172bdOiwm3jvyx6AtkpR6h4zTkw3mvpp3DsZ6g==; 5:GBgVPSfQE7W2lfzURob1fKleN2IhPI5AxEK75UUPU7td90zi/iv621er4lfHMojNgHP4hxVOiA92UbQNWXB25nQKaRMwvhU14SwL0fjTE2a/5mRzs+irmOvBbejXctXy3UURGX+qTfUCsD7of0urag==; 24:cVqwDIw8DnnMOWApXagdyrgKz5SwUlp0xUHvkHaHQziJGVsGnzrVDGwb3GFuZynzoBHTwH9jeVFAF5UptRYcp0ZbzRZFeEuhbTIDmslJzfo=; 7:ivTXrdCtNW70+GzRlAY7naEtcZQUD9y+5FwLnDtSc9bHhkZfU9+nNKkvey//I2gTBHmSxRqOCXM8p9Bu0TKpA2i4vqf6967mYIYlzvYyInD3Bua8FU58fD3lukI3REQYovNsPM7VCaOoPkYxCnCRC6xegx3l3eEp4H8zNIs5WqDf2J36mjyMBUxWoS5xGpXaaAcayMiH6W/t1V2FXKuU48DoKyLkMsX3de3t11TtM60= x-ms-exchange-antispam-srfa-diagnostics: SSOS;SSOR; x-ms-office365-filtering-correlation-id: c0146e3d-9331-4a65-ca9d-08d50aecbae6 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:VI1PR05MB1229; x-ms-traffictypediagnostic: VI1PR05MB1229: x-exchange-antispam-report-test: UriScan:; x-microsoft-antispam-prvs: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(100000703101)(100105400095)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041248)(20161123555025)(20161123564025)(20161123558100)(20161123562025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:VI1PR05MB1229; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:VI1PR05MB1229; x-forefront-prvs: 0450A714CB x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(346002)(376002)(39860400002)(199003)(189002)(377454003)(76176999)(189998001)(229853002)(6436002)(2900100001)(5250100002)(101416001)(50986999)(4326008)(5660300001)(14454004)(478600001)(53936002)(3846002)(966005)(2501003)(54356999)(6306002)(99286003)(55016002)(9686003)(6506006)(7696004)(102836003)(6116002)(6246003)(2950100002)(54906003)(53376002)(68736007)(305945005)(316002)(33656002)(3660700001)(8936002)(86362001)(8676002)(105586002)(2906002)(81156014)(66066001)(81166006)(110136005)(25786009)(106356001)(97736004)(74316002)(575784001)(7736002)(3280700002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB1229; H:VI1PR05MB3149.eurprd05.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Oct 2017 05:57:00.5321 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB1229 Subject: Re: [dpdk-dev] [PATCH v6 1/3] ethdev: add Rx HW timestamp capability 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: , X-List-Received-Date: Wed, 04 Oct 2017 05:57:04 -0000 Hi Raslan, Tuesday, October 3, 2017 2:00 PM, Raslan Darawsheh > Add a new offload capability flag for Rx HW timestamp and enabling/disabl= ing > this via rte_eth_rxmode. >=20 > Signed-off-by: Raslan Darawsheh > --- > This patch should be applied after after this series: > http://dpdk.org/dev/patchwork/patch/29368/ >=20 > Changes in v6: > - Rebased properly on top of the mentioned patch series. > - Documentation update > --- > doc/guides/nics/features.rst | 11 +++++++++++ > lib/librte_ether/rte_ethdev.c | 6 ++++++ lib/librte_ether/rte_ethdev.h = | 2 > ++ > 3 files changed, 19 insertions(+) >=20 > diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst = index > 4e68144..e03e6d6 100644 > --- a/doc/guides/nics/features.rst > +++ b/doc/guides/nics/features.rst > @@ -567,6 +567,17 @@ Supports L4 checksum offload. > * **[provides] rte_eth_dev_info**: > ``rx_offload_capa,rx_queue_offload_capa:DEV_RX_OFFLOAD_UDP_CKSUM > ,DEV_RX_OFFLOAD_TCP_CKSUM``, >=20 > ``tx_offload_capa:DEV_TX_OFFLOAD_UDP_CKSUM,DEV_TX_OFFLOAD_TCP > _CKSUM,DEV_TX_OFFLOAD_SCTP_CKSUM``. >=20 > +.. _nic_features_hw_timestamp: > + > +Timestamp offload > +----------------- > + > +Supports Timestamp. > + > +* **[uses] rte_eth_rxconf,rte_eth_rxmode**: > ``offloads:DEV_RX_OFFLOAD_TIMESTAMP``. > +* **[provides] mbuf**: ``mbuf.ol_flags:PKT_RX_TIMESTAMP``. > +* **[provides] mbuf**: ``mbuf.timestamp``. > +* **[provides] rte_eth_dev_info**: > ``rx_offload_capa:DEV_RX_OFFLOAD_TIMESTAMP``. The capability can be reported on both rx_offload_capa and rx_queue_offload= _capa. Better to have it: rx_offload_capa,rx_queue_offload_capa: DEV_RX_OFFLOAD_TIMESTAMP. >=20 > .. _nic_features_macsec_offload: >=20 > diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.= c > index 9b73d23..c5c5164 100644 > --- a/lib/librte_ether/rte_ethdev.c > +++ b/lib/librte_ether/rte_ethdev.c > @@ -715,6 +715,8 @@ rte_eth_convert_rx_offload_bitfield(const struct > rte_eth_rxmode *rxmode, > offloads |=3D DEV_RX_OFFLOAD_SCATTER; > if (rxmode->enable_lro =3D=3D 1) > offloads |=3D DEV_RX_OFFLOAD_TCP_LRO; > + if (rxmode->hw_timestamp =3D=3D 1) > + offloads |=3D DEV_RX_OFFLOAD_TIMESTAMP; >=20 > *rx_offloads =3D offloads; > } > @@ -763,6 +765,10 @@ rte_eth_convert_rx_offloads(const uint64_t > rx_offloads, > rxmode->enable_lro =3D 1; > else > rxmode->enable_lro =3D 0; > + if (rx_offloads & DEV_RX_OFFLOAD_TIMESTAMP) > + rxmode->hw_timestamp =3D 1; > + else > + rxmode->hw_timestamp =3D 0; > } >=20 > int > diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.= h > index e02d578..8bb9a6a 100644 > --- a/lib/librte_ether/rte_ethdev.h > +++ b/lib/librte_ether/rte_ethdev.h > @@ -369,6 +369,7 @@ struct rte_eth_rxmode { > hw_strip_crc : 1, /**< Enable CRC stripping by hardware. */ > enable_scatter : 1, /**< Enable scatter packets rx handler */ > enable_lro : 1, /**< Enable LRO */ > + hw_timestamp : 1, /**< Enable HW timestamp */ > /** > * When set the offload bitfield should be ignored. > * Instead per-port Rx offloads should be set on offloads @@ > -940,6 +941,7 @@ struct rte_eth_conf { > #define DEV_RX_OFFLOAD_JUMBO_FRAME 0x00000800 > #define DEV_RX_OFFLOAD_CRC_STRIP 0x00001000 > #define DEV_RX_OFFLOAD_SCATTER 0x00002000 > +#define DEV_RX_OFFLOAD_TIMESTAMP 0x00004000 > #define DEV_RX_OFFLOAD_CHECKSUM (DEV_RX_OFFLOAD_IPV4_CKSUM | > \ > DEV_RX_OFFLOAD_UDP_CKSUM | \ > DEV_RX_OFFLOAD_TCP_CKSUM) > -- > 2.7.4 Otherwise, Reviewed-By: Shahaf Shuler