From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mail.toke.dk (Postfix) with ESMTPS id 29A5C9E33F1 for ; Tue, 24 Jan 2023 16:26:05 +0100 (CET) Authentication-Results: mail.toke.dk; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=RuB/UaRK DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1674573964; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FUJyCyAKYGRjpKDQcowW9bwvdIvaMrIk3rgeMaf99ks=; b=RuB/UaRKhAo4hUrpBcfaDloklwZnvZa9yVBvTbEnO4yPjA4gtZ5hDBwIndU0t7HucR8D1i zadma06BJQHuFPVfkIXO3sbWbkEgXLEcrvN3D11TRYj2HiiK8x9oL3ypoVMj1pd3Mhwsgf TvA4H7gH1kzbBs8qwVGVUpSmCMXmtFU= Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-304-ibPJGYTWO7-e9dicBcvJZA-1; Tue, 24 Jan 2023 10:26:03 -0500 X-MC-Unique: ibPJGYTWO7-e9dicBcvJZA-1 Received: by mail-ej1-f69.google.com with SMTP id kt9-20020a1709079d0900b00877f4df5aceso1041896ejc.21 for ; Tue, 24 Jan 2023 07:26:03 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:references:to :content-language:subject:cc:user-agent:mime-version:date:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=FUJyCyAKYGRjpKDQcowW9bwvdIvaMrIk3rgeMaf99ks=; b=8A1K5CF3w9GQ4rHzFRZv/9lGuWGBnBQlzX9B5JLqK5irtpqMZlALgZK1L+MZb4sSQW eQkILAo9scHyLeuJfh+rhMNyg0QYdsiH7W9K0JiIJB4f+StHlM+XoWBpREaUzdGETydA qutaOl1YJWm23dkpZKjdLgyuVT7W4F2WeWi1R3vgBoJpgRoI1bZr9c0zDNWWtEAqB5Lo YiutDsZ1kndYEjO9O7sDBDH2f2S83sR1ppN9J+K6x6CPdzJBFhte84HP+LvoLxWh5vmN oRVUrNaJQW6+EUzmfgjJNvIi9MFBNfY/URNxd3UcunEnWKhgXjVNqZDj+E2AGWkJJPoC H6Qg== X-Gm-Message-State: AFqh2krSQkAltBPj6WT9Jn/RB27TkOv1T65TpAaSchfXdzimyqNL9u2Y goNgxxKVtVpu3+i6GtYn3qjihXiEwwuVrQYVGWF4H0rAlmImXSBAD1My+QFTheGbydZi3Z01ZpT kTSc6aAGMhGgfNr/zacLC X-Received: by 2002:a17:906:3ac5:b0:84d:207d:c00e with SMTP id z5-20020a1709063ac500b0084d207dc00emr28546476ejd.46.1674573960946; Tue, 24 Jan 2023 07:26:00 -0800 (PST) X-Google-Smtp-Source: AMrXdXtsIFzsBlh5TtYNTcaOqaVCCuGDCweP542aGQdEh50yP3946LVxecl33lOuTfWC0ROJOtWZdw== X-Received: by 2002:a17:906:3ac5:b0:84d:207d:c00e with SMTP id z5-20020a1709063ac500b0084d207dc00emr28546429ejd.46.1674573960658; Tue, 24 Jan 2023 07:26:00 -0800 (PST) Received: from [192.168.41.200] (83-90-141-187-cable.dk.customer.tdc.net. [83.90.141.187]) by smtp.gmail.com with ESMTPSA id q18-20020a1709063d5200b00870ab0c946fsm1024473ejf.131.2023.01.24.07.25.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 24 Jan 2023 07:26:00 -0800 (PST) From: Jesper Dangaard Brouer X-Google-Original-From: Jesper Dangaard Brouer Message-ID: <71be95ee-b522-b3db-105a-0f25d8dc52cb@redhat.com> Date: Tue, 24 Jan 2023 16:25:58 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 To: Stanislav Fomichev , bpf@vger.kernel.org References: <20230119221536.3349901-1-sdf@google.com> <20230119221536.3349901-18-sdf@google.com> In-Reply-To: <20230119221536.3349901-18-sdf@google.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Message-ID-Hash: UP3CFX7VSDPY6W3P5SJDDJTCZLLS6ZUL X-Message-ID-Hash: UP3CFX7VSDPY6W3P5SJDDJTCZLLS6ZUL X-MailFrom: jbrouer@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: brouer@redhat.com, ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org, martin.lau@linux.dev, song@kernel.org, yhs@fb.com, john.fastabend@gmail.com, kpsingh@kernel.org, haoluo@google.com, jolsa@kernel.org, David Ahern , Jakub Kicinski , Willem de Bruijn , Anatoly Burakov , Alexander Lobakin , Magnus Karlsson , Maryam Tahhan , xdp-hints@xdp-project.net, netdev@vger.kernel.org X-Mailman-Version: 3.3.8 Precedence: list Subject: [xdp-hints] Re: [PATCH bpf-next v8 17/17] selftests/bpf: Simple program to dump XDP RX metadata List-Id: XDP hardware hints design discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Testing this on mlx5 and I'm not getting the RX-timestamp. See command details below. On 19/01/2023 23.15, Stanislav Fomichev wrote: > To be used for verification of driver implementations. Note that > the skb path is gone from the series, but I'm still keeping the > implementation for any possible future work. > > $ xdp_hw_metadata sudo ./xdp_hw_metadata mlx5p1 Output: [...cut ...] open bpf program... load bpf program... prepare skb endpoint... XXX timestamping_enable(): setsockopt(SO_TIMESTAMPING) ret:0 prepare xsk map... map[0] = 3 map[1] = 4 map[2] = 5 map[3] = 6 map[4] = 7 map[5] = 8 attach bpf program... poll: 0 (0) poll: 0 (0) poll: 0 (0) poll: 1 (0) xsk_ring_cons__peek: 1 0x1821788: rx_desc[0]->addr=100000000008000 addr=8100 comp_addr=8000 rx_timestamp: 0 rx_hash: 2773355807 0x1821788: complete idx=8 addr=8000 poll: 0 (0) The trace_pipe: $ sudo cat /sys/kernel/debug/tracing/trace_pipe -0 [005] ..s2. 2722.884762: bpf_trace_printk: forwarding UDP:9091 to AF_XDP -0 [005] ..s2. 2722.884771: bpf_trace_printk: populated rx_hash with 2773355807 > On the other machine: > > $ echo -n xdp | nc -u -q1 9091 # for AF_XDP Fixing the source-port to see if RX-hash remains the same. $ echo xdp | nc --source-port=2000 --udp 198.18.1.1 9091 > $ echo -n skb | nc -u -q1 9092 # for skb > > Sample output: > > # xdp > xsk_ring_cons__peek: 1 > 0x19f9090: rx_desc[0]->addr=100000000008000 addr=8100 comp_addr=8000 > rx_timestamp_supported: 1 > rx_timestamp: 1667850075063948829 > 0x19f9090: complete idx=8 addr=8000 xsk_ring_cons__peek: 1 0x1821788: rx_desc[0]->addr=100000000008000 addr=8100 comp_addr=8000 rx_timestamp: 0 rx_hash: 2773355807 0x1821788: complete idx=8 addr=8000 It doesn't look like hardware RX-timestamps are getting enabled. [... cut to relevant code ...] > diff --git a/tools/testing/selftests/bpf/xdp_hw_metadata.c b/tools/testing/selftests/bpf/xdp_hw_metadata.c > new file mode 100644 > index 000000000000..0008f0f239e8 > --- /dev/null > +++ b/tools/testing/selftests/bpf/xdp_hw_metadata.c > @@ -0,0 +1,403 @@ [...] > +static void timestamping_enable(int fd, int val) > +{ > + int ret; > + > + ret = setsockopt(fd, SOL_SOCKET, SO_TIMESTAMPING, &val, sizeof(val)); > + if (ret < 0) > + error(-1, errno, "setsockopt(SO_TIMESTAMPING)"); > +} > + > +int main(int argc, char *argv[]) > +{ [...] > + printf("prepare skb endpoint...\n"); > + server_fd = start_server(AF_INET6, SOCK_DGRAM, NULL, 9092, 1000); > + if (server_fd < 0) > + error(-1, errno, "start_server"); > + timestamping_enable(server_fd, > + SOF_TIMESTAMPING_SOFTWARE | > + SOF_TIMESTAMPING_RAW_HARDWARE); > + I don't think this timestamping_enable() with these flags are enough to enable hardware timestamping. --Jesper