On Tue, Apr 5, 2016 at 6:54 AM, Na Zhu <na...@cn.ibm.com> wrote:

> This patch add column "enabled" to table Logical_Router for setting router
> administrative state.
>
> The type of "enabled" is bool.
>
> If the administrative state is false, delete all the flows relevant to the
>
> logical router from table Logical_Flow.
>

You have an extra blank line in the commit message above.


>
> Signed-off-by: Na Zhu <na...@cn.ibm.com>
> Reported-by: Na Zhu <na...@cn.ibm.com>
> Reported-at: https://bugs.launchpad.net/networking-ovn/+bug/1563175
> ---
>  ovn/northd/ovn-northd.8.xml |  4 ++++
>  ovn/northd/ovn-northd.c     | 46
> +++++++++++++++++++++++++++++++++++++++++++++
>  ovn/ovn-nb.ovsschema        |  3 ++-
>  ovn/ovn-nb.xml              |  7 +++++++
>  4 files changed, 59 insertions(+), 1 deletion(-)
>
> diff --git a/ovn/northd/ovn-northd.8.xml b/ovn/northd/ovn-northd.8.xml
> index da776e1..fed996c 100644
> --- a/ovn/northd/ovn-northd.8.xml
> +++ b/ovn/northd/ovn-northd.8.xml
> @@ -397,6 +397,10 @@ output;
>
>      <h2>Logical Router Datapaths</h2>
>
> +    <p>
> +      This is only enabled logical router.
> +    </p>
> +
>

I suggest this alternative wording:

"Logical router datapaths will only exist for <ref table="Logical_Router"
db="OVN_Northbound"/> rows in the <ref db="OVN_Northbound"/> database that
do not have <ref column="enabled" table="Logical_Router"
db="OVN_Northbound"/> set to <code>false</code>."


>      <h3>Ingress Table 0: L2 Admission Control</h3>
>
>      <p>
> diff --git a/ovn/northd/ovn-northd.c b/ovn/northd/ovn-northd.c
> index 4b1d611..ec1c6af 100644
> --- a/ovn/northd/ovn-northd.c
> +++ b/ovn/northd/ovn-northd.c
> @@ -1312,6 +1312,12 @@ lport_is_up(const struct nbrec_logical_port *lport)
>  }
>
>  static bool
> +lrouter_is_enabled(const struct nbrec_logical_router *lrouter)
> +{
> +    return !lrouter->enabled || *lrouter->enabled;
> +}
> +
> +static bool
>  has_stateful_acl(struct ovn_datapath *od)
>  {
>      for (size_t i = 0; i < od->nbs->n_acls; i++) {
> @@ -1793,6 +1799,10 @@ build_lrouter_flows(struct hmap *datapaths, struct
> hmap *ports,
>              continue;
>          }
>
> +        if (!lrouter_is_enabled(od->nbr)) {
> +            continue;
> +        }
> +
>

This patch has to check this in several places.  I think it could be
simplified to only check it in one place.

ovn-northd only iterates the Logical_Router table in OVN_Northbound in a
single place.  Could you just ignore the Logical_Router row in that one
place instead?
 diff --git a/ovn/ovn-nb.ovsschema b/ovn/ovn-nb.ovsschema

> index 40a7a97..e878ac8 100644
> --- a/ovn/ovn-nb.ovsschema
> +++ b/ovn/ovn-nb.ovsschema
> @@ -1,7 +1,7 @@
>  {
>      "name": "OVN_Northbound",
>      "version": "2.0.2",
> -    "cksum": "4289495412 4436",
> +    "cksum": "1227843805 4513",
>      "tables": {
>          "Logical_Switch": {
>              "columns": {
>

You should update the schema version, as well.  I would make it "2.1.0".

-- 
Russell Bryant
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to