diff mbox series

[ovs-dev,1/8] ovn-nb: Better document dynamic addresses.

Message ID 20201022035415.33541-1-blp@ovn.org
State Accepted
Headers show
Series [ovs-dev,1/8] ovn-nb: Better document dynamic addresses. | expand

Commit Message

Ben Pfaff Oct. 22, 2020, 3:54 a.m. UTC
Signed-off-by: Ben Pfaff <blp@ovn.org>
---
 ovn-nb.xml | 75 ++++++++++++++++++------------------------------------
 1 file changed, 25 insertions(+), 50 deletions(-)

Comments

0-day Robot Oct. 22, 2020, 4:16 a.m. UTC | #1
Bleep bloop.  Greetings Ben Pfaff, I am a robot and I have tried out your patch.
Thanks for your contribution.

I encountered some error that I wasn't expecting.  See the details below.


build:
gcc -std=gnu99 -DHAVE_CONFIG_H -I.   -I ./include  -I ./include -I ./ovn -I ./include -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR/include -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR/include -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR/lib -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR/lib -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR -I ./lib -I ./lib    -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare -Wpointer-arith -Wformat -Wformat-security -Wswitch-enum -Wunused-parameter -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-field-initializers -fno-strict-aliasing -Wshadow -Werror -Werror  -g -O2 -MT controller/pinctrl.o -MD -MP -MF $depbase.Tpo -c -o controller/pinctrl.o controller/pinctrl.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo controller/patch.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -std=gnu99 -DHAVE_CONFIG_H -I.   -I ./include  -I ./include -I ./ovn -I ./include -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR/include -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR/include -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR/lib -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR/lib -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR -I ./lib -I ./lib    -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare -Wpointer-arith -Wformat -Wformat-security -Wswitch-enum -Wunused-parameter -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-field-initializers -fno-strict-aliasing -Wshadow -Werror -Werror  -g -O2 -MT controller/patch.o -MD -MP -MF $depbase.Tpo -c -o controller/patch.o controller/patch.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo controller/ovn-controller.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -std=gnu99 -DHAVE_CONFIG_H -I.   -I ./include  -I ./include -I ./ovn -I ./include -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR/include -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR/include -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR/lib -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR/lib -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR -I ./lib -I ./lib    -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare -Wpointer-arith -Wformat -Wformat-security -Wswitch-enum -Wunused-parameter -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-field-initializers -fno-strict-aliasing -Wshadow -Werror -Werror  -g -O2 -MT controller/ovn-controller.o -MD -MP -MF $depbase.Tpo -c -o controller/ovn-controller.o controller/ovn-controller.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo controller/physical.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -std=gnu99 -DHAVE_CONFIG_H -I.   -I ./include  -I ./include -I ./ovn -I ./include -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR/include -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR/include -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR/lib -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR/lib -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR -I /var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace/OVSDIR -I ./lib -I ./lib    -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare -Wpointer-arith -Wformat -Wformat-security -Wswitch-enum -Wunused-parameter -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-field-initializers -fno-strict-aliasing -Wshadow -Werror -Werror  -g -O2 -MT controller/physical.o -MD -MP -MF $depbase.Tpo -c -o controller/physical.o controller/physical.c &&\
mv -f $depbase.Tpo $depbase.Po
controller/physical.c: In function ‘put_remote_port_redirect_overlay’:
controller/physical.c:387:23: error: ‘struct ofpact_bundle’ has no member named ‘n_slaves’
             if (bundle->n_slaves >= BUNDLE_MAX_SLAVES) {
                       ^
controller/physical.c:387:37: error: ‘BUNDLE_MAX_SLAVES’ undeclared (first use in this function)
             if (bundle->n_slaves >= BUNDLE_MAX_SLAVES) {
                                     ^
controller/physical.c:387:37: note: each undeclared identifier is reported only once for each function it appears in
controller/physical.c:395:19: error: ‘struct ofpact_bundle’ has no member named ‘n_slaves’
             bundle->n_slaves++;
                   ^
make[1]: *** [controller/physical.o] Error 1
make[1]: Leaving directory `/var/lib/jenkins/jobs/0day_robot_upstream_build_ovn_from_pw/workspace'
make: *** [all] Error 2


Please check this out.  If you feel there has been an error, please email aconole@redhat.com

Thanks,
0-day Robot
Numan Siddique Oct. 22, 2020, 12:26 p.m. UTC | #2
On Thu, Oct 22, 2020 at 9:24 AM Ben Pfaff <blp@ovn.org> wrote:
>
> Signed-off-by: Ben Pfaff <blp@ovn.org>

Acked-by: Numan Siddique <numans@ovn.org>

Please consider this ack for all the patches in this series.

Thanks
Numan

> ---
>  ovn-nb.xml | 75 ++++++++++++++++++------------------------------------
>  1 file changed, 25 insertions(+), 50 deletions(-)
>
> diff --git a/ovn-nb.xml b/ovn-nb.xml
> index 86195af3414c..38724f3851b1 100644
> --- a/ovn-nb.xml
> +++ b/ovn-nb.xml
> @@ -1049,65 +1049,40 @@
>
>            <dt><code>dynamic</code></dt>
>            <dd>
> -            Use this keyword to make <code>ovn-northd</code> generate a
> -            globally unique MAC address and choose an unused IPv4 address with
> -            the logical port's subnet and store them in the port's <ref
> -            column="dynamic_addresses"/> column.  <code>ovn-northd</code> will
> -            use the subnet specified in <ref table="Logical_Switch"
> -            column="other_config" key="subnet"/> in the port's <ref
> -            table="Logical_Switch"/>.
> -          </dd>
> -
> -          <dt><code>Ethernet address followed by keyword "dynamic"</code></dt>
> -          <dd>
> -
>              <p>
> -              The keyword <code>dynamic</code> after the MAC address indicates
> -              that <code>ovn-northd</code> should choose an unused IPv4 address
> -              from the logical port's subnet and store it with the specified
> -              MAC in the port's <ref column="dynamic_addresses"/> column.
> -              <code>ovn-northd</code> will use the subnet specified in <ref
> -              table="Logical_Switch" column="other_config" key="subnet"/> in
> -              the port's <ref table="Logical_Switch"/> table.
> +              Use <code>dynamic</code> to make <code>ovn-northd</code> generate
> +              a globally unique MAC address, choose an unused IPv4 address with
> +              the logical port's subnet (if <ref table="Logical_Switch"
> +              column="other_config" key="subnet"/> is set in the port's <ref
> +              table="Logical_Switch"/>), and generate an IPv6 address from the
> +              MAC address (if <ref table="Logical_Switch" column="other_config"
> +              key="ipv6_prefix"/> is set in the port's <ref
> +              table="Logical_Switch"/>) and store them in the port's <ref
> +              column="dynamic_addresses"/> column.
>              </p>
>
>              <p>
> -              Examples:
> +              Only one element containing <code>dynamic</code> may appear in
> +              <ref column="addresses"/>.
>              </p>
> -
> -            <dl>
> -              <dt><code>80:fa:5b:06:72:b7 dynamic</code></dt>
> -              <dd>
> -                This indicates that the logical port owns the specified
> -                MAC address and <code>ovn-northd</code> should allocate an
> -                unused IPv4 address for the logical port from the corresponding
> -                logical switch subnet.
> -              </dd>
> -            </dl>
>            </dd>
>
> -          <dt><code>Keyword "dynamic" followed by an IPv4/IPv6 address</code></dt>
> +          <dt><code>dynamic</code> <var>ip</var></dt>
> +          <dt><code>dynamic</code> <var>ipv6</var></dt>
> +          <dt><code>dynamic</code> <var>ip</var> <var>ipv6</var></dt>
>            <dd>
> +            These act like <code>dynamic</code> alone but specify particular
> +            IPv4 or IPv6 addresses to use.  OVN IPAM will still automatically
> +            allocate the other address if configured appropriately.  Example:
> +            <code>dynamic 192.168.0.1 2001::1</code>.
> +          </dd>
>
> -            <p>
> -              The keyword <code>dynamic</code> followed by an IPv4/IPv6
> -              address indicates that <code>ovn-northd</code> should choose
> -              a dynamic ethernet address and use the provided IPv4/IPv6 address
> -              as network address.
> -            </p>
> -
> -            <p>
> -              Examples:
> -            </p>
> -
> -            <dl>
> -              <dt><code>dynamic 192.168.0.1 2001::1</code></dt>
> -              <dd>
> -                This indicates that <code>ovn-northd</code> should allocate
> -                a unique MAC address and use the provided IPv4/IPv6 address
> -                for the related port
> -              </dd>
> -            </dl>
> +          <dt><var>mac</var> <code>dynamic</code></dt>
> +          <dd>
> +            This acts like <code>dynamic</code> alone but specifies a
> +            particular MAC address to use.  OVN IPAM will still automatically
> +            allocate IPv4 or IPv6 addresses, or both, if configured
> +            appropriately.  Example: <code>80:fa:5b:06:72:b7 dynamic</code>
>            </dd>
>
>            <dt><code>router</code></dt>
> --
> 2.26.2
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
Mark Michelson Oct. 22, 2020, 1:38 p.m. UTC | #3
On 10/22/20 8:26 AM, Numan Siddique wrote:
> On Thu, Oct 22, 2020 at 9:24 AM Ben Pfaff <blp@ovn.org> wrote:
>>
>> Signed-off-by: Ben Pfaff <blp@ovn.org>
> 
> Acked-by: Numan Siddique <numans@ovn.org>
> 
> Please consider this ack for all the patches in this series.
> 
> Thanks
> Numan

Thanks, I pushed the changes to master.

> 
>> ---
>>   ovn-nb.xml | 75 ++++++++++++++++++------------------------------------
>>   1 file changed, 25 insertions(+), 50 deletions(-)
>>
>> diff --git a/ovn-nb.xml b/ovn-nb.xml
>> index 86195af3414c..38724f3851b1 100644
>> --- a/ovn-nb.xml
>> +++ b/ovn-nb.xml
>> @@ -1049,65 +1049,40 @@
>>
>>             <dt><code>dynamic</code></dt>
>>             <dd>
>> -            Use this keyword to make <code>ovn-northd</code> generate a
>> -            globally unique MAC address and choose an unused IPv4 address with
>> -            the logical port's subnet and store them in the port's <ref
>> -            column="dynamic_addresses"/> column.  <code>ovn-northd</code> will
>> -            use the subnet specified in <ref table="Logical_Switch"
>> -            column="other_config" key="subnet"/> in the port's <ref
>> -            table="Logical_Switch"/>.
>> -          </dd>
>> -
>> -          <dt><code>Ethernet address followed by keyword "dynamic"</code></dt>
>> -          <dd>
>> -
>>               <p>
>> -              The keyword <code>dynamic</code> after the MAC address indicates
>> -              that <code>ovn-northd</code> should choose an unused IPv4 address
>> -              from the logical port's subnet and store it with the specified
>> -              MAC in the port's <ref column="dynamic_addresses"/> column.
>> -              <code>ovn-northd</code> will use the subnet specified in <ref
>> -              table="Logical_Switch" column="other_config" key="subnet"/> in
>> -              the port's <ref table="Logical_Switch"/> table.
>> +              Use <code>dynamic</code> to make <code>ovn-northd</code> generate
>> +              a globally unique MAC address, choose an unused IPv4 address with
>> +              the logical port's subnet (if <ref table="Logical_Switch"
>> +              column="other_config" key="subnet"/> is set in the port's <ref
>> +              table="Logical_Switch"/>), and generate an IPv6 address from the
>> +              MAC address (if <ref table="Logical_Switch" column="other_config"
>> +              key="ipv6_prefix"/> is set in the port's <ref
>> +              table="Logical_Switch"/>) and store them in the port's <ref
>> +              column="dynamic_addresses"/> column.
>>               </p>
>>
>>               <p>
>> -              Examples:
>> +              Only one element containing <code>dynamic</code> may appear in
>> +              <ref column="addresses"/>.
>>               </p>
>> -
>> -            <dl>
>> -              <dt><code>80:fa:5b:06:72:b7 dynamic</code></dt>
>> -              <dd>
>> -                This indicates that the logical port owns the specified
>> -                MAC address and <code>ovn-northd</code> should allocate an
>> -                unused IPv4 address for the logical port from the corresponding
>> -                logical switch subnet.
>> -              </dd>
>> -            </dl>
>>             </dd>
>>
>> -          <dt><code>Keyword "dynamic" followed by an IPv4/IPv6 address</code></dt>
>> +          <dt><code>dynamic</code> <var>ip</var></dt>
>> +          <dt><code>dynamic</code> <var>ipv6</var></dt>
>> +          <dt><code>dynamic</code> <var>ip</var> <var>ipv6</var></dt>
>>             <dd>
>> +            These act like <code>dynamic</code> alone but specify particular
>> +            IPv4 or IPv6 addresses to use.  OVN IPAM will still automatically
>> +            allocate the other address if configured appropriately.  Example:
>> +            <code>dynamic 192.168.0.1 2001::1</code>.
>> +          </dd>
>>
>> -            <p>
>> -              The keyword <code>dynamic</code> followed by an IPv4/IPv6
>> -              address indicates that <code>ovn-northd</code> should choose
>> -              a dynamic ethernet address and use the provided IPv4/IPv6 address
>> -              as network address.
>> -            </p>
>> -
>> -            <p>
>> -              Examples:
>> -            </p>
>> -
>> -            <dl>
>> -              <dt><code>dynamic 192.168.0.1 2001::1</code></dt>
>> -              <dd>
>> -                This indicates that <code>ovn-northd</code> should allocate
>> -                a unique MAC address and use the provided IPv4/IPv6 address
>> -                for the related port
>> -              </dd>
>> -            </dl>
>> +          <dt><var>mac</var> <code>dynamic</code></dt>
>> +          <dd>
>> +            This acts like <code>dynamic</code> alone but specifies a
>> +            particular MAC address to use.  OVN IPAM will still automatically
>> +            allocate IPv4 or IPv6 addresses, or both, if configured
>> +            appropriately.  Example: <code>80:fa:5b:06:72:b7 dynamic</code>
>>             </dd>
>>
>>             <dt><code>router</code></dt>
>> --
>> 2.26.2
>>
>> _______________________________________________
>> dev mailing list
>> dev@openvswitch.org
>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
diff mbox series

Patch

diff --git a/ovn-nb.xml b/ovn-nb.xml
index 86195af3414c..38724f3851b1 100644
--- a/ovn-nb.xml
+++ b/ovn-nb.xml
@@ -1049,65 +1049,40 @@ 
 
           <dt><code>dynamic</code></dt>
           <dd>
-            Use this keyword to make <code>ovn-northd</code> generate a
-            globally unique MAC address and choose an unused IPv4 address with
-            the logical port's subnet and store them in the port's <ref
-            column="dynamic_addresses"/> column.  <code>ovn-northd</code> will
-            use the subnet specified in <ref table="Logical_Switch"
-            column="other_config" key="subnet"/> in the port's <ref
-            table="Logical_Switch"/>.
-          </dd>
-
-          <dt><code>Ethernet address followed by keyword "dynamic"</code></dt>
-          <dd>
-
             <p>
-              The keyword <code>dynamic</code> after the MAC address indicates
-              that <code>ovn-northd</code> should choose an unused IPv4 address
-              from the logical port's subnet and store it with the specified
-              MAC in the port's <ref column="dynamic_addresses"/> column.
-              <code>ovn-northd</code> will use the subnet specified in <ref
-              table="Logical_Switch" column="other_config" key="subnet"/> in
-              the port's <ref table="Logical_Switch"/> table.
+              Use <code>dynamic</code> to make <code>ovn-northd</code> generate
+              a globally unique MAC address, choose an unused IPv4 address with
+              the logical port's subnet (if <ref table="Logical_Switch"
+              column="other_config" key="subnet"/> is set in the port's <ref
+              table="Logical_Switch"/>), and generate an IPv6 address from the
+              MAC address (if <ref table="Logical_Switch" column="other_config"
+              key="ipv6_prefix"/> is set in the port's <ref
+              table="Logical_Switch"/>) and store them in the port's <ref
+              column="dynamic_addresses"/> column.
             </p>
 
             <p>
-              Examples:
+              Only one element containing <code>dynamic</code> may appear in
+              <ref column="addresses"/>.
             </p>
-
-            <dl>
-              <dt><code>80:fa:5b:06:72:b7 dynamic</code></dt>
-              <dd>
-                This indicates that the logical port owns the specified
-                MAC address and <code>ovn-northd</code> should allocate an
-                unused IPv4 address for the logical port from the corresponding
-                logical switch subnet.
-              </dd>
-            </dl>
           </dd>
 
-          <dt><code>Keyword "dynamic" followed by an IPv4/IPv6 address</code></dt>
+          <dt><code>dynamic</code> <var>ip</var></dt>
+          <dt><code>dynamic</code> <var>ipv6</var></dt>
+          <dt><code>dynamic</code> <var>ip</var> <var>ipv6</var></dt>
           <dd>
+            These act like <code>dynamic</code> alone but specify particular
+            IPv4 or IPv6 addresses to use.  OVN IPAM will still automatically
+            allocate the other address if configured appropriately.  Example:
+            <code>dynamic 192.168.0.1 2001::1</code>.
+          </dd>
 
-            <p>
-              The keyword <code>dynamic</code> followed by an IPv4/IPv6
-              address indicates that <code>ovn-northd</code> should choose
-              a dynamic ethernet address and use the provided IPv4/IPv6 address
-              as network address.
-            </p>
-
-            <p>
-              Examples:
-            </p>
-
-            <dl>
-              <dt><code>dynamic 192.168.0.1 2001::1</code></dt>
-              <dd>
-                This indicates that <code>ovn-northd</code> should allocate
-                a unique MAC address and use the provided IPv4/IPv6 address
-                for the related port
-              </dd>
-            </dl>
+          <dt><var>mac</var> <code>dynamic</code></dt>
+          <dd>
+            This acts like <code>dynamic</code> alone but specifies a
+            particular MAC address to use.  OVN IPAM will still automatically
+            allocate IPv4 or IPv6 addresses, or both, if configured
+            appropriately.  Example: <code>80:fa:5b:06:72:b7 dynamic</code>
           </dd>
 
           <dt><code>router</code></dt>