On Mon, May 11, 2026 at 8:58 PM Mark Michelson via dev <
[email protected]> wrote:

> Add missing commands to the manpage: mirror-rule-add, mirror-rule-del,
> lr-nat-update-ext-ip, ha-chassis-group-set-chassis-prio,
> lsp-add-router-port, and lsp-add-localnet-port.
>
> Add missing options to the manpage: --add-route for lb-add, --fair and
> --may-exist for meter-add, --chain and --output-port for lr-policy-add,
> --chain for lr-policy-del, and ADDRESS_FAMILY argument for lb-add.
>
> Fix errors in the manpage: remove erroneous --route-table from
> lr-policy-add, add optional argument to nfg-list, update lr-policy-add
> action list to include jump.
>
> Update nbctl_usage() to list all available options for every command,
> matching the command table. Fix the mirror-rule-del signature, the
> dhcp-options-get-options typo, and various formatting issues.
>
> Assisted-by: Claude Code (Claude Opus 4.6)
> Signed-off-by: Mark Michelson <[email protected]>
> ---
>  NEWS                      |   6 ++
>  utilities/ovn-nbctl.8.xml | 174 ++++++++++++++++++++++++++++++----
>  utilities/ovn-nbctl.c     | 191 ++++++++++++++++++++++----------------
>  3 files changed, 270 insertions(+), 101 deletions(-)
>
> diff --git a/NEWS b/NEWS
> index 8633ba8bb..04f24a5ca 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -1,5 +1,11 @@
>  Post v26.03.0
>  -------------
> +   - Documented missing ovn-nbctl commands: "mirror-rule-add",
> +     "mirror-rule-del", "lr-nat-update-ext-ip",
> +     "ha-chassis-group-set-chassis-prio", "lsp-add-router-port",
> +     and "lsp-add-localnet-port".  Also documented missing options for
> +     "lb-add", "meter-add", "lr-policy-add", and "lr-policy-del", and
> +     fixed the "nfg-list" signature.
>     - Dynamic Routing:
>       * Add support for hub-and-spoke propagation via the "hub-spoke"
> option
>         in dynamic-routing-redistribute settings.
> diff --git a/utilities/ovn-nbctl.8.xml b/utilities/ovn-nbctl.8.xml
> index 4fbd0bb0e..aaff29ec0 100644
> --- a/utilities/ovn-nbctl.8.xml
> +++ b/utilities/ovn-nbctl.8.xml
> @@ -545,10 +545,12 @@
>        </p>
>        </dd>
>
> -      <dt><code>nfg-list</code></dt>
> +      <dt><code>nfg-list</code> [<var>nfg</var>]</dt>
>        <dd>
>          <p>
> -          Lists all network function groups.
> +          Lists all network function groups.  If a specific network
> +          function group <var>nfg</var> is given, only that group is
> +          listed.
>          </p>
>        </dd>
>
> @@ -634,7 +636,7 @@
>
>      <h2>Meter Commands</h2>
>      <dl>
> -        <dt><code>meter-add</code> <var>name</var> <var>action</var>
> <var>rate</var> <var>unit</var> [<var>burst</var>]</dt>
> +        <dt>[<code>--fair</code>] [<code>--may-exist</code>]
> <code>meter-add</code> <var>name</var> <var>action</var> <var>rate</var>
> <var>unit</var> [<var>burst</var>]</dt>
>        <dd>
>          <p>
>            Adds the specified meter.  <var>name</var> must be a unique
> @@ -666,6 +668,18 @@
>            internal use by OVN, so <code>ovn-nbctl</code> does not allow
>            adding them.
>          </p>
> +
> +        <p>
> +          If <code>--fair</code> is specified, the meter's
> +          <code>fair</code> column is set to <code>true</code>, enabling
> +          fair bandwidth sharing among rows that reference this meter.
> +        </p>
> +
> +        <p>
> +          If <code>--may-exist</code> is specified, adding a meter with
> +          a name that already exists will update the existing meter
> +          instead of reporting an error.
> +        </p>
>        </dd>
>
>        <dt><code>meter-del</code> [<var>name</var>]</dt>
> @@ -974,6 +988,40 @@
>        <dd>
>          Detaches the mirror <var>m</var> from the logical port
> <var>port</var>.
>        </dd>
> +
> +      <dt>[<code>--may-exist</code>] <code>lsp-add-router-port</code>
> +          <var>switch</var> <var>port</var> <var>lrp_peer</var></dt>
> +      <dd>
> +        <p>
> +          Creates a new logical switch port named <var>port</var> on
> +          <var>switch</var> with type <code>router</code>, sets the
> +          <code>router-port</code> option to <var>lrp_peer</var>, and
> +          sets addresses to <code>router</code>.
> +        </p>
> +
> +        <p>
> +          With <code>--may-exist</code>, it is not an error if the port
> +          already exists, as long as it is in the same switch, has the
> +          same type, and has the same <code>router-port</code> option.
> +        </p>
> +      </dd>
> +
> +      <dt>[<code>--may-exist</code>] <code>lsp-add-localnet-port</code>
> +          <var>switch</var> <var>port</var> <var>network</var></dt>
> +      <dd>
> +        <p>
> +          Creates a new logical switch port named <var>port</var> on
> +          <var>switch</var> with type <code>localnet</code>, sets the
> +          <code>network_name</code> option to <var>network</var>, and
> +          sets addresses to <code>unknown</code>.
> +        </p>
> +
> +        <p>
> +          With <code>--may-exist</code>, it is not an error if the port
> +          already exists, as long as it is in the same switch, has the
> +          same type, and has the same <code>network_name</code> option.
> +        </p>
> +      </dd>
>      </dl>
>
>      <h2>Forwarding Group Commands</h2>
> @@ -1254,7 +1302,8 @@
>
>      <dl>
>        <dt>[<code>--may-exist</code>] [<code>--bfd</code>]
> -          [<code>--route-table</code>=<var>ROUTE_TABLE</var>]
> +          [<code>--chain</code>=<var>CHAIN</var>]
> +          [<code>--output-port</code>=<var>OUTPUT_PORT</var>]
>            <code>lr-policy-add</code>
>            <var>router</var> <var>priority</var> <var>match</var>
>            <var>action</var> [<var>nexthop</var>[,<var>nexthop</var>,...]]
> @@ -1262,16 +1311,18 @@
>        <dd>
>          <p>
>            Add Policy to <var>router</var> which provides a way to
> configure
> -          permit/deny and reroute policies on the router. Permit/deny
> policies
> -          are similar to OVN ACLs, but exist on the logical-router.
> Reroute
> -          policies are needed for service-insertion and service-chaining.
> -          <var>nexthop</var> is an optional parameter. It needs to be
> provided
> -          only when <var>action</var> is <var>reroute</var>. Multiple
> -          <code>nexthops</code> can be specified for ECMP routing.
> -          A policy is uniquely identified by <var>priority</var> and
> -          <var>match</var>. Multiple policies can have the same
> -          <var>priority</var>. <var>options</var> sets the router policy
> -          options as key-value pair.
> +          allow, drop, jump, and reroute policies on the router.  Allow
> and
> +          drop policies are similar to OVN ACLs, but exist on the
> +          logical-router.  Reroute policies are needed for
> service-insertion
> +          and service-chaining.  The <var>action</var> must be one of
> +          <code>allow</code>, <code>drop</code>, <code>jump</code>, or
> +          <code>reroute</code>.  <var>nexthop</var> is an optional
> +          parameter.  It needs to be provided only when <var>action</var>
> +          is <code>reroute</code>.  Multiple <code>nexthops</code> can be
> +          specified for ECMP routing.  A policy is uniquely identified by
> +          <var>priority</var> and <var>match</var>.  Multiple policies can
> +          have the same <var>priority</var>.  <var>options</var> sets the
> +          router policy options as key-value pair.
>            The supported option is : <code>pkt_mark</code>.
>          </p>
>
> @@ -1283,9 +1334,14 @@
>          </p>
>
>          <p>
> -          The <code>--route-table</code> option can be used to list the
> -          routes assigned to route table <var>ROUTE_TABLE</var> instead of
> -          the default <code>&lt;main&gt;</code> table.
> +          The <code>--chain</code> option specifies the policy chain name.
> +          This is used when the <var>action</var> is <code>jump</code>.
> +        </p>
> +
> +        <p>
> +          The <code>--output-port</code> option specifies the output
> +          logical router port.  This is only valid when the
> +          <var>action</var> is <code>reroute</code>.
>          </p>
>
>          <p>
> @@ -1313,7 +1369,9 @@
>            </p>
>        </dd>
>
> -      <dt>[<code>--if-exists</code>] <code>lr-policy-del</code>
> +      <dt>[<code>--if-exists</code>]
> +          [<code>--chain</code>=<var>CHAIN</var>]
> +          <code>lr-policy-del</code>
>            <var>router</var> [<var>{priority | uuid} [match]</var>]</dt>
>        <dd>
>          <p>
> @@ -1330,6 +1388,11 @@
>            <var>uuid</var> does not exist, unless <code>--if-exists</code>
>            is specified.
>          </p>
> +
> +        <p>
> +          If <code>--chain</code> is specified, only policies in the
> +          specified chain are considered for deletion.
> +        </p>
>        </dd>
>
>        <dt><code>lr-policy-list</code> <var>router</var></dt>
> @@ -1474,11 +1537,36 @@
>        <dd>
>          Lists the NATs on <var>router</var>.
>        </dd>
> +
> +      <dt>[<code>--is-exempted</code>] <code>lr-nat-update-ext-ip</code>
> +          <var>router</var> <var>type</var> <var>ip</var>
> +          <var>address_set</var></dt>
> +      <dd>
> +        <p>
> +          Updates the external IP address set for an existing NAT rule on
> +          <var>router</var>.  <var>type</var> must be one of
> +          <code>dnat</code>, <code>snat</code>, or
> +          <code>dnat_and_snat</code>.  The command finds the matching
> +          NAT rule by <var>type</var> and <var>ip</var>, then sets the
> +          <code>allowed_ext_ips</code> column of the NAT rule to
> +          <var>address_set</var>.
> +        </p>
> +
> +        <p>
> +          If <code>--is-exempted</code> is specified, sets
> +          <code>exempted_ext_ips</code> instead of
> +          <code>allowed_ext_ips</code>.
> +        </p>
> +
> +        <p>
> +          It is an error if no matching NAT rule is found.
> +        </p>
> +      </dd>
>      </dl>
>
>      <h2>Load Balancer Commands</h2>
>      <dl>
> -        <dt>[<code>--may-exist</code> | <code>--add-duplicate</code> |
> <code>--reject</code> | <code>--event</code> | <code>--template</code>]
> <code>lb-add</code> <var>lb</var> <var>vip</var> <var>ips</var>
> [<var>protocol</var>]</dt>
> +        <dt>[<code>--may-exist</code> | <code>--add-duplicate</code> |
> <code>--reject</code> | <code>--event</code> | <code>--template</code> |
> <code>--add-route</code>] <code>lb-add</code> <var>lb</var> <var>vip</var>
> <var>ips</var> [<var>protocol</var>] [<var>address_family</var>]</dt>
>        <dd>
>          <p>
>           Creates a new load balancer named <var>lb</var> with the provided
> @@ -1537,6 +1625,17 @@
>           ^vip:^vport ^backend udp ipv4</code>.
>          </p>
>
> +        <p>
> +         If <code>--add-route</code> is specified, a route is
> automatically
> +         added for the load balancer's VIP subnet.
> +        </p>
> +
> +        <p>
> +         The optional <var>address_family</var> argument specifies the
> +         address family (<code>ipv4</code> or <code>ipv6</code>).  This
> +         is primarily used with template load balancers.
> +        </p>
> +
>          <p>
>           The following example adds a load balancer.
>          </p>
> @@ -1708,6 +1807,18 @@
>          group <code>group</code>. It is an error if <code>chassis</code>
> does
>          not exist.
>        </dd>
> +
> +      <dt><code>ha-chassis-group-set-chassis-prio</code> <var>group</var>
> +      <var>chassis</var> <var>priority</var></dt>
> +      <dd>
> +        <p>
> +          Sets the priority of an existing HA chassis <var>chassis</var>
> +          within the HA chassis group <var>group</var>.
> +          <var>priority</var> must be between <code>0</code> and
> +          <code>32767</code>, inclusive.  It is an error if
> +          <var>chassis</var> does not exist in <var>group</var>.
> +        </p>
> +      </dd>
>      </dl>
>
>      <h2> Control Plane Protection Policy commands</h2>
> @@ -1821,6 +1932,31 @@
>        <dd>
>          Lists the mirrors.
>        </dd>
> +
> +      <dt><code>mirror-rule-add</code> <var>mirror_name</var>
> +      <var>priority</var> <var>match</var> <var>action</var></dt>
> +      <dd>
> +        <p>
> +          Adds a mirror rule to the mirror named <var>mirror_name</var>.
> +          <var>priority</var> is an integer between <code>0</code> and
> +          <code>32767</code>, inclusive.  <var>match</var> is a match
> +          expression for selecting traffic.  <var>action</var> must be
> +          <code>mirror</code> or <code>skip</code>.  It is an error if
> +          a duplicate rule already exists on the mirror.
> +        </p>
> +      </dd>
> +
> +      <dt><code>mirror-rule-del</code> <var>mirror_name</var>
> +      [<var>priority</var> <var>match</var>]</dt>
> +      <dd>
> +        <p>
> +          Deletes mirror rules from the mirror named
> +          <var>mirror_name</var>.  If only <var>mirror_name</var> is
> +          given, all mirror rules are deleted from that mirror.  If
> +          <var>priority</var> and <var>match</var> are also given, only
> +          the rule matching both is deleted.
> +        </p>
> +      </dd>
>      </dl>
>
>      <h2>Health Check commands</h2>
> diff --git a/utilities/ovn-nbctl.c b/utilities/ovn-nbctl.c
> index 0ef207272..9f6bb374b 100644
> --- a/utilities/ovn-nbctl.c
> +++ b/utilities/ovn-nbctl.c
> @@ -289,64 +289,62 @@ General commands:\n\
>    show ROUTER               print overview of database contents for
> ROUTER\n\
>  \n\
>  Logical switch commands:\n\
> +  [--may-exist | --add-duplicate]\n\
>    ls-add [SWITCH]           create a logical switch named SWITCH\n\
> +  [--if-exists]\n\
>    ls-del SWITCH             delete SWITCH and all its ports\n\
>    ls-list                   print the names of all logical switches\n\
>  \n\
>  ACL commands:\n\
> -  [--type={switch | port-group}] [--log] [--severity=SEVERITY]
> [--name=NAME] [--may-exist]\n\
> -  acl-add {SWITCH | PORTGROUP} DIRECTION PRIORITY MATCH ACTION
> [NETWORK-FUNCTION-GROUP]\n\
> +  [--type={switch | port-group}] [--log] [--severity=SEVERITY]\n\
> +  [--name=NAME] [--meter=METER] [--label=LABEL] [--may-exist]\n\
> +  [--apply-after-lb] [--tier=TIER]\n\
> +  [--sample-new=COLLECTOR_SET_ID] [--sample-est=COLLECTOR_SET_ID]\n\
> +  acl-add {SWITCH | PORTGROUP} DIRECTION PRIORITY MATCH ACTION\n\
> +          [NETWORK-FUNCTION-GROUP]\n\
>                              add an ACL to SWITCH/PORTGROUP\n\
> -  [--type={switch | port-group}]\n\
> +  [--type={switch | port-group}] [--tier=TIER]\n\
>    acl-del {SWITCH | PORTGROUP} [DIRECTION [PRIORITY MATCH]]\n\
>                              remove ACLs from SWITCH/PORTGROUP\n\
> -  [--type={switch | port-group}]\n\
> +  [--type={switch | port-group}] [--all]\n\
>    acl-list {SWITCH | PORTGROUP}\n\
> -                            print ACLs for SWITCH\n\
> +                            print ACLs for SWITCH/PORTGROUP\n\
>  \n\
>  QoS commands:\n\
> -  qos-add SWITCH DIRECTION PRIORITY MATCH [rate=RATE [burst=BURST]]
> [dscp=DSCP] [mark=MARK]\n\
> -                            add an QoS rule to SWITCH\n\
> +  [--may-exist]\n\
> +  qos-add SWITCH DIRECTION PRIORITY MATCH [rate=RATE [burst=BURST]]\n\
> +          [dscp=DSCP] [mark=MARK]\n\
> +                            add a QoS rule to SWITCH\n\
>    qos-del SWITCH [{DIRECTION | UUID} [PRIORITY MATCH]]\n\
>                              remove QoS rules from SWITCH\n\
>    qos-list SWITCH           print QoS rules for SWITCH\n\
>  \n\
>  Mirror commands:\n\
> -  mirror-add NAME TYPE [INDEX] FILTER {IP | MIRROR-ID| TARGET-PORT} \n\
> +  [--may-exist]\n\
> +  mirror-add NAME TYPE [INDEX] FILTER DEST\n\
>                              add a mirror with given name\n\
> -                            specify TYPE 'gre', 'erspan', 'local'\n\
> -                                or 'lport'.\n\
> -                            specify the tunnel INDEX value\n\
> -                                (indicates key if GRE\n\
> -                                 erpsan_idx if ERSPAN)\n\
> -                            specify FILTER for mirroring selection\n\
> -                                'to-lport' / 'from-lport' / 'both'\n\
> -                            specify Sink / Destination i.e. Remote IP, or
> a\n\
> -                                local interface with
> external-ids:mirror-id\n\
> -                                matching MIRROR-ID\n\
> -                                In case of lport type specify logical
> switch\n\
> -                                port, which is a mirror target.\n\
>    mirror-del [NAME]         remove mirrors\n\
>    mirror-list               print mirrors\n\
> -  mirror-rule-add MIRROR-NAME PRIORITY MATCH ACTION \n\
> -                            add a mirror rule selection to given lport\n\
> -                            mirror.\n\
> -                            specify MATCH for selecting mirrored
> traffic.\n\
> -                            specify ACTION 'mirror' or 'skip'.\n\
> -  mirror-rule-del MIRROR-NAME [PRIORITY | MATCH] remove mirrors\n\
> +  mirror-rule-add MIRROR-NAME PRIORITY MATCH ACTION\n\
> +                            add a mirror rule to given mirror\n\
> +                            ACTION must be 'mirror' or 'skip'\n\
> +  mirror-rule-del MIRROR-NAME [PRIORITY MATCH]\n\
> +                            remove mirror rules from a mirror\n\
>  \n\
>  Meter commands:\n\
> -  [--fair]\n\
> +  [--fair] [--may-exist]\n\
>    meter-add NAME ACTION RATE UNIT [BURST]\n\
>                              add a meter\n\
>    meter-del [NAME]          remove meters\n\
>    meter-list                print meters\n\
>  \n\
>  Logical switch port commands:\n\
> +  [--may-exist]\n\
>    lsp-add SWITCH PORT       add logical port PORT on SWITCH\n\
>    lsp-add SWITCH PORT PARENT TAG\n\
>                              add logical port PORT on SWITCH with PARENT\n\
>                              on TAG\n\
> +  [--if-exists]\n\
>    lsp-del PORT              delete PORT from its attached switch\n\
>    lsp-list SWITCH           print the names of all logical ports on
> SWITCH\n\
>    lsp-get-parent PORT       get the parent of PORT if set\n\
> @@ -363,7 +361,8 @@ Logical switch port commands:\n\
>                              ('enabled' or 'disabled')\n\
>    lsp-get-enabled PORT      get administrative state PORT\n\
>                              ('enabled' or 'disabled')\n\
> -  lsp-set-type PORT TYPE    set the type for PORT\n\
> +  lsp-set-type PORT TYPE [peer=PEER]\n\
> +                            set the type for PORT\n\
>    lsp-get-type PORT         get the type for PORT\n\
>    lsp-set-options PORT KEY=VALUE [KEY=VALUE]...\n\
>                              set options related to the type of PORT\n\
> @@ -375,50 +374,65 @@ Logical switch port commands:\n\
>                              set dhcpv6 options for PORT\n\
>    lsp-get-dhcpv6-options PORT  get the dhcpv6 options for PORT\n\
>    lsp-get-ls PORT           get the logical switch which the port belongs
> to\n\
> +  [--may-exist]\n\
>    lsp-attach-mirror PORT MIRROR   attach source PORT to MIRROR\n\
>    lsp-detach-mirror PORT MIRROR   detach source PORT from MIRROR\n\
> -  lsp-add-router-port LS PORT LRP_PEER\n\
> -                                    Create LSP of type router with\n\
> -                                    router-port set to LRP_PEER\n\
> -  lsp-add-localnet-port LS PORT NETWORK\n\
> -                                    Create LSP of type localnet with\n\
> -                                    network_name set to NETWORK\n\
> +  [--may-exist]\n\
> +  lsp-add-router-port SWITCH PORT LRP_PEER\n\
> +                            create LSP of type router with\n\
> +                            router-port set to LRP_PEER\n\
> +  [--may-exist]\n\
> +  lsp-add-localnet-port SWITCH PORT NETWORK\n\
> +                            create LSP of type localnet with\n\
> +                            network_name set to NETWORK\n\
>  \n\
>  Forwarding group commands:\n\
>    [--liveness]\n\
>    fwd-group-add GROUP SWITCH VIP VMAC PORTS...\n\
>                              add a forwarding group on SWITCH\n\
> +  [--if-exists]\n\
>    fwd-group-del GROUP       delete a forwarding group\n\
> -  fwd-group-list [SWITCH]   print forwarding groups\n\
> +  fwd-group-list [GROUP]    print forwarding groups\n\
>  \n\
>  Network function group commands:\n\
> +  [--may-exist]\n\
>    nfg-add NETWORK-FUNCTION-GROUP ID MODE [NETWORK-FUNCTION]...\n\
>                              create a network-function-group\n\
> +  [--if-exists]\n\
>    nfg-del NETWORK-FUNCTION-GROUP\n\
>                              delete a network-function-group\n\
> -  nfg-list print all network-function-groups\n\
> +  nfg-list [NETWORK-FUNCTION-GROUP]\n\
> +                            print network-function-groups\n\
> +  [--may-exist]\n\
>    nfg-add-nf NETWORK-FUNCTION-GROUP NETWORK-FUNCTION\n\
>                              add a network-function to a\n\
>                              network-function-group\n\
> +  [--if-exists]\n\
>    nfg-del-nf NETWORK-FUNCTION-GROUP NETWORK-FUNCTION\n\
>                              delete a network-function from a\n\
>                              network-function-group\n\
>  \n\
>  Network function commands:\n\
> +  [--may-exist]\n\
>    nf-add NETWORK-FUNCTION ID PORT-IN PORT-OUT\n\
>                             create a network-function\n\
> +  [--if-exists]\n\
>    nf-del NETWORK-FUNCTION  delete a network-function\n\
>    nf-list                  print all network-functions\n\
>  \n\n",program_name, program_name);
>      printf("\
>  Logical router commands:\n\
> +  [--may-exist | --add-duplicate]\n\
>    lr-add [ROUTER]           create a logical router named ROUTER\n\
> +  [--if-exists]\n\
>    lr-del ROUTER             delete ROUTER and all its ports\n\
>    lr-list                   print the names of all logical routers\n\
>  \n\
>  Logical router port commands:\n\
> -  lrp-add ROUTER PORT MAC [NETWORK]... [peer=PEER]\n\
> +  [--may-exist]\n\
> +  lrp-add ROUTER PORT MAC [NETWORK]... [COLUMN[:KEY]=VALUE]...\n\
>                              add logical port PORT on ROUTER\n\
> +  [--may-exist]\n\
>    lrp-set-gateway-chassis PORT CHASSIS [PRIORITY]\n\
>                              set gateway chassis for port PORT\n\
>    lrp-set-options PORT KEY=VALUE [KEY=VALUE]...\n\
> @@ -428,6 +442,7 @@ Logical router port commands:\n\
>    lrp-get-gateway-chassis PORT\n\
>                              print the names of all gateway chassis on
> PORT\n\
>                              with PRIORITY\n\
> +  [--if-exists]\n\
>    lrp-del PORT              delete PORT from its attached router\n\
>    lrp-list ROUTER           print the names of all ports on ROUTER\n\
>    lrp-set-enabled PORT STATE\n\
> @@ -445,53 +460,59 @@ Logical router port commands:\n\
>                              ('overlay' or 'bridged')\n\
>  \n\
>  Route commands:\n\
> -  [--policy=POLICY]\n\
> -  [--ecmp]\n\
> -  [--ecmp-symmetric-reply]\n\
> -  [--route-table=ROUTE_TABLE]\n\
> -  [--bfd]\n\
> +  [--may-exist] [--policy=POLICY] [--ecmp] [--ecmp-symmetric-reply]\n\
> +  [--route-table=ROUTE_TABLE] [--bfd]\n\
>    lr-route-add ROUTER PREFIX NEXTHOP [PORT]\n\
>                              add a route to ROUTER\n\
> -  [--policy=POLICY]\n\
> -  [--route-table=ROUTE_TABLE]\n\
> +  [--if-exists] [--policy=POLICY] [--route-table=ROUTE_TABLE]\n\
>    lr-route-del ROUTER [PREFIX [NEXTHOP [PORT]]]\n\
>                              remove routes from ROUTER\n\
>    [--route-table=ROUTE_TABLE]\n\
>    lr-route-list ROUTER      print routes for ROUTER\n\
>  \n\
>  Policy commands:\n\
> -  [--bfd]\n\
> -  lr-policy-add ROUTER PRIORITY MATCH ACTION [NEXTHOP,[NEXTHOP,...]] \
> -[OPTIONS KEY=VALUE ...] \n\
> -                            add a policy to router\n\
> +  [--may-exist] [--bfd] [--chain=CHAIN] [--output-port=OUTPUT_PORT]\n\
> +  lr-policy-add ROUTER PRIORITY MATCH ACTION [NEXTHOP,[NEXTHOP,...]]\n\
> +                [OPTIONS KEY=VALUE ...]\n\
> +                            add a policy to ROUTER\n\
> +  [--if-exists] [--chain=CHAIN]\n\
>    lr-policy-del ROUTER [{PRIORITY | UUID} [MATCH]]\n\
>                              remove policies from ROUTER\n\
>    lr-policy-list ROUTER     print policies for ROUTER\n\
>  \n\n");
>      printf("\
>  NAT commands:\n\
> -  [--stateless]\n\
> -  [--portrange]\n\
> -  [--add-route]\n\
> -  [--gateway-port=GATEWAY_PORT]\n\
> -  lr-nat-add ROUTER TYPE EXTERNAL_IP LOGICAL_IP [LOGICAL_PORT
> EXTERNAL_MAC]\n\
> -                            [EXTERNAL_PORT_RANGE]\n\
> +  [--may-exist] [--stateless] [--portrange] [--add-route]\n\
> +  [--gateway-port=GATEWAY_PORT] [--priority=PRIORITY] [--match=MATCH]\n\
> +  lr-nat-add ROUTER TYPE EXTERNAL_IP LOGICAL_IP\n\
> +             [LOGICAL_PORT EXTERNAL_MAC] [EXTERNAL_PORT_RANGE]\n\
>                              add a NAT to ROUTER\n\
> +  [--if-exists] [--match=MATCH]\n\
>    lr-nat-del ROUTER [TYPE [IP] [GATEWAY_PORT]]\n\
>                              remove NATs from ROUTER\n\
>    lr-nat-list ROUTER        print NATs for ROUTER\n\
> +  [--is-exempted]\n\
> +  lr-nat-update-ext-ip ROUTER TYPE IP ADDRESS_SET\n\
> +                            update external IP address set for a NAT
> rule\n\
>  \n\
>  LB commands:\n\
> -  lb-add LB VIP[:PORT] IP[:PORT]... [PROTOCOL]\n\
> +  [--may-exist | --add-duplicate] [--reject] [--event] [--template]\n\
> +  [--add-route]\n\
> +  lb-add LB VIP[:PORT] IP[:PORT]... [PROTOCOL] [ADDRESS_FAMILY]\n\
>                              create a load-balancer or add a VIP to an\n\
>                              existing load balancer\n\
> +  [--if-exists]\n\
>    lb-del LB [VIP]           remove a load-balancer or just the VIP from\n\
>                              the load balancer\n\
>    lb-list [LB]              print load-balancers\n\
> +  [--may-exist]\n\
>    lr-lb-add ROUTER LB       add a load-balancer to ROUTER\n\
> +  [--if-exists]\n\
>    lr-lb-del ROUTER [LB]     remove load-balancers from ROUTER\n\
>    lr-lb-list ROUTER         print load-balancers\n\
> +  [--may-exist]\n\
>    ls-lb-add SWITCH LB       add a load-balancer to SWITCH\n\
> +  [--if-exists]\n\
>    ls-lb-del SWITCH [LB]     remove load-balancers from SWITCH\n\
>    ls-lb-list SWITCH         print load-balancers\n\
>  \n\
> @@ -500,11 +521,10 @@ DHCP Options commands:\n\
>                             create a DHCP options row with CIDR\n\
>    dhcp-options-del DHCP_OPTIONS_UUID\n\
>                             delete DHCP_OPTIONS_UUID\n\
> -  dhcp-options-list        \n\
> -                           lists the DHCP_Options rows\n\
> -  dhcp-options-set-options DHCP_OPTIONS_UUID  KEY=VALUE [KEY=VALUE]...\n\
> +  dhcp-options-list        lists the DHCP_Options rows\n\
> +  dhcp-options-set-options DHCP_OPTIONS_UUID KEY=VALUE [KEY=VALUE]...\n\
>                             set DHCP options for DHCP_OPTIONS_UUID\n\
> -  dhcp-options-get-options DHCO_OPTIONS_UUID \n\
> +  dhcp-options-get-options DHCP_OPTIONS_UUID\n\
>                             displays the DHCP options for
> DHCP_OPTIONS_UUID\n\
>  \n\
>  Connection commands:\n\
> @@ -516,50 +536,57 @@ Connection commands:\n\
>  SSL/TLS commands:\n\
>    get-ssl                     print the SSL/TLS configuration\n\
>    del-ssl                     delete the SSL/TLS configuration\n\
> -  set-ssl PRIV-KEY CERT CA-CERT [SSL-PROTOS [SSL-CIPHERS
> [SSL-CIPHERSUITES]]] \
> -set the SSL/TLS configuration\n\
> +  [--bootstrap]\n\
> +  set-ssl PRIV-KEY CERT CA-CERT [SSL-PROTOS [SSL-CIPHERS
> [SSL-CIPHERSUITES]]]\n\
> +                              set the SSL/TLS configuration\n\
> +\n\
>  Port group commands:\n\
> -  pg-add PG [PORTS]           Create port group PG with optional PORTS\n\
> -  pg-set-ports PG PORTS       Set PORTS on port group PG\n\
> -  pg-del PG                   Delete port group PG\n\
> -  pg-get-ports PG             Get PORTS on port group PG\n\
> +  pg-add PG [PORTS]           create port group PG with optional PORTS\n\
> +  pg-set-ports PG PORTS       set PORTS on port group PG\n\
> +  pg-del PG                   delete port group PG\n\
> +  pg-get-ports PG             get PORTS on port group PG\n\
> +\n\
>  HA chassis group commands:\n\
> -  ha-chassis-group-add GRP    Create an HA chassis group GRP\n\
> -  ha-chassis-group-del GRP    Delete the HA chassis group GRP\n\
> -  ha-chassis-group-list [GRP] Print the supplied HA chassis group or
> all\n\
> +  ha-chassis-group-add GRP    create an HA chassis group GRP\n\
> +  ha-chassis-group-del GRP    delete the HA chassis group GRP\n\
> +  ha-chassis-group-list [GRP] print the supplied HA chassis group or
> all\n\
>                                if none supplied\n\
> -  ha-chassis-group-add-chassis GRP CHASSIS PRIORITY Adds an HA\
> -chassis with mandatory PRIORITY to the HA chassis group GRP\n\
> -  ha-chassis-group-remove-chassis GRP CHASSIS Removes the HA chassis\
> -CHASSIS from the HA chassis group GRP\n\
> +  ha-chassis-group-add-chassis GRP CHASSIS PRIORITY\n\
> +                              add an HA chassis with PRIORITY to GRP\n\
> +  ha-chassis-group-remove-chassis GRP CHASSIS\n\
> +                              remove the HA chassis CHASSIS from GRP\n\
> +  ha-chassis-group-set-chassis-prio GRP CHASSIS PRIORITY\n\
> +                              set PRIORITY of CHASSIS in GRP\n\
>  \n\
>  Control Plane Protection Policy commands:\n\
>    copp-add NAME PROTO METER\n\
> -                            Add a copp policy for PROTO packets on NAME\n\
> +                            add a copp policy for PROTO packets on NAME\n\
>                              CoPP policy based on an existing METER.\n\
>    copp-del NAME [PROTO]\n\
> -                            Delete the copp policy for PROTO packets
> for\n\
> +                            delete the copp policy for PROTO packets
> for\n\
>                              NAME copp. If PROTO is not specified, delete
> all\n\
>                              copp policies defined for NAME.\n\
>    copp-list NAME\n\
> -                            List all copp policies defined for control\n\
> +                            list all copp policies defined for control\n\
>                              protocols NAME.\n\
>    ls-copp-add NAME SWITCH\n\
> -                            Add a NAME copp policy on SWITCH logical
> switch.\n\
> +                            add a NAME copp policy on SWITCH logical
> switch.\n\
>    lr-copp-add NAME ROUTER\n\
> -                            Add a NAME copp policy on ROUTER logical
> router.\n\
> +                            add a NAME copp policy on ROUTER logical
> router.\n\
>  \n\
>  MAC_Binding commands:\n\
> +  [--may-exist]\n\
>    static-mac-binding-add LOGICAL_PORT IP MAC\n\
> -                                    Add a Static_MAC_Binding entry\n\
> +                                    add a Static_MAC_Binding entry\n\
> +  [--if-exists]\n\
>    static-mac-binding-del LOGICAL_PORT IP\n\
> -                                    Delete Static_MAC_Binding entry\n\
> -  static-mac-binding-list           List all Static_MAC_Binding entries\n\
> +                                    delete Static_MAC_Binding entry\n\
> +  static-mac-binding-list           list all Static_MAC_Binding entries\n\
>  \n\
>  Logical Switch Port Health Check:\n\
> -  lsp-hc-add PORT PROTOCOL SOURCE_IP DST_PORT ADDRESS...\n\
> +  lsp-hc-add PORT PROTOCOL SOURCE_IP [DST_PORT] ADDRESS\n\
>                              add health check monitoring for PORT\n\
> -  lsp-hc-del PORT HC_UUID   delete health check monitoring for PORT\n\
> +  lsp-hc-del PORT [HC_UUID] delete health check monitoring for PORT\n\
>    lsp-hc-list PORT          list health checks for PORT\n\
>  \n\
>  %s\
> --
> 2.52.0
>
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
>
Thank you Mark,

applied to main.

Regards,
Ales
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to