X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fprog_guide%2Fgeneric_receive_offload_lib.rst;h=98a5d29bbc167016f5abe5f25394189e6c061ef0;hb=34fd4373ce76efd0236e59397c495762c2ec9e64;hp=078bec03b2f3619d70f426b2bee768a953642ef6;hpb=9e0b9d2ec0f4bb7256f9b053c43d7c1d0c02c3e2;p=dpdk.git diff --git a/doc/guides/prog_guide/generic_receive_offload_lib.rst b/doc/guides/prog_guide/generic_receive_offload_lib.rst index 078bec03b2..98a5d29bbc 100644 --- a/doc/guides/prog_guide/generic_receive_offload_lib.rst +++ b/doc/guides/prog_guide/generic_receive_offload_lib.rst @@ -1,32 +1,5 @@ -.. BSD LICENSE - Copyright(c) 2017 Intel Corporation. All rights reserved. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Intel Corporation nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2017 Intel Corporation. Generic Receive Offload Library =============================== @@ -57,9 +30,9 @@ assumes the packets are complete (i.e., MF==0 && frag_off==0), when IP fragmentation is possible (i.e., DF==0). Additionally, it complies RFC 6864 to process the IPv4 ID field. -Currently, the GRO library provides GRO supports for TCP/IPv4 packets and -VxLAN packets which contain an outer IPv4 header and an inner TCP/IPv4 -packet. +Currently, the GRO library provides GRO supports for TCP/IPv4 and UDP/IPv4 +packets as well as VxLAN packets which contain an outer IPv4 header and an +inner TCP/IPv4 or UDP/IPv4 packet. Two Sets of API --------------- @@ -218,3 +191,22 @@ Header fields deciding if packets are neighbors include: ignore IPv4 ID fields for the packets whose DF bit is 1. Additionally, packets which have different value of DF bit can't be merged. + +GRO Library Limitations +----------------------- + +- GRO library uses MBUF->l2_len/l3_len/l4_len/outer_l2_len/ + outer_l3_len/packet_type to get protocol headers for the + input packet, rather than parsing the packet header. Therefore, + before call GRO APIs to merge packets, user applications + must set MBUF->l2_len/l3_len/l4_len/outer_l2_len/outer_l3_len/ + packet_type to the same values as the protocol headers of the + packet. + +- GRO library doesn't support to process the packets with IPv4 + Options or VLAN tagged. + +- GRO library just supports to process the packet organized + in a single MBUF. If the input packet consists of multiple + MBUFs (i.e. chained MBUFs), GRO reassembly behaviors are + unknown.