From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ee0-f47.google.com (mail-ee0-f47.google.com [74.125.83.47]) by dpdk.org (Postfix) with ESMTP id 5369218F for ; Sun, 30 Mar 2014 08:51:15 +0200 (CEST) Received: by mail-ee0-f47.google.com with SMTP id b15so5430126eek.20 for ; Sat, 29 Mar 2014 23:52:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-type:thread-index:content-language; bh=N4D43LcPZ3tKug5cHoEjCKUQ3+5+Zpo3dwujyyJBspU=; b=jrBZAQKlown/FKFr+VtjlypPrlU8F4zRLDCL4m0rxibtpTlxKEn11qFasbMLl6+Svq m7RDLHndbnOAt/63T2UCl4YCFB3faWbHJinpNeoFKWTsTW8Wxi2DyjDgKR0aJb87Ln3z vw6clSyAWOkRjJ+PYgyYoPHUXE6jJ8PhH6u+fj4aUCMkAWxympQ7ACbR22Pk56oV/5Yf CsEmOOKqzl0SOhA/KjKyrjotNVZT183GW3y39JhoXt/zd1AomTQW3X+2oqPiqgBEvUYJ NdpfxH5N/LB9iOVApOHmUAtWv4pxmQbYUqxGTvwo7A81AjkwbwUsH/gvT/MEESfkEUPl wBjw== X-Gm-Message-State: ALoCoQnrr4f8gzwWil4frpFsdbRdj3ZrGk1T6wh2YIAPG16sUNRE9K4vm1Rb8tRHTDhM7H3FHhUK X-Received: by 10.15.54.6 with SMTP id s6mr22467558eew.4.1396162369273; Sat, 29 Mar 2014 23:52:49 -0700 (PDT) Received: from YossiBSX1 (site2.amodat.com. [62.90.100.112]) by mx.google.com with ESMTPSA id s46sm23731134ees.3.2014.03.29.23.52.47 for (version=TLSv1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 29 Mar 2014 23:52:47 -0700 (PDT) From: "Yossi Barshishat" To: Date: Sun, 30 Mar 2014 09:52:22 +0300 Message-ID: <02a701cf4be4$a8f3a440$fadaecc0$@imvisiontech.com> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 14.0 Thread-Index: Ac9L3kRgE45P6495QLeeungNrMUUWg== Content-Language: he Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-dev] zero copy of received segmented IP packet X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Mar 2014 06:51:15 -0000 Hi, Assuming I know ahead that all IP segments related to one single IP packet ID arrive consequently and I need to forward the entire IP payload toward the application layer. One way to handle this is using a hash table for reassembly of the packet data (like the ipv4_reassembly example), another way would be to assume one single bucket (following the above assumption). However any means the DPDK provides doesn't enable a zero copy mechanism (it will be required to copy the segments payloads into one larger buffer). Does anybody has any idea regarding a method to control the place where each part of the packet will be written to? e.g. allocating the first segment regularly while the packet data buffer is set to the maximum packet length (rather than to MTU size), and then reading n bytes after the start of each following segment into the data buffer. That way I can forward the app layer the buffer without copying it. Thanks,