[PATCH v5 32/54] doc: correct grammar in membership library guide

Stephen Hemminger stephen at networkplumber.org
Sun Jan 18 20:10:35 CET 2026


Correct various grammar and style issues in the membership library
documentation:

- use "that" instead of "who" for applications
- fix subject-verb agreement in multiple places
- use consistent capitalization for Sub-figure references
- add missing articles before nouns
- correct grammar for element insertion description
- add missing relative pronouns for clarity
- fix "two time" to "two times the"
- correct function names to use rte_member_* pattern consistently
  (rte_membership_lookup_multi_bulk -> rte_member_lookup_multi_bulk,
   rte_membership_delete -> rte_member_delete)

Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
 doc/guides/prog_guide/member_lib.rst | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/doc/guides/prog_guide/member_lib.rst b/doc/guides/prog_guide/member_lib.rst
index d2f76de35c..fde7204ad4 100644
--- a/doc/guides/prog_guide/member_lib.rst
+++ b/doc/guides/prog_guide/member_lib.rst
@@ -31,7 +31,7 @@ is a fundamental data aggregation component that can be used in many network
 (and other) applications. It is a crucial structure to address performance and
 scalability issues of diverse network applications including overlay networks,
 data-centric networks, flow table summaries, network statistics and
-traffic monitoring. A set-summary is useful for applications who need to
+traffic monitoring. A set-summary is useful for applications that need to
 include a list of elements while a complete list requires too much space
 and/or too much processing cost. In these situations, the set-summary works as
 a lossy hash-based representation of a set of members. It can dramatically
@@ -47,7 +47,7 @@ probability.
 There are various usages for a Membership Library in a very
 large set of applications and workloads. Interested readers can refer to
 [Member-survey] for a survey of possible networking usages. The above figure
-provide a small set of examples of using the Membership Library:
+provides a small set of examples of using the Membership Library:
 
 * Sub-figure (a)
   depicts a distributed web cache architecture where a collection of proxies
@@ -66,7 +66,7 @@ provide a small set of examples of using the Membership Library:
   whether its id is a member of the set of visited nodes, and if it is, then a
   routing loop is detected.
 
-* Sub-Figure (c) presents another usage of the Membership
+* Sub-figure (c) presents another usage of the Membership
   Library to load-balance flows to worker threads with in-order guarantee where a
   set-summary is used to query if a packet belongs to an existing flow or a new
   flow. Packets belonging to a new flow are forwarded to the current least loaded
@@ -79,7 +79,7 @@ provide a small set of examples of using the Membership Library:
   element of a set against the other elements in a different set, a join is done
   on the summaries since they can efficiently encode members of a given set.
 
-Membership Library is a configurable library that is optimized to cover set
+The Membership Library is a configurable library that is optimized to cover set
 membership functionality for both a single set and multi-set scenarios. Two set-summary
 schemes are presented including (a) vector of Bloom Filters and (b) Hash-Table based
 set-summary schemes with and without false negative probability.
@@ -99,8 +99,8 @@ The BF is a method for representing a set of ``n`` elements (for example flow ke
 in network applications domain) to support membership queries. The idea of BF is
 to allocate a bit-vector ``v`` with ``m`` bits, which are initially all set to 0. Then
 it chooses ``k`` independent hash functions ``h1``, ``h2``, ... ``hk`` with hash values range from
-``0`` to ``m-1`` to perform hashing calculations on each element to be inserted. Every time when an
-element ``X`` being inserted into the set, the bits at positions ``h1(X)``, ``h2(X)``, ...
+``0`` to ``m-1`` to perform hashing calculations on each element to be inserted. Every time an
+element ``X`` is inserted into the set, the bits at positions ``h1(X)``, ``h2(X)``, ...
 ``hk(X)`` in ``v`` are set to 1 (any particular bit might be set to 1 multiple times
 for multiple different inserted elements). Given a query for any element ``Y``, the
 bits at positions ``h1(Y)``, ``h2(Y)``, ... ``hk(Y)`` are checked. If any of them is 0,
@@ -126,9 +126,9 @@ lookup with element comparison.
 
   Detecting Routing Loops Using BF
 
-BF is used for applications that need only one set, and the
+A BF is used for applications that need only one set, and the
 membership of elements is checked against the BF. The example discussed
-in the above figure is one example of potential applications that uses only one
+in the above figure is one example of potential applications that use only one
 set to capture the node IDs that have been visited so far by the packet. Each
 node will then check this embedded BF in the packet header for its own id, and
 if the BF indicates that the current node is definitely not in the set then a
@@ -280,7 +280,7 @@ The general input arguments used when creating the set-summary should include ``
 which is the name of the created set-summary, *type* which is one of the types
 supported by the library (e.g. ``RTE_MEMBER_TYPE_HT`` for HTSS or ``RTE_MEMBER_TYPE_VBF`` for vBF), and ``key_len``
 which is the length of the element/key. There are other parameters
-are only used for certain type of set-summary, or which have a slightly different meaning for different types of set-summary.
+that are only used for a certain type of set-summary, or that have a slightly different meaning for different types of set-summary.
 For example, ``num_keys`` parameter means the maximum number of entries for Hash table based set-summary.
 However, for bloom filter, this value means the expected number of keys that could be
 inserted into the bloom filter(s). The value is used to calculate the size of each
@@ -293,7 +293,7 @@ set-summary. For HTSS, another parameter ``is_cache`` is used to indicate
 if this set-summary is a cache (i.e. with false negative probability) or not.
 For vBF, extra parameters are needed. For example, ``num_set`` is the number of
 sets needed to initialize the vector bloom filters. This number is equal to the
-number of bloom filters will be created.
+number of bloom filters that will be created.
 ``false_pos_rate`` is the false positive rate. num_keys and false_pos_rate will be used to determine
 the number of hash functions and the bloom filter size.
 
@@ -346,11 +346,11 @@ element/key that needs to be looked up, ``max_match_per_key`` which is to indica
 the user expects to find for each key, and ``set_id`` which is used to return all
 target set ids where the key has matched, if any. The ``set_id`` array should be sized
 according to ``max_match_per_key``. For vBF, the maximum number of matches per key is equal
-to the number of sets. For HTSS, the maximum number of matches per key is equal to two time
+to the number of sets. For HTSS, the maximum number of matches per key is equal to two times the
 entry count per bucket. ``max_match_per_key`` should be equal or smaller than the maximum number of
 possible matches.
 
-The ``rte_membership_lookup_multi_bulk()`` function looks up a bulk of keys/elements in the
+The ``rte_member_lookup_multi_bulk()`` function looks up a bulk of keys/elements in the
 set-summary structure for multiple matches, each key lookup returns ALL the matches (possibly more
 than one) found for this key when it is matched against all target sets (cache mode HTSS
 matches at most one target set). The
@@ -370,7 +370,7 @@ possible matches, similar to ``rte_member_lookup_multi``.
 Set-summary Element Delete
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The ``rte_membership_delete()`` function deletes an element/key from a set-summary structure, if it fails
+The ``rte_member_delete()`` function deletes an element/key from a set-summary structure, if it fails
 an error is returned. The input arguments should include ``key`` which is a pointer to the
 element/key that needs to be deleted from the set-summary, and ``set_id``
 which is the set id associated with the key to delete. It is worth noting that current
-- 
2.51.0



More information about the dev mailing list