From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 51D134256B for ; Mon, 11 Sep 2023 09:09:59 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BF3D7402DD; Mon, 11 Sep 2023 09:09:58 +0200 (CEST) Received: from faui40.informatik.uni-erlangen.de (faui40.informatik.uni-erlangen.de [131.188.34.40]) by mails.dpdk.org (Postfix) with ESMTP id 58354402DA for ; Mon, 11 Sep 2023 09:09:57 +0200 (CEST) Received: from [IPV6:2001:240:1bc:8002::1:1573] (unknown [IPv6:2001:240:1bc:8002::1:1573]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: vogel) by faui40.informatik.uni-erlangen.de (Postfix) with ESMTPSA id 4RkdBp0nzHznkSY for ; Mon, 11 Sep 2023 09:09:53 +0200 (CEST) Message-ID: Date: Mon, 11 Sep 2023 16:09:49 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.0 Content-Language: en-US To: users@dpdk.org From: Arne Vogel Subject: Hardware Timestamping Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-512; boundary="------------ms070603000006010508040704" X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org This is a cryptographically signed message in MIME format. --------------ms070603000006010508040704 Content-Type: multipart/alternative; boundary="------------8ZbmwGyxUCqZoMIIhjVuPzNw" --------------8ZbmwGyxUCqZoMIIhjVuPzNw Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, I am looking into getting the hardware timestamp of when a packet is received by the NIC inside of my DPDK program. In a regular program I can get the timestamp the packet is received by the NIC and the kernel using SO_TIMESTAMPING [0]. Is there a way to get this timestamp in dpdk? What I found when looking for this, it looks like `mbuf->timestamp` was deprecated [1] and was replaced in this [2] example by `rte_mbuf_timestamp_t` (in hwts_field). When looking at the values I get from `hwts_field` it cycles around 50244192 though, going up _and_ down? Looking at the output I am unsure what is actually being measured by the rxtx_callback example. With a hardware freq. of 156024300 and about 40 cycles the latency is about 262ns. But what is this latency? From the time the packet is received by the NIC to the first time dpdk interacts with it? Or when I get the packet in my dpdk program? Thanks Arne [0] https://docs.kernel.org/networking/timestamping.html [1] https://github.com/DPDK/dpdk/commit/c7e857e16fda217cb9fd3644b66abe19daa3afb3 [2] https://github.com/DPDK/dpdk/commit/13ad83f18aaab6e0b5ddf18b3be829254a36eb00#diff-066094c5e52eeca7b5bbcc3f60cea0c8da30bf39bf039bcd809968fe3aeb9dc1L79-R89 [1] https://github.com/DPDK/dpdk/blob/main/examples/rxtx_callbacks/main.c#L101 --------------8ZbmwGyxUCqZoMIIhjVuPzNw Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Hi,

I am looking into getting the hardware timestamp of when a packet is received by the NIC inside of my DPDK program. In a regular program I can get the timestamp the packet is received by the NIC and the kernel using SO_TIMESTAMPING [0]. Is there a way to get this timestamp in dpdk?

What I found when looking for this, it looks like `mbuf->timestamp` was deprecated [1] and was replaced in this [2] example by `rte_mbuf_timestamp_t` (in hwts_field). When looking at the values I get from `hwts_field` it cycles around 50244192 though, going up _and_ down?

Looking at the output I am unsure what is actually being measured by the rxtx_callback example. With a hardware freq. of 156024300 and about 40 cycles the latency is about 262ns. But what is this latency? From the time the packet is received by the NIC to the first time dpdk interacts with it? Or when I get the packet in my dpdk program?

Thanks

Arne

[0] https://docs.kernel.org/networking/timestamping.html

[1] https://github.com/DPDK/dpdk/commit/c7e857e16fda217cb9fd3644b66abe19daa3afb3

[2] https://github.com/DPDK/dpdk/commit/13ad83f18aaab6e0b5ddf18b3be829254a36eb00#diff-066094c5e52eeca7b5bbcc3f60cea0c8da30bf39bf039bcd809968fe3aeb9dc1L79-R89

[1] https://github.com/DPDK/dpdk/blob/main/examples/rxtx_callbacks/main.c#L101

--------------8ZbmwGyxUCqZoMIIhjVuPzNw-- --------------ms070603000006010508040704 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG9w0BBwEAAKCC EcwwggUSMIID+qADAgECAgkA4wvV+K8l2YEwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNVBAYT AkRFMSswKQYDVQQKDCJULVN5c3RlbXMgRW50ZXJwcmlzZSBTZXJ2aWNlcyBHbWJIMR8wHQYD VQQLDBZULVN5c3RlbXMgVHJ1c3QgQ2VudGVyMSUwIwYDVQQDDBxULVRlbGVTZWMgR2xvYmFs Um9vdCBDbGFzcyAyMB4XDTE2MDIyMjEzMzgyMloXDTMxMDIyMjIzNTk1OVowgZUxCzAJBgNV BAYTAkRFMUUwQwYDVQQKEzxWZXJlaW4genVyIEZvZXJkZXJ1bmcgZWluZXMgRGV1dHNjaGVu IEZvcnNjaHVuZ3NuZXR6ZXMgZS4gVi4xEDAOBgNVBAsTB0RGTi1QS0kxLTArBgNVBAMTJERG Ti1WZXJlaW4gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCASIwDQYJKoZIhvcNAQEBBQAD ggEPADCCAQoCggEBAMtg1/9moUHN0vqHl4pzq5lN6mc5WqFggEcVToyVsuXPztNXS43O+FZs FVV2B+pG/cgDRWM+cNSrVICxI5y+NyipCf8FXRgPxJiZN7Mg9mZ4F4fCnQ7MSjLnFp2uDo0p eQcAIFTcFV9Kltd4tjTTwXS1nem/wHdN6r1ZB+BaL2w8pQDcNb1lDY9/Mm3yWmpLYgHurDg0 WUU2SQXaeMpqbVvAgWsRzNI8qIv4cRrKO+KA3Ra0Z3qLNupOkSk9s1FcragMvp0049ENF4N1 xDkesJQLEvHVaY4l9Lg9K7/AjsMeO6W/VRCrKq4Xl14zzsjz9AkH4wKGMUZrAcUQDBHHWekC AwEAAaOCAXQwggFwMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUk+PYMiba1fFKpZFK4OpL 4qIMz+EwHwYDVR0jBBgwFoAUv1kgNgB5oKAia4zV8mHSuCzLgkowEgYDVR0TAQH/BAgwBgEB /wIBAjAzBgNVHSAELDAqMA8GDSsGAQQBga0hgiwBAQQwDQYLKwYBBAGBrSGCLB4wCAYGZ4EM AQICMEwGA1UdHwRFMEMwQaA/oD2GO2h0dHA6Ly9wa2kwMzM2LnRlbGVzZWMuZGUvcmwvVGVs ZVNlY19HbG9iYWxSb290X0NsYXNzXzIuY3JsMIGGBggrBgEFBQcBAQR6MHgwLAYIKwYBBQUH MAGGIGh0dHA6Ly9vY3NwMDMzNi50ZWxlc2VjLmRlL29jc3ByMEgGCCsGAQUFBzAChjxodHRw Oi8vcGtpMDMzNi50ZWxlc2VjLmRlL2NydC9UZWxlU2VjX0dsb2JhbFJvb3RfQ2xhc3NfMi5j ZXIwDQYJKoZIhvcNAQELBQADggEBAIcL/z4Cm2XIVi3WO5qYi3FP2ropqiH5Ri71sqQPrhE4 eTizDnS6dl2e6BiClmLbTDPo3flq3zK9LExHYFV/53RrtCyD2HlrtrdNUAtmB7Xts5et6u5/ MOaZ/SLick0+hFvu+c+Z6n/XUjkurJgARH5pO7917tALOxrN5fcPImxHhPalR6D90Bo0fa3S PXez7vTXTf/D6OWST1k+kEcQSrCFWMBvf/iu7QhCnh7U3xQuTY+8npTD5+32GPg8SecmqKc2 2CzeIs2LgtjZeOJVEqM7h0S2EQvVDFKvaYwPBt/QolOLV5h7z/0HJPT8vcP9SpIClxvyt7bP ZYoaorVyGTkwggWsMIIElKADAgECAgcbY7rQHiw9MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYD VQQGEwJERTFFMEMGA1UEChM8VmVyZWluIHp1ciBGb2VyZGVydW5nIGVpbmVzIERldXRzY2hl biBGb3JzY2h1bmdzbmV0emVzIGUuIFYuMRAwDgYDVQQLEwdERk4tUEtJMS0wKwYDVQQDEyRE Rk4tVmVyZWluIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IDIwHhcNMTYwNTI0MTEzODQwWhcN MzEwMjIyMjM1OTU5WjCBjTELMAkGA1UEBhMCREUxRTBDBgNVBAoMPFZlcmVpbiB6dXIgRm9l cmRlcnVuZyBlaW5lcyBEZXV0c2NoZW4gRm9yc2NodW5nc25ldHplcyBlLiBWLjEQMA4GA1UE CwwHREZOLVBLSTElMCMGA1UEAwwcREZOLVZlcmVpbiBHbG9iYWwgSXNzdWluZyBDQTCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ07eRxH3h+Gy8Zp1xCeOdfZojDbchwFfylf S2jxrRnWTOFrG7ELf6Gr4HuLi9gtzm6IOhDuV+UefwRRNuu6cG1joL6WLkDh0YNMZj0cZGnl m6Stcq5oOVGHecwX064vXWNxSzl660Knl5BpBb+Q/6RAcL0D57+eGIgfn5mITQ5HjUhfZZkQ 0tkqSe3BuS0dnxLLFdM/fx5ULzquk1enfnjK1UriGuXtQX1TX8izKvWKMKztFwUkP7agCwf9 TRqaA1KgNpzeJIdl5Of6x5ZzJBTN0OgbaJ4YWa52fvfRCng8h0uwN89Tyjo4EPPLR22MZD08 WkVKusqAfLjz56dMTM0CAwEAAaOCAgUwggIBMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYDVR0P AQH/BAQDAgEGMCkGA1UdIAQiMCAwDQYLKwYBBAGBrSGCLB4wDwYNKwYBBAGBrSGCLAEBBDAd BgNVHQ4EFgQUazqYi/nyU4na4K2yMh4JH+iqO3QwHwYDVR0jBBgwFoAUk+PYMiba1fFKpZFK 4OpL4qIMz+EwgY8GA1UdHwSBhzCBhDBAoD6gPIY6aHR0cDovL2NkcDEucGNhLmRmbi5kZS9n bG9iYWwtcm9vdC1nMi1jYS9wdWIvY3JsL2NhY3JsLmNybDBAoD6gPIY6aHR0cDovL2NkcDIu cGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1nMi1jYS9wdWIvY3JsL2NhY3JsLmNybDCB3QYIKwYB BQUHAQEEgdAwgc0wMwYIKwYBBQUHMAGGJ2h0dHA6Ly9vY3NwLnBjYS5kZm4uZGUvT0NTUC1T ZXJ2ZXIvT0NTUDBKBggrBgEFBQcwAoY+aHR0cDovL2NkcDEucGNhLmRmbi5kZS9nbG9iYWwt cm9vdC1nMi1jYS9wdWIvY2FjZXJ0L2NhY2VydC5jcnQwSgYIKwYBBQUHMAKGPmh0dHA6Ly9j ZHAyLnBjYS5kZm4uZGUvZ2xvYmFsLXJvb3QtZzItY2EvcHViL2NhY2VydC9jYWNlcnQuY3J0 MA0GCSqGSIb3DQEBCwUAA4IBAQCBeEWkTqR/DlXwCbFqPnjMaDWpHPOVnj/z+N9rOHeJLI21 rT7H8pTNoAauusyosa0zCLYkhmI2THhuUPDVbmCNT1IxQ5dGdfBi5G5mUcFCMWdQ5UnnOR7L n8qGSN4IFP8VSytmm6A4nwDO/afr0X9XLchMX9wQEZc+lgQCXISoKTlslPwQkgZ7nu7YRrQb tQMMONncsKk/cQYLsgMHM8KNSGMlJTx6e1du94oFOO+4oK4v9NsH1VuEGMGpuEvObJAaguS5 Pfp38dIfMwK/U+d2+dwmJUFvL6Yb+qQTkPp8ftkLYF3sv8pBoGH7EUkp2KgtdRXYShjqFu9V NCIaE40GMIIHAjCCBeqgAwIBAgIMJ1JQlyajOWJA6ZHRMA0GCSqGSIb3DQEBCwUAMIGNMQsw CQYDVQQGEwJERTFFMEMGA1UECgw8VmVyZWluIHp1ciBGb2VyZGVydW5nIGVpbmVzIERldXRz Y2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYuMRAwDgYDVQQLDAdERk4tUEtJMSUwIwYDVQQD DBxERk4tVmVyZWluIEdsb2JhbCBJc3N1aW5nIENBMB4XDTIyMDkyNzEwNDAxMFoXDTI1MDky NjEwNDAxMFowgaMxCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZCYXllcm4xETAPBgNVBAcMCEVy bGFuZ2VuMTwwOgYDVQQKDDNGcmllZHJpY2gtQWxleGFuZGVyLVVuaXZlcnNpdGFldCBFcmxh bmdlbi1OdWVybmJlcmcxDjAMBgNVBAQMBVZvZ2VsMQ0wCwYDVQQqDARBcm5lMRMwEQYDVQQD DApBcm5lIFZvZ2VsMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvbmg+fdqIj6Z hAfg1Nu4WBIMUXdkZf2ND1GJkknmC4JAfJyOtN17mEuCwL7P6/wKlStHCtn/xGeZARAo+2Z5 sI5RfaAz/vWpa0ZuSpROtMzTBzvaHt9EtvO+4NxJwborxi0Amj+jMGshqiDcjUdt1HiNPHkf 7Nwo1wrUeEKqYfMLgYJc/AxkdDfchYpjjrMiHW6nccl4H7thhh01iWmoPZwu+Xl0FpT5pHq8 boggni5EyYpr2ieZ+m2Ph9biPBw+AktbVUe4cOkRjUfa5byox47yc7UxGHG+cD5W9I7etirt xxGQcfvwUfGQENOuwNqz8sIlKLoUTE2Hl7a6x+lo9WQ7tIePVz70Xy5YtgORwWiSCaio/i4M JGnx+vA/kL/rtIeRhMhWHrfFs71Uc2QcglGjv030UEtDAK6LmaFHfm275O+5kskrq0z5Lc/+ hf+6i9wwcQOPy13/dXtjf+7REIrvhgWtl3MBcKisM1n6rzrKDg/ozYntpYMmK3b1uVXg5n6C FpWdnSDZWvgbQHY9edOFYuqxOr/SSVk599rN2me2c+IeFEpXLEyhuw7WzjBJ4cwkBwLRDdIu RdUIKx418yW6Or3HwPGcKXHr5KMVdh3WoN+/I/MOQ5VfeVwaLAO7dZKFwy81GROCjSL1JBiZ RXQO8kC6RA7UYs4nn/E6+gkCAwEAAaOCAkgwggJEMD4GA1UdIAQ3MDUwDwYNKwYBBAGBrSGC LAEBBDAQBg4rBgEEAYGtIYIsAQEECjAQBg4rBgEEAYGtIYIsAgEECjAJBgNVHRMEAjAAMA4G A1UdDwEB/wQEAwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwHQYDVR0OBBYE FIMtK9Kru6m+DewE1KR0LwdQ/waEMB8GA1UdIwQYMBaAFGs6mIv58lOJ2uCtsjIeCR/oqjt0 MBoGA1UdEQQTMBGBD3ZvZ2VsQGNzLmZhdS5kZTCBjQYDVR0fBIGFMIGCMD+gPaA7hjlodHRw Oi8vY2RwMS5wY2EuZGZuLmRlL2Rmbi1jYS1nbG9iYWwtZzIvcHViL2NybC9jYWNybC5jcmww P6A9oDuGOWh0dHA6Ly9jZHAyLnBjYS5kZm4uZGUvZGZuLWNhLWdsb2JhbC1nMi9wdWIvY3Js L2NhY3JsLmNybDCB2wYIKwYBBQUHAQEEgc4wgcswMwYIKwYBBQUHMAGGJ2h0dHA6Ly9vY3Nw LnBjYS5kZm4uZGUvT0NTUC1TZXJ2ZXIvT0NTUDBJBggrBgEFBQcwAoY9aHR0cDovL2NkcDEu cGNhLmRmbi5kZS9kZm4tY2EtZ2xvYmFsLWcyL3B1Yi9jYWNlcnQvY2FjZXJ0LmNydDBJBggr BgEFBQcwAoY9aHR0cDovL2NkcDIucGNhLmRmbi5kZS9kZm4tY2EtZ2xvYmFsLWcyL3B1Yi9j YWNlcnQvY2FjZXJ0LmNydDANBgkqhkiG9w0BAQsFAAOCAQEAm+w/mfEoznGSTPMiyGU3qkrG 5BUhCaC1RVUAryvjGpFLI27CN94HsR0phGuzSppuoGGUkhImFACXLY1ovAwoIdQK09rok5oo HtrUFb4HgIKAEf7kK5uQ7INOy7mcgn88UJeMZlwwEzPxJxKgPkT/L+gT0EltrXlWZ63NT3Po 96gAcqw2S1xzmkLHRJ5gQKFxEygTBAdtroNzo2DtIs6Tc6wl/fqj8WjoL05sdst4t9P4S7SJ Ly/QDQ0iFAycxVqNYyPdzsHdBCwsSGloAaZfqko21Wh0QvswmB9lEoUOOJNvNx1ozx+U2BI8 QwtJ5cljLwHad5HxX6I7XFR1JFfUuzGCBSswggUnAgEBMIGeMIGNMQswCQYDVQQGEwJERTFF MEMGA1UECgw8VmVyZWluIHp1ciBGb2VyZGVydW5nIGVpbmVzIERldXRzY2hlbiBGb3JzY2h1 bmdzbmV0emVzIGUuIFYuMRAwDgYDVQQLDAdERk4tUEtJMSUwIwYDVQQDDBxERk4tVmVyZWlu IEdsb2JhbCBJc3N1aW5nIENBAgwnUlCXJqM5YkDpkdEwDQYJYIZIAWUDBAIDBQCgggJdMBgG CSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIzMDkxMTA3MDk0OVow TwYJKoZIhvcNAQkEMUIEQAs5WEl03TMQoKsVSUHVs1lDlaObWN1CEAfaVHcdHnhixhLEZ6y9 rRXvKxeJDtAoLGgoHRgoUylzT/bpN+UDQ0kwbAYJKoZIhvcNAQkPMV8wXTALBglghkgBZQME ASowCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0D AgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBrwYJKwYBBAGCNxAEMYGhMIGeMIGNMQsw CQYDVQQGEwJERTFFMEMGA1UECgw8VmVyZWluIHp1ciBGb2VyZGVydW5nIGVpbmVzIERldXRz Y2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYuMRAwDgYDVQQLDAdERk4tUEtJMSUwIwYDVQQD DBxERk4tVmVyZWluIEdsb2JhbCBJc3N1aW5nIENBAgwnUlCXJqM5YkDpkdEwgbEGCyqGSIb3 DQEJEAILMYGhoIGeMIGNMQswCQYDVQQGEwJERTFFMEMGA1UECgw8VmVyZWluIHp1ciBGb2Vy ZGVydW5nIGVpbmVzIERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYuMRAwDgYDVQQL DAdERk4tUEtJMSUwIwYDVQQDDBxERk4tVmVyZWluIEdsb2JhbCBJc3N1aW5nIENBAgwnUlCX JqM5YkDpkdEwDQYJKoZIhvcNAQEBBQAEggIAJRczBW10izJenginbAxw19N/3hGDGNkKm2Jq BBRYgzCQg9tKqTOfbQbMuRGsUaBjX4E5XMq+SMBmlzPCCFYFVrbAszWA/LAgk70AA0v9vPLS eXKQgUdeaiQmaXdbn7Ifo1wH3V5zO8Uk5g0OfgqtdK0q7PsFxQEi2Td01sm+WyekY7A7CNlt +7RKOvcXP2vKBnS7Z+bblc0eMH2l3R6K3YZf7NuNRxqVnpIWg7PHwOIOjQA4irXu879t2R43 lOiOHuUK9AFPf62Uz5eFjQ3cwv7nbVckCZWSG478dTYrVJT/xr9aNFy7yRFa+/KNLaAb6q5A iYF5MeAHt1KaRxMzQc4SCHQans525QBzEI90PCo0Qplg/Pm/zdsK5vPbaN6m9hwsxkuHtbOw Zm413Bavm6WYTWwQkJRTpPMpGIf3yhT/6t4LYK/fXItj45+HuTnQILbvDOnYJ/PbTKomM/T7 x6Q5jG7TMNZuh5hj5HAkvYYZ54MAUfVHojUr8ZjO1ixdY+XNy5p3SsAvNkbec6Wqzv1jVFd+ nBgUJ5f3E+E/iLx+uwyXq8xEctZC1acLZTGDkOcGGpbyh20U6jwuuuKY1Z7T8PA/vw/g0Tmb ZQT3LB6LilvxfB5em/yMCkEcUB+u6nt/DZ5/jNKQVpYtign+0t+e1z4gPR6Tvanffo5c4zwA AAAAAAA= --------------ms070603000006010508040704--