>
> On Tue, Jun 25, 2019 at 12:35:26PM +0200, Lorenzo Bianconi wrote:
> > Introduce dst_port in options column of Encap table in order to add the
> > capability to configure destination port used for tunnel encapsulation
> >
> > Signed-off-by: Lorenzo Bianconi <[email protected]>
>
> Thank you.  I think that the documentation can be improved by using the
> documentation system's ability to document individual keys.  Here is my
> suggestion; I only changed the documentation.
>
> --8<--------------------------cut here-------------------------->8--
>
> From: Lorenzo Bianconi <[email protected]>
> Date: Tue, 25 Jun 2019 12:35:26 +0200
> Subject: [PATCH] OVN: add the possibility to specify tunnel dst port
>
> Introduce dst_port in options column of Encap table in order to add the
> capability to configure destination port used for tunnel encapsulation
>
> Signed-off-by: Lorenzo Bianconi <[email protected]>
> Signed-off-by: Ben Pfaff <[email protected]>
> ---
>  ovn/controller/encaps.c |  4 ++++
>  ovn/ovn-sb.xml          | 28 ++++++++++++++++++++--------
>  2 files changed, 24 insertions(+), 8 deletions(-)
>
> diff --git a/ovn/controller/encaps.c b/ovn/controller/encaps.c
> index 3b3921a736e2..d4a436df318c 100644
> --- a/ovn/controller/encaps.c
> +++ b/ovn/controller/encaps.c
> @@ -156,6 +156,7 @@ tunnel_add(struct tunnel_ctx *tc, const struct 
> sbrec_sb_global *sbg,
>      struct smap options = SMAP_INITIALIZER(&options);
>      smap_add(&options, "remote_ip", encap->ip);
>      smap_add(&options, "key", "flow");
> +    const char *dst_port = smap_get(&encap->options, "dst_port");
>      const char *csum = smap_get(&encap->options, "csum");
>      char *tunnel_entry_id = NULL;
>
> @@ -169,6 +170,9 @@ tunnel_add(struct tunnel_ctx *tc, const struct 
> sbrec_sb_global *sbg,
>      if (csum && (!strcmp(csum, "true") || !strcmp(csum, "false"))) {
>          smap_add(&options, "csum", csum);
>      }
> +    if (dst_port) {
> +        smap_add(&options, "dst_port", dst_port);
> +    }
>
>      /* Add auth info if ipsec is enabled. */
>      if (sbg->ipsec) {
> diff --git a/ovn/ovn-sb.xml b/ovn/ovn-sb.xml
> index 1a2bc1da9ccc..5f7783e0de8e 100644
> --- a/ovn/ovn-sb.xml
> +++ b/ovn/ovn-sb.xml
> @@ -362,14 +362,14 @@
>      </column>
>
>      <column name="options">
> -      <p>
> -        Options for configuring the encapsulation. Currently, the only
> -        option that has been defined is <code>csum</code>.
> -      </p>
> +      Options for configuring the encapsulation, which may be <ref 
> column="type"/> specific.
> +    </column>
>
> +    <column name="options" key="csum" type='{"type": "boolean"}'>
>        <p>
> -        <code>csum</code> indicates that encapsulation checksums can be
> -        transmitted and received with reasonable performance. It is a hint
> +        <code>csum</code> indicates whether this chassis can transmit and
> +        receive packets that include checksums with reasonable performance.  
> It
> +        hints
>          to senders transmitting data to this chassis that they should use
>          checksums to protect OVN metadata. <code>ovn-controller</code>
>          populates this key with the value defined in
> @@ -380,7 +380,7 @@
>        </p>
>
>        <p>
> -        In terms of performance, this actually significantly increases
> +        In terms of performance, checksumming actually significantly 
> increases
>          throughput in most common cases when running on Linux based hosts
>          without NICs supporting encapsulation hardware offload (around 60% 
> for
>          bulk traffic). The reason is that generally all NICs are capable of
> @@ -399,7 +399,7 @@
>          efficiently compute or validate full packet checksums. In addition
>          certain versions of the Linux kernel are not able to fully take
>          advantage of encapsulation NIC offloads in the presence of checksums.
> -        (This is actually a pretty narrow corner case though - earlier
> +        (This is actually a pretty narrow corner case though: earlier
>          versions of Linux don't support encapsulation offloads at all and
>          later versions support both offloads and checksums well.)
>        </p>
> @@ -408,6 +408,18 @@
>          <code>csum</code> defaults to <code>false</code> for hardware VTEPs 
> and
>          <code>true</code> for all other cases.
>        </p>
> +
> +      <p>
> +        This option applies to <code>geneve</code> and <code>vxlan</code>
> +        encapsulations.
> +      </p>
> +    </column>
> +
> +    <column name="options" key="dst_port" type='{"type": "integer"}'>
> +      <p>
> +        If set, overrides the UDP (for <code>geneve</code> and
> +        <code>vxlan</code>) or TCP (for <code>stt</code>) destination port.
> +      </p>
>      </column>
>
>      <column name="ip">
> --
> 2.20.1
>

Hi Ben,

I agree it is definitely better :) Do I need to resend?

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

Reply via email to