From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <john.mcnamara@intel.com>
Received: from mga03.intel.com (mga03.intel.com [134.134.136.65])
 by dpdk.org (Postfix) with ESMTP id 242C8282
 for <dev@dpdk.org>; Wed, 10 May 2017 12:14:18 +0200 (CEST)
Received: from fmsmga003.fm.intel.com ([10.253.24.29])
 by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 10 May 2017 03:14:17 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.38,318,1491289200"; d="scan'208";a="855114923"
Received: from irsmsx110.ger.corp.intel.com ([163.33.3.25])
 by FMSMGA003.fm.intel.com with ESMTP; 10 May 2017 03:14:16 -0700
Received: from irsmsx103.ger.corp.intel.com ([169.254.3.241]) by
 irsmsx110.ger.corp.intel.com ([169.254.15.151]) with mapi id 14.03.0319.002;
 Wed, 10 May 2017 11:14:16 +0100
From: "Mcnamara, John" <john.mcnamara@intel.com>
To: Ravi Kerur <rkerur@gmail.com>, "dev@dpdk.org" <dev@dpdk.org>
CC: "thomas@monjalon.net" <thomas@monjalon.net>
Thread-Topic: [PATCH v2] doc: Merge l3fwd and l3fwd-acl documentation files
Thread-Index: AQHSyD43P1X53I8vDkKS7Y4enGx1cKHtWPrQ
Date: Wed, 10 May 2017 10:14:15 +0000
Message-ID: <B27915DBBA3421428155699D51E4CFE2332CADEC@IRSMSX103.ger.corp.intel.com>
References: <1493145557-17160-1-git-send-email-rkerur@gmail.com>
 <1494277227-25876-1-git-send-email-rkerur@gmail.com>
In-Reply-To: <1494277227-25876-1-git-send-email-rkerur@gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ctpclassification: CTP_IC
x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNzRmNjhjYTAtNGMwOC00ZGUyLThiZTctNmIxMmM0NWEwOGU4IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6IldzY1pvTWRnb1VLUFNXQ1NkSjk1RUxyRzFDMUkxZkZRZGlodFU4NTY1SDA9In0=
dlp-product: dlpe-windows
dlp-version: 10.0.102.7
dlp-reaction: no-action
x-originating-ip: [163.33.239.181]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [dpdk-dev] [PATCH v2] doc: Merge l3fwd and l3fwd-acl
	documentation files
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Wed, 10 May 2017 10:14:19 -0000



> -----Original Message-----
> From: Ravi Kerur [mailto:rkerur@gmail.com]
> Sent: Monday, May 8, 2017 10:00 PM
> To: dev@dpdk.org
> Cc: Mcnamara, John <john.mcnamara@intel.com>; thomas@monjalon.net; Ravi
> Kerur <rkerur@gmail.com>
> Subject: [PATCH v2] doc: Merge l3fwd and l3fwd-acl documentation files
>=20
> Merge l3fwd and l3fwd-acl documentation to reflect the code.
> Add examples of LPM and Exact Match rules in .svg files.
>=20
> Signed-off-by: Ravi Kerur <rkerur@gmail.com>
> ---
> v2:
> 	Remove binary PNG from .svg files.
>=20
> v1:
> 	Merge relevant contents of l3fwd and l3fwd-acl documentation.
> 	Modify l3fwd document with ACL specific information.
> 	Remove l3fwd-acl documentation file.
> ---
>  doc/guides/sample_app_ug/img/ipv4_hash_rule.svg    | 108 ++++++
>  doc/guides/sample_app_ug/img/ipv4_lpm_rule.svg     |  96 +++++
>  doc/guides/sample_app_ug/index.rst                 |   1 -
>  doc/guides/sample_app_ug/l3_forward.rst            | 326
> ++++++++++++++++-
>  .../sample_app_ug/l3_forward_access_ctrl.rst       | 385 ---------------=
-
> -----
>  5 files changed, 521 insertions(+), 395 deletions(-)  create mode 100644
> doc/guides/sample_app_ug/img/ipv4_hash_rule.svg
>  create mode 100644 doc/guides/sample_app_ug/img/ipv4_lpm_rule.svg
>=20


Thanks once more for the doc. Some comments below.


> ...
>      Redistribution and use in source and binary forms, with or without @=
@
> -31,12 +31,18 @@
>  L3 Forwarding Sample Application
>  =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D
>=20
> -The L3 Forwarding application is a simple example of packet processing
> using the DPDK.
> -The application performs L3 forwarding.
> +The L3 Forwarding with Hash, LPM or Access Control application is a
> simple example of packet processing using the DPDK.
> +The application performs L3 forwarding when Hash or LPM is used.
> +The application performs a security check on received packets when Acces=
s
> Control is used.
> +Packets that are in the Access Control List (ACL), which is loaded durin=
g
> initialization, are dropped.
> +Others are forwarded to the correct port.


For the introduction I would suggest the following rewording:

L3 Forwarding Sample Application
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D

The L3 Forwarding application is a simple example of packet processing usin=
g
the DPDK with Hash, LPM (Longest Prefix match) or Access Control.

The application performs L3 forwarding when Hash or LPM is used.
Alternatively, the application performs a security check on received packet=
s
when Access Control is used.  Packets that are in the Access Control List
(ACL), which is loaded during initialization, are dropped.  Others packets =
are
forwarded to the correct port.




>  The main difference from the L2 Forwarding sample application is that th=
e
> forwarding decision @@ -49,15 +55,263 @@ The hash object is used in
> correlation with a flow table to map each input packe  The hash lookup ke=
y
> is represented by a DiffServ 5-tuple composed of the following fields rea=
d
> from the input packet:
>  Source IP Address, Destination IP Address, Protocol, Source Port and
> Destination Port.

This is fine but would be a bit clearer as a list:


The hash lookup key is represented by a 5-tuple composed of the following f=
ields read from the input packet:

* Source IP Address.
* Destination IP Address.
* Protocol.
* Source Port.
* Destination Port.



> +
> +.. _figure_ipv4_lpm_rule:
> +
> +.. figure:: img/ipv4_lpm_rule.*
> +
> +   A typical IPv4 LPM rule
> +
> +*   A typical IPv4 hash rule line should have a format as shown below:
> +
> +
> +.. _figure_ipv4_hash_rule:
> +
> +.. figure:: img/ipv4_hash_rule.*
> +
> +   A typical IPv4 hash rule
> +


Unfortunately these figures don't render very well. I would suggest replaci=
ng
them with text, like below:


A typical IPv4 LPM rule line in an input file would look like the following=
::


    # Dest Address/mask   Eth port
    # =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D   =3D=3D=3D=3D=3D=
=3D=3D=3D

    L100.10.10.10/24      0


A typical IPv4 Hash rule line in an input file would look like the followin=
g::

    # Src Address  Dst Address  Src Port  Dst port  Protocol  Eth port
    # =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D  =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =
 =3D=3D=3D=3D=3D=3D=3D=3D  =3D=3D=3D=3D=3D=3D=3D=3D  =3D=3D=3D=3D=3D=3D=3D=
=3D  =3D=3D=3D=3D=3D=3D=3D=3D

    E100.10.10.0  100.10.0.0    110       111       0x6       0


There a few other thing that could be improved in the doc but these issues =
were
already there in text that you are merging so apart from these suggestion
the rest of the doc is okay for now. We should try to come back and improve
the consistency at a later date.

John