From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) by dpdk.org (Postfix) with ESMTP id 1EBC991 for ; Wed, 31 Oct 2018 16:18:34 +0100 (CET) Received: by mail-pf1-f171.google.com with SMTP id c25-v6so7772732pfe.6 for ; Wed, 31 Oct 2018 08:18:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=wHkcSnBqeYMgmve12gMtMqTPMCEApekpQLBK7Mqqf6I=; b=jyAyJwkXAOXrBZKW6h1lo7aJqqRNIuNh6DqZ/b1fiJNp/1J1KIKVIM1O3lWRhZG5ft ED6c2ApSfHoLFkTiNAEb4a6c5TJgECLMYl9VgKDS5pIxgjlpsXv36YeiKNMitDNTnJ2B 72isix4OO/lnvDmgVQJLqA5z3iEkXbIIpHhJfWLbCyK+iX0NiLT7VtAXMa2Qcq8aIuBz xQH0PnSFY8fT1DfMpQBhvlaztUpU1lyvxIg3pQiVSIccIiDyAoGtPSMU1y1I9nXYvoZr Vvy4zMugF3kF/O58+7sCdNWnTfe/shw5CRZNXYsULJyN4kq6XMJnO76rcUZAcePNnpya Y5+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wHkcSnBqeYMgmve12gMtMqTPMCEApekpQLBK7Mqqf6I=; b=ft3FIU9DR3W8bEGVs/W8xAVaeXsMzVivNeLCRR0zpp3NmuWAPdeak0+F4M+5/7oz5u But8IzBCiagKcIhKOooZkrQWwnHNkTMXVe0HBO4BqyROa5YZU6qbOWi/2D+Ax63UOxS3 +ZLIKKKO615k4fEYqMc39KqXOOJ/hvNgYBgDnk0vtoLlATY9hTzyaqR4thSx7NTdRtRU i5A3RmSWRAG4VYqTycRX0h+bMuhjhL0dJGBvI8OWQvQ+wEywRBa518oai4c8OkQZZRTS FJzPstPHjPssHlb2GUzDxrgCbGR3V3PaVjbF3BI99zngrWJB2d7jnjHULEhe7q7OHErD 9skw== X-Gm-Message-State: AGRZ1gKoOJRhy8sz8ndEKdK2sbjTZVZNl5uDUpoqe4hs4F7tA5lc1vA6 eC1pxz8NEoT2eEGUgCu6/oUXZecl4Hs= X-Google-Smtp-Source: AJdET5foXI8ULW9EfeIyqp3WzxY7xiX0wJrzDgqyke/lAs9aB7V0jUAUFwMtWdCyWoMpNZcj3nqpqQ== X-Received: by 2002:a62:9109:: with SMTP id l9-v6mr3873208pfe.154.1540999113134; Wed, 31 Oct 2018 08:18:33 -0700 (PDT) Received: from xeon-e3 (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id d24-v6sm3105924pfe.40.2018.10.31.08.18.32 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 31 Oct 2018 08:18:33 -0700 (PDT) Date: Wed, 31 Oct 2018 08:18:24 -0700 From: Stephen Hemminger To: Sungho Hong Cc: users@dpdk.org Message-ID: <20181031081824.373fb415@xeon-e3> In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-users] Ideal design to use ip-fragmentation using multiple lcores X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Oct 2018 15:18:34 -0000 On Tue, 30 Oct 2018 18:55:02 -0700 Sungho Hong wrote: > Hello DPDK experts, > > I have a question of how to ideally use ip fragmentation and assemble using > N number of logical cores each associated with tx&rx queues. > > Should the ip fragmentation table be single received by a single rx-queue? > > Because I am not sure whether I will receive all the fragmented messages > correctly when I try to receive and combine the packets using multiple > rx-queues with multiple logical cores. > > I have currently build an example that only uses one rx-queue with multiple > tx-queues and assemble the fragmented messages with a single frag-table. > But I am not sure how to scale this.. I am not sure what you are asking. The usual model of DPDK programs is to use RSS to spread receive packets across multiple RX queues, and use a thread per RX queue to poll. When IP packets are fragmented the IP header is on each packet and the UDP header is only on the first packet. RSS can be configured to include the UDP port (or not). If RSS is applied to the UDP port as well (L3+L4) then the fragmented packets will arrive on potentially different queues. If you configure RSS for L3 only hashing, then the fragmented packet will arrive on the same queue for all fragments. The downside of L3 only hashing is that if you are doing a workload or benchmark with only a single address pair, then all packets will be on one queue.