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 6CDBA432E6 for ; Fri, 10 Nov 2023 14:46:45 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2DEFA40695; Fri, 10 Nov 2023 14:46:45 +0100 (CET) Received: from mail-qv1-f48.google.com (mail-qv1-f48.google.com [209.85.219.48]) by mails.dpdk.org (Postfix) with ESMTP id 252684064C for ; Fri, 10 Nov 2023 14:46:44 +0100 (CET) Received: by mail-qv1-f48.google.com with SMTP id 6a1803df08f44-66d24ccc6f2so26992566d6.0 for ; Fri, 10 Nov 2023 05:46:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699624003; x=1700228803; darn=dpdk.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=L/HNOkORahgBF6cNx6t+If4OTK4I9w23QFVG+HZFU6I=; b=HE76xW5qSjkUEPiSsFCOOyJXrj/rO0tuvPbvNPQVjCXSUjOsq3/Gwv2KBwk/0z+zG8 Buxb0hExXuwPusB4YkLHqCqrPcyxTjiTQXudwB5OusWlUtcf8txqLzqCIkzIzZX2FoCI r4NnSGEb8D5jw4btQ7rDNRajw1LKasOusGQVwLfLzrNX3H8iba3RzGcSXqcAj1a5fQDf OXM1QH4qWGEZh0ZDTXvqUSZQNpBoez0qDa6xGUOX2iSQ2g+1jVLhh3ZLekPAPI4k7iSn 1eCQbXtrW98zlJkZw6/gapVze1ERi+W5EBv+2lFa993wu05YAUFZHnYwJ2oPGnOHNnLS 5TrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699624003; x=1700228803; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=L/HNOkORahgBF6cNx6t+If4OTK4I9w23QFVG+HZFU6I=; b=EvMAYos/eWvhohKDVbzQ9MQFHFamg+qOZoxbc4ERDyDAZKGOejGPIH4A9qSKcaWw6m 3c7cXpeVniwHH0tf1rrcTJY34xw/BL2tFsnils4J3K7rpsXBvqRz1DYNJVS4klwhqpsp 9kyxMqIE+HmyN/9p0FMfJzCdYxkN18iNqq0WMdw6xl3qnpcMKrvHpM0MNZydpsFTHpaO tr7MMbrpQIhNk2EKM9a2CAJ67ZiPKfvfBcuGHEbURnimGDpuXxTi5YxEXEs4WTh8/kHv MxxWYZQRfpejnqoDDc3C4k8V4Ai1cPXBpyyR/IjSevSS/yfRUYhcp00bliYEw9W2OxIl hcZA== X-Gm-Message-State: AOJu0YyK/11yB2zWQHSc9nKbyok5nFHApoj7GGUto7UMgViWzVHk+yGv UXpELQuU0qF4cmwTtpR/ncr4BJs9o5QEJ7kC5WRsdv/3Kn8= X-Google-Smtp-Source: AGHT+IHihi+g5IVWfvfvLx4xaJYXdiRCHiMVIXDql6vBSCxIO4OEV/3wz168U9InxiiHSdOECOe483KmKI/JYFQ64xI= X-Received: by 2002:a0c:fe68:0:b0:66d:9f49:5b24 with SMTP id b8-20020a0cfe68000000b0066d9f495b24mr3600713qvv.23.1699624003326; Fri, 10 Nov 2023 05:46:43 -0800 (PST) MIME-Version: 1.0 From: Pavel Vazharov Date: Fri, 10 Nov 2023 15:46:32 +0200 Message-ID: Subject: Bonding with net_af_xdp devices? To: users Content-Type: multipart/alternative; boundary="000000000000f857280609cc8ce7" 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 --000000000000f857280609cc8ce7 Content-Type: text/plain; charset="UTF-8" Hi there, We have an application running on top of DPDK. Now we need to change the setup so that some traffic enters in the Linux stack while other continues to be processed by the already existing DPDK application. For this reason we decided to modify the DPDK application to run on top of XDP sockets with applied BPF filters for the traffic separation. The scheme seems to work fine in case of a single port. However, we have usage scenarios where the application runs on top of several ports and creates bonding internally. So, I tried to create a bonding of net_af_xdp devices but it doesn't seem to work and I can't figure the reason why, looking at the code. It prints the following errors internally: xsk_configure(): Failed to create xsk socket. eth_rx_queue_setup(): Failed to configure xdp socket slave_start(1817) - rte_eth_rx_queue_setup: port=0 queue_id 0, err (-22) bond_ethdev_start(2057) - bonded port (3) failed to start slave device (0) So, I'd like to ask: 1. If bonding with net_af_xdp devices possible or not? 2. If the bonding is not possible are there other options to run DPDK on top of XDP sockets when there are multiple physcial ports at the bottom? Should I use "directly" the net_af_xdp devices and implement the bonding logic in the application? Thanks. --000000000000f857280609cc8ce7 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi there,

We have an applicati= on running on top of DPDK. Now we need to change the setup so that some tra= ffic enters in the Linux stack while other continues to be processed by the= already existing DPDK application. For this reason we decided to modify th= e DPDK application to run on top of XDP sockets with applied BPF filters fo= r the traffic separation. The scheme seems to work fine in case of a single= port. However, we have usage scenarios where the application runs on top o= f several ports and creates bonding internally.
So, I tried t= o create a bonding of net_af_xdp devices but it doesn't seem to work an= d I can't figure the reason why, looking at the code. It prints the fol= lowing errors internally:

xsk_configure(): Failed to cr= eate xsk socket.
eth_rx_queue_setup(): Failed to configure xdp socketslave_start(1817) - rte_eth_rx_queue_setup: port=3D0 queue_id 0, err (-22)=
bond_ethdev_start(2057) - bonded port (3) failed to start slave device = (0)

So, I'd like to ask:
1. = If bonding with net_af_xdp devices possible or not?
2. If the= bonding is not possible are there other options to run DPDK on top of XDP = sockets when there are multiple physcial ports at the bottom? Should I use = "directly" the net_af_xdp devices and implement the bonding logic= in the application?

Thanks.
--000000000000f857280609cc8ce7--