From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-f176.google.com (mail-pf0-f176.google.com [209.85.192.176]) by dpdk.org (Postfix) with ESMTP id DB4602BDF for ; Mon, 19 Jun 2017 17:55:08 +0200 (CEST) Received: by mail-pf0-f176.google.com with SMTP id 83so55690332pfr.0 for ; Mon, 19 Jun 2017 08:55:08 -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=/e6ekarhBKPNcNMGx9MotvZSsj10yRY6HjmWvDUmydo=; b=iDk/5XHYbUfWeDHeZrRgO+SV8q+JbbnkVZFnG5nS1UW8IS59bY8YN+0u2CLizpBzoz DVdv6jEBkZYnbUknAwrlOzAWKzFAYRFfGj/Qx8u5v9EB2e+dOtc0DAcj0DfzNlSJS7GJ e9WDDbRX1yqNMmUrBwxNeVFaLsdPpxfvJE5n6Od1E43SNjjTtNO6hQCIYiMiTDQYFpjr Gfrl/q3grPoh1wRiVeeeZ4keB17WRqfXsoZug9bxkFvmdNMYpP6R6r+6824ii778cPwq G5fxv/zqEEbeS/hcorW68L93hWYP0wkFhVjTDIR/XFmyBEtW9oay6nkOrs2UEIRoCLgZ w1OQ== 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=/e6ekarhBKPNcNMGx9MotvZSsj10yRY6HjmWvDUmydo=; b=nCHiM+RrATqD81t1lzoz9mLH7qtwkRo9UrDxc8qw0uxw5Tg6uBl+6tHkZvhyWdW3c2 VgjOetL/9M7FatVM2eYEfc7v000/uMhY52AwChiJdIH+iyBlsROkJbUVnN6qQDAsQTPC 61CQI+283GI5QR5708dFSV1zEett4KVZHKukJNX1Rp8YHUz8KlB6ldF2wRDfnz1Veb4E N9ewBW1YbLcDiZ/SrSpmMhrizRvaL/Cxy4jjs9piOj5nckxCjs564rfIS8+rL8iqGBW7 Oee2sPxYdh/eS9otgNWcHFFXi5hVT4GwSyZtEern1AlcOlFy3HP1p8E4RW2+hN3N01Mi jqQw== X-Gm-Message-State: AKS2vOx0hytODQXxx0DhqIjffzIciBrbP1SQf3xxIofuGxaMfPjx9bTs ig1yrUp5NnUvVX4s X-Received: by 10.84.211.136 with SMTP id c8mr29640565pli.96.1497887708152; Mon, 19 Jun 2017 08:55:08 -0700 (PDT) Received: from xeon-e3 (76-14-207-240.or.wavecable.com. [76.14.207.240]) by smtp.gmail.com with ESMTPSA id p23sm23365944pfi.52.2017.06.19.08.55.07 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 19 Jun 2017 08:55:08 -0700 (PDT) Date: Mon, 19 Jun 2017 08:55:00 -0700 From: Stephen Hemminger To: Jiayu Hu Cc: dev@dpdk.org, konstantin.ananyev@intel.com, yliu@fridaylinux.org, keith.wiles@intel.com, jianfeng.tan@intel.com, tiwei.bie@intel.com, lei.a.yao@intel.com Message-ID: <20170619085500.6c0b85fc@xeon-e3> In-Reply-To: <1497770469-16661-2-git-send-email-jiayu.hu@intel.com> References: <1496833731-53653-1-git-send-email-jiayu.hu@intel.com> <1497770469-16661-1-git-send-email-jiayu.hu@intel.com> <1497770469-16661-2-git-send-email-jiayu.hu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v5 1/3] lib: add Generic Receive Offload API framework X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Jun 2017 15:55:09 -0000 On Sun, 18 Jun 2017 15:21:07 +0800 Jiayu Hu wrote: > +/** > + * This is the main reassembly API used in lightweight mode, which > + * merges numbers of packets at a time. After it returns, applications > + * can get GROed packets immediately. Applications don't need to > + * flush packets manually. In lightweight mode, applications just need > + * to tell the reassembly API what rules should be applied when merge > + * packets. Therefore, applications can perform GRO in very a simple > + * way. > + * > + * To process one packet, we find its corresponding reassembly table > + * according to the packet type. Then search for the reassembly table > + * to find one packet to merge. If find, chain the two packets together. > + * If not find, insert the inputted packet into the reassembly table. > + * Besides, to merge two packets is to chain them together. No > + * memory copy is needed. Before rte_gro_reassemble_burst returns, > + * header checksums of merged packets are re-calculated. > + * > + * @param pkts > + * a pointer array which points to the packets to reassemble. After > + * GRO, it is also used to keep GROed packets. > + * @param nb_pkts > + * the number of packets to reassemble. > + * @param param > + * Applications use param to tell rte_gro_reassemble_burst what rules > + * are demanded. > + * @return > + * the number of packets after GROed. > + */ > +uint16_t rte_gro_reassemble_burst(struct rte_mbuf **pkts __rte_unused, > + const uint16_t nb_pkts __rte_unused, > + const struct rte_gro_param param __rte_unused); I think the __rte_unused attribute should be on the function definition, not on the prototype. I think GCC ignores it on function prototypes.