Correct several documentation issues:
- Change "is in charge of process" to "is in charge of processing"
- Change "which process N packets" to "which processes N packets"
- Change "existed packets" to "existing packets"
- Change "require our algorithm is" to "require that our algorithm is"
- Change "If find" to "If it finds" and "If can't find" to "If it cannot
  find"
- Change "can't merge" to "cannot merge"
- Change "doesn't support to process" to "doesn't support processing"
- Change "just supports to process the packet" to "only supports
  processing packets"
- Change "before call GRO APIs" to "before calling GRO APIs"

Signed-off-by: Stephen Hemminger <[email protected]>
---
 .../generic_receive_offload_lib.rst           | 20 +++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/doc/guides/prog_guide/generic_receive_offload_lib.rst 
b/doc/guides/prog_guide/generic_receive_offload_lib.rst
index f2b5ff9eed..66e07d47f4 100644
--- a/doc/guides/prog_guide/generic_receive_offload_lib.rst
+++ b/doc/guides/prog_guide/generic_receive_offload_lib.rst
@@ -17,7 +17,7 @@ Overview
 --------
 
 In the GRO library, there are many GRO types which are defined by packet
-types. One GRO type is in charge of process one kind of packets. For
+types. One GRO type is in charge of processing one kind of packets. For
 example, TCP/IPv4 GRO processes TCP/IPv4 packets.
 
 Each GRO type has a reassembly function, which defines own algorithm and
@@ -47,7 +47,7 @@ Lightweight Mode API
 ~~~~~~~~~~~~~~~~~~~~
 
 The lightweight mode only has one function ``rte_gro_reassemble_burst()``,
-which process N packets at a time. Using the lightweight mode API to
+which processes N packets at a time. Using the lightweight mode API to
 merge packets is very simple. Calling ``rte_gro_reassemble_burst()`` is
 enough. The GROed packets are returned to applications as soon as it
 finishes.
@@ -69,7 +69,7 @@ Secondly, applications use ``rte_gro_reassemble()`` to merge 
packets.
 If input packets have invalid parameters, ``rte_gro_reassemble()``
 returns them to applications. For example, packets of unsupported GRO
 types or TCP SYN packets are returned. Otherwise, the input packets are
-either merged with the existed packets in the tables or inserted into the
+either merged with the existing packets in the tables or inserted into the
 tables. Finally, applications use ``rte_gro_timeout_flush()`` to flush
 packets from the tables, when they want to get the GROed packets.
 
@@ -98,7 +98,7 @@ challenges in the algorithm design:
 - packet reordering makes it hard to merge packets. For example, Linux
   GRO fails to merge packets when encounters packet reordering.
 
-The above two challenges require our algorithm is:
+The above two challenges require that our algorithm is:
 
 - lightweight enough to scale fast networking speed
 
@@ -114,13 +114,13 @@ key-based algorithm. Packets are classified into "flows" 
by some header
 fields (we call them as "key"). To process an input packet, the algorithm
 searches for a matched "flow" (i.e., the same value of key) for the
 packet first, then checks all packets in the "flow" and tries to find a
-"neighbor" for it. If find a "neighbor", merge the two packets together.
-If can't find a "neighbor", store the packet into its "flow". If can't
+"neighbor" for it. If it finds a "neighbor", merge the two packets together.
+If it cannot find a "neighbor", store the packet into its "flow". If it cannot
 find a matched "flow", insert a new "flow" and store the packet into the
 "flow".
 
 .. note::
-        Packets in the same "flow" that can't merge are always caused
+        Packets in the same "flow" that cannot merge are always caused
         by packet reordering.
 
 The key-based algorithm has two characters:
@@ -199,15 +199,15 @@ 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
+  before calling 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
+- GRO library doesn't support processing packets with IPv4
   Options or VLAN tagged.
 
-- GRO library just supports to process the packet organized
+- GRO library only supports processing packets organized
   in a single MBUF. If the input packet consists of multiple
   MBUFs (i.e. chained MBUFs), GRO reassembly behaviors are
   unknown.
-- 
2.51.0

Reply via email to