lkml.org 
[lkml]   [2020]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 31/37] docs: networking: convert strparser.txt to ReST
    Date
    - add SPDX header;
    - adjust title markup;
    - mark code blocks and literals as such;
    - mark tables as such;
    - adjust identation, whitespaces and blank lines where needed;
    - add to networking/index.rst.

    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    ---
    Documentation/networking/index.rst | 1 +
    .../{strparser.txt => strparser.rst} | 85 +++++++++++++------
    2 files changed, 60 insertions(+), 26 deletions(-)
    rename Documentation/networking/{strparser.txt => strparser.rst} (80%)

    diff --git a/Documentation/networking/index.rst b/Documentation/networking/index.rst
    index d19ddcbe66e5..e5a705024c6a 100644
    --- a/Documentation/networking/index.rst
    +++ b/Documentation/networking/index.rst
    @@ -104,6 +104,7 @@ Contents:
    secid
    seg6-sysctl
    skfp
    + strparser

    .. only:: subproject and html

    diff --git a/Documentation/networking/strparser.txt b/Documentation/networking/strparser.rst
    similarity index 80%
    rename from Documentation/networking/strparser.txt
    rename to Documentation/networking/strparser.rst
    index a7d354ddda7b..6cab1f74ae05 100644
    --- a/Documentation/networking/strparser.txt
    +++ b/Documentation/networking/strparser.rst
    @@ -1,4 +1,8 @@
    +.. SPDX-License-Identifier: GPL-2.0
    +
    +=========================
    Stream Parser (strparser)
    +=========================

    Introduction
    ============
    @@ -34,8 +38,10 @@ that is called when a full message has been completed.
    Functions
    =========

    -strp_init(struct strparser *strp, struct sock *sk,
    - const struct strp_callbacks *cb)
    + ::
    +
    + strp_init(struct strparser *strp, struct sock *sk,
    + const struct strp_callbacks *cb)

    Called to initialize a stream parser. strp is a struct of type
    strparser that is allocated by the upper layer. sk is the TCP
    @@ -43,31 +49,41 @@ strp_init(struct strparser *strp, struct sock *sk,
    callback mode; in general mode this is set to NULL. Callbacks
    are called by the stream parser (the callbacks are listed below).

    -void strp_pause(struct strparser *strp)
    + ::
    +
    + void strp_pause(struct strparser *strp)

    Temporarily pause a stream parser. Message parsing is suspended
    and no new messages are delivered to the upper layer.

    -void strp_unpause(struct strparser *strp)
    + ::
    +
    + void strp_unpause(struct strparser *strp)

    Unpause a paused stream parser.

    -void strp_stop(struct strparser *strp);
    + ::
    +
    + void strp_stop(struct strparser *strp);

    strp_stop is called to completely stop stream parser operations.
    This is called internally when the stream parser encounters an
    error, and it is called from the upper layer to stop parsing
    operations.

    -void strp_done(struct strparser *strp);
    + ::
    +
    + void strp_done(struct strparser *strp);

    strp_done is called to release any resources held by the stream
    parser instance. This must be called after the stream processor
    has been stopped.

    -int strp_process(struct strparser *strp, struct sk_buff *orig_skb,
    - unsigned int orig_offset, size_t orig_len,
    - size_t max_msg_size, long timeo)
    + ::
    +
    + int strp_process(struct strparser *strp, struct sk_buff *orig_skb,
    + unsigned int orig_offset, size_t orig_len,
    + size_t max_msg_size, long timeo)

    strp_process is called in general mode for a stream parser to
    parse an sk_buff. The number of bytes processed or a negative
    @@ -75,7 +91,9 @@ int strp_process(struct strparser *strp, struct sk_buff *orig_skb,
    consume the sk_buff. max_msg_size is maximum size the stream
    parser will parse. timeo is timeout for completing a message.

    -void strp_data_ready(struct strparser *strp);
    + ::
    +
    + void strp_data_ready(struct strparser *strp);

    The upper layer calls strp_tcp_data_ready when data is ready on
    the lower socket for strparser to process. This should be called
    @@ -83,7 +101,9 @@ void strp_data_ready(struct strparser *strp);
    maximum messages size is the limit of the receive socket
    buffer and message timeout is the receive timeout for the socket.

    -void strp_check_rcv(struct strparser *strp);
    + ::
    +
    + void strp_check_rcv(struct strparser *strp);

    strp_check_rcv is called to check for new messages on the socket.
    This is normally called at initialization of a stream parser
    @@ -94,7 +114,9 @@ Callbacks

    There are six callbacks:

    -int (*parse_msg)(struct strparser *strp, struct sk_buff *skb);
    + ::
    +
    + int (*parse_msg)(struct strparser *strp, struct sk_buff *skb);

    parse_msg is called to determine the length of the next message
    in the stream. The upper layer must implement this function. It
    @@ -107,14 +129,16 @@ int (*parse_msg)(struct strparser *strp, struct sk_buff *skb);

    The return values of this function are:

    - >0 : indicates length of successfully parsed message
    - 0 : indicates more data must be received to parse the message
    - -ESTRPIPE : current message should not be processed by the
    - kernel, return control of the socket to userspace which
    - can proceed to read the messages itself
    - other < 0 : Error in parsing, give control back to userspace
    - assuming that synchronization is lost and the stream
    - is unrecoverable (application expected to close TCP socket)
    + ========= ===========================================================
    + >0 indicates length of successfully parsed message
    + 0 indicates more data must be received to parse the message
    + -ESTRPIPE current message should not be processed by the
    + kernel, return control of the socket to userspace which
    + can proceed to read the messages itself
    + other < 0 Error in parsing, give control back to userspace
    + assuming that synchronization is lost and the stream
    + is unrecoverable (application expected to close TCP socket)
    + ========= ===========================================================

    In the case that an error is returned (return value is less than
    zero) and the parser is in receive callback mode, then it will set
    @@ -123,7 +147,9 @@ int (*parse_msg)(struct strparser *strp, struct sk_buff *skb);
    the current message, then the error set on the attached socket is
    ENODATA since the stream is unrecoverable in that case.

    -void (*lock)(struct strparser *strp)
    + ::
    +
    + void (*lock)(struct strparser *strp)

    The lock callback is called to lock the strp structure when
    the strparser is performing an asynchronous operation (such as
    @@ -131,14 +157,18 @@ void (*lock)(struct strparser *strp)
    function is to lock_sock for the associated socket. In general
    mode the callback must be set appropriately.

    -void (*unlock)(struct strparser *strp)
    + ::
    +
    + void (*unlock)(struct strparser *strp)

    The unlock callback is called to release the lock obtained
    by the lock callback. In receive callback mode the default
    function is release_sock for the associated socket. In general
    mode the callback must be set appropriately.

    -void (*rcv_msg)(struct strparser *strp, struct sk_buff *skb);
    + ::
    +
    + void (*rcv_msg)(struct strparser *strp, struct sk_buff *skb);

    rcv_msg is called when a full message has been received and
    is queued. The callee must consume the sk_buff; it can
    @@ -152,7 +182,9 @@ void (*rcv_msg)(struct strparser *strp, struct sk_buff *skb);
    the length of the message. skb->len - offset may be greater
    then full_len since strparser does not trim the skb.

    -int (*read_sock_done)(struct strparser *strp, int err);
    + ::
    +
    + int (*read_sock_done)(struct strparser *strp, int err);

    read_sock_done is called when the stream parser is done reading
    the TCP socket in receive callback mode. The stream parser may
    @@ -160,7 +192,9 @@ int (*read_sock_done)(struct strparser *strp, int err);
    to occur when exiting the loop. If the callback is not set (NULL
    in strp_init) a default function is used.

    -void (*abort_parser)(struct strparser *strp, int err);
    + ::
    +
    + void (*abort_parser)(struct strparser *strp, int err);

    This function is called when stream parser encounters an error
    in parsing. The default function stops the stream parser and
    @@ -204,4 +238,3 @@ Author
    ======

    Tom Herbert (tom@quantonium.net)
    -
    --
    2.25.4
    \
     
     \ /
      Last update: 2020-04-30 18:10    [W:3.118 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site