Re: [ovs-dev] [PATCH v2 ovn 0/5] External OVS source support and separate run dir for OVN

2019-08-22 Thread Han Zhou
On Wed, Aug 21, 2019 at 11:59 PM Numan Siddique  wrote:
>
>
>
> On Thu, Aug 22, 2019 at 12:27 PM Numan Siddique 
wrote:
>>
>>
>>
>> On Thu, Aug 22, 2019 at 2:19 AM Han Zhou  wrote:
>>>
>>>
>>>
>>> On Wed, Aug 21, 2019 at 11:54 AM Numan Siddique 
wrote:
>>> >
>>> >
>>> >
>>> > On Wed, Aug 21, 2019 at 10:30 PM Han Zhou  wrote:
>>> >>
>>> >>
>>> >>
>>> >> On Mon, Aug 19, 2019 at 11:13 AM  wrote:
>>> >> >
>>> >> > From: Numan Siddique 
>>> >> >
>>> >> > This patch series adds support for building OVN from external OVS
>>> >> > sources.
>>> >> >
>>> >> > The first patch adds the support to compile OVN from external OVS
sources.
>>> >> > The following configuration options are added when configuring OVN
>>> >> >   * --with-ovs-source (mandatory)
>>> >> >   * --with-ovs-build (optional)
>>> >> >
>>> >> > Patch 2 adds support to run OVN services using separate
>>> >> > directores
>>> >> >   - Default run time dir - /usr/local/var/run/ovm
>>> >> >   - Default log dir - /usr/loca/var/log/ovn
>>> >> >   - Default db dir - /usr/loca/etc/ovn
>>> >> >
>>> >> > Patch 3 fixes "make rpm-fedora" which is presently broken
>>> >> >
>>> >> > Patch 4 runs OVN services as openvswitch user for rhel when rpms
are
>>> >> > used.
>>> >> >
>>> >> > Patch 5 removes the python subdirectory as that directory belongs
>>> >> > to OVS and uses the required files from the OVS repo.
>>> >> >
>>> >> > v1 -> v2
>>> >> > 
>>> >> >  * Addressed the review comments.
>>> >> >  * Swapped the patch 1 and 2 as it was easier to address Mark's
comment
>>> >> >on OVS_RUNDIR/OVN_RUNDIR
>>> >> >  * In patch 2, renamed m4/openvswitch.m4 to m4/ovn.m4 and renamed
few of
>>> >> >the macros to OVS_* to OVN_*.
>>> >> >
>>> >> > Combined the patch 1 and 2 in this series which were submitted
>>> >> > separately earlier.
>>> >> >
>>> >> >
>>> >>
>>> >> Hi Numan,
>>> >>
>>> >> Thanks for this work. I tried applying this series on master, and
then removed the "ovs" subfolder just to see if it uses the external OVS
completely. However I encountered some error:
>>> >>
>>> >> /bin/sh ./libtool  --tag=CC   --mode=compile gcc -std=gnu99
-DHAVE_CONFIG_H -I.   -I ./include  -I ./include -I ./ovn -I ./include -I
/home/hzhou/src/ovs/include -I /home/hzhou/src/ovs/_build/include -I
/home/hzhou/src/ovs/lib -I /home/hzhou/src/ovs/_build/lib -I
/home/hzhou/src/ovs -I /home/hzhou/src/ovs/_build -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-g -O2 -MT lib/logical-fields.lo -MD -MP -MF $depbase.Tpo -c -o
lib/logical-fields.lo lib/logical-fields.c &&\
>>> >> mv -f $depbase.Tpo $depbase.Plo
>>> >> lib/actions.c: In function 'encode_CHECK_PKT_LARGER':
>>> >> lib/actions.c:2592:9: warning: implicit declaration of function
'ofpact_put_CHECK_PKT_LARGER' [-Wimplicit-function-declaration]
>>> >>  ofpact_put_CHECK_PKT_LARGER(ofpacts);
>>> >>  ^
>>> >> lib/actions.c:2592:9: warning: initialization makes pointer from
integer without a cast
>>> >> lib/actions.c:2593:21: error: dereferencing pointer to incomplete
type
>>> >>  check_pkt_larger->pkt_len = cipl->pkt_len;
>>> >>  ^
>>> >> lib/actions.c:2594:21: error: dereferencing pointer to incomplete
type
>>> >>  check_pkt_larger->dst = expr_resolve_field(>dst);
>>> >>  ^
>>> >>
>>> >> Is this expected?
>>> >
>>> >
>>> > Hi Han,
>>> >
>>> > This is not expected. Before submitting I did test by removing the
ovs subdirectory. I tried even now and I don't see any issue.
>>> > Looks to me either you have done "make install" in the ovs repo or
your  ovs sources are a bit old.
>>> >
>>> > Can you please check if that's the case.
>>> >
>>> > Thanks
>>> > Numan
>>> >
>>> Thanks Numan. You are right that I was on an older branch of OVS. My
bad. Now OVN build is successful after correcting the branch and rebuilding
OVS.
>>>
>>> Just saw some annoying messages when doing make, but it seems no real
impact there.
>>>
>>> comm: all-distfiles: No such file or directory
>>> grep: all-distfiles: No such file or directory
>>> fatal: ovs/lib/aes128.c: no such path in the working tree.
>>> Use 'git  -- ...' to specify paths that do not exist
locally.
>>> fatal: ovs/include/linux/netfilter/nf_conntrack_sctp.h: no such path in
the working tree.
>>> Use 'git  -- ...' to specify paths that do not exist
locally.
>>> grep: ovs/include/linux/netfilter/nf_conntrack_sctp.h: No such file or
directory
>>> grep: ovs/include/linux/pkt_cls.h: No such file or directory
>>> grep: ovs/include/linux/tc_act/tc_pedit.h: No such file or directory
>>> grep: ovs/include/linux/tc_act/tc_skbedit.h: No such file or directory
>>> grep: ovs/include/linux/tc_act/tc_tunnel_key.h: No such file or
directory
>>> grep: ovs/include/linux/tc_act/tc_vlan.h: No such 

Re: [ovs-dev] [PATCH v2 ovn 0/5] External OVS source support and separate run dir for OVN

2019-08-22 Thread Numan Siddique
On Thu, Aug 22, 2019 at 12:27 PM Numan Siddique  wrote:

>
>
> On Thu, Aug 22, 2019 at 2:19 AM Han Zhou  wrote:
>
>>
>>
>> On Wed, Aug 21, 2019 at 11:54 AM Numan Siddique 
>> wrote:
>> >
>> >
>> >
>> > On Wed, Aug 21, 2019 at 10:30 PM Han Zhou  wrote:
>> >>
>> >>
>> >>
>> >> On Mon, Aug 19, 2019 at 11:13 AM  wrote:
>> >> >
>> >> > From: Numan Siddique 
>> >> >
>> >> > This patch series adds support for building OVN from external OVS
>> >> > sources.
>> >> >
>> >> > The first patch adds the support to compile OVN from external OVS
>> sources.
>> >> > The following configuration options are added when configuring OVN
>> >> >   * --with-ovs-source (mandatory)
>> >> >   * --with-ovs-build (optional)
>> >> >
>> >> > Patch 2 adds support to run OVN services using separate
>> >> > directores
>> >> >   - Default run time dir - /usr/local/var/run/ovm
>> >> >   - Default log dir - /usr/loca/var/log/ovn
>> >> >   - Default db dir - /usr/loca/etc/ovn
>> >> >
>> >> > Patch 3 fixes "make rpm-fedora" which is presently broken
>> >> >
>> >> > Patch 4 runs OVN services as openvswitch user for rhel when rpms are
>> >> > used.
>> >> >
>> >> > Patch 5 removes the python subdirectory as that directory belongs
>> >> > to OVS and uses the required files from the OVS repo.
>> >> >
>> >> > v1 -> v2
>> >> > 
>> >> >  * Addressed the review comments.
>> >> >  * Swapped the patch 1 and 2 as it was easier to address Mark's
>> comment
>> >> >on OVS_RUNDIR/OVN_RUNDIR
>> >> >  * In patch 2, renamed m4/openvswitch.m4 to m4/ovn.m4 and renamed
>> few of
>> >> >the macros to OVS_* to OVN_*.
>> >> >
>> >> > Combined the patch 1 and 2 in this series which were submitted
>> >> > separately earlier.
>> >> >
>> >> >
>> >>
>> >> Hi Numan,
>> >>
>> >> Thanks for this work. I tried applying this series on master, and then
>> removed the "ovs" subfolder just to see if it uses the external OVS
>> completely. However I encountered some error:
>> >>
>> >> /bin/sh ./libtool  --tag=CC   --mode=compile gcc -std=gnu99
>> -DHAVE_CONFIG_H -I.   -I ./include  -I ./include -I ./ovn -I ./include -I
>> /home/hzhou/src/ovs/include -I /home/hzhou/src/ovs/_build/include -I
>> /home/hzhou/src/ovs/lib -I /home/hzhou/src/ovs/_build/lib -I
>> /home/hzhou/src/ovs -I /home/hzhou/src/ovs/_build -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-g -O2 -MT lib/logical-fields.lo -MD -MP -MF $depbase.Tpo -c -o
>> lib/logical-fields.lo lib/logical-fields.c &&\
>> >> mv -f $depbase.Tpo $depbase.Plo
>> >> lib/actions.c: In function 'encode_CHECK_PKT_LARGER':
>> >> lib/actions.c:2592:9: warning: implicit declaration of function
>> 'ofpact_put_CHECK_PKT_LARGER' [-Wimplicit-function-declaration]
>> >>  ofpact_put_CHECK_PKT_LARGER(ofpacts);
>> >>  ^
>> >> lib/actions.c:2592:9: warning: initialization makes pointer from
>> integer without a cast
>> >> lib/actions.c:2593:21: error: dereferencing pointer to incomplete type
>> >>  check_pkt_larger->pkt_len = cipl->pkt_len;
>> >>  ^
>> >> lib/actions.c:2594:21: error: dereferencing pointer to incomplete type
>> >>  check_pkt_larger->dst = expr_resolve_field(>dst);
>> >>  ^
>> >>
>> >> Is this expected?
>> >
>> >
>> > Hi Han,
>> >
>> > This is not expected. Before submitting I did test by removing the ovs
>> subdirectory. I tried even now and I don't see any issue.
>> > Looks to me either you have done "make install" in the ovs repo or your
>>  ovs sources are a bit old.
>> >
>> > Can you please check if that's the case.
>> >
>> > Thanks
>> > Numan
>> >
>> Thanks Numan. You are right that I was on an older branch of OVS. My bad.
>> Now OVN build is successful after correcting the branch and rebuilding OVS.
>>
>> Just saw some annoying messages when doing make, but it seems no real
>> impact there.
>>
>> comm: all-distfiles: No such file or directory
>> grep: all-distfiles: No such file or directory
>> fatal: ovs/lib/aes128.c: no such path in the working tree.
>> Use 'git  -- ...' to specify paths that do not exist
>> locally.
>> fatal: ovs/include/linux/netfilter/nf_conntrack_sctp.h: no such path in
>> the working tree.
>> Use 'git  -- ...' to specify paths that do not exist
>> locally.
>> grep: ovs/include/linux/netfilter/nf_conntrack_sctp.h: No such file or
>> directory
>> grep: ovs/include/linux/pkt_cls.h: No such file or directory
>> grep: ovs/include/linux/tc_act/tc_pedit.h: No such file or directory
>> grep: ovs/include/linux/tc_act/tc_skbedit.h: No such file or directory
>> grep: ovs/include/linux/tc_act/tc_tunnel_key.h: No such file or directory
>> grep: ovs/include/linux/tc_act/tc_vlan.h: No such file or directory
>> ...
>>
>
These messages should go away (or needs to be addressed) 

Re: [ovs-dev] [PATCH v2 ovn 0/5] External OVS source support and separate run dir for OVN

2019-08-22 Thread Numan Siddique
On Thu, Aug 22, 2019 at 2:19 AM Han Zhou  wrote:

>
>
> On Wed, Aug 21, 2019 at 11:54 AM Numan Siddique 
> wrote:
> >
> >
> >
> > On Wed, Aug 21, 2019 at 10:30 PM Han Zhou  wrote:
> >>
> >>
> >>
> >> On Mon, Aug 19, 2019 at 11:13 AM  wrote:
> >> >
> >> > From: Numan Siddique 
> >> >
> >> > This patch series adds support for building OVN from external OVS
> >> > sources.
> >> >
> >> > The first patch adds the support to compile OVN from external OVS
> sources.
> >> > The following configuration options are added when configuring OVN
> >> >   * --with-ovs-source (mandatory)
> >> >   * --with-ovs-build (optional)
> >> >
> >> > Patch 2 adds support to run OVN services using separate
> >> > directores
> >> >   - Default run time dir - /usr/local/var/run/ovm
> >> >   - Default log dir - /usr/loca/var/log/ovn
> >> >   - Default db dir - /usr/loca/etc/ovn
> >> >
> >> > Patch 3 fixes "make rpm-fedora" which is presently broken
> >> >
> >> > Patch 4 runs OVN services as openvswitch user for rhel when rpms are
> >> > used.
> >> >
> >> > Patch 5 removes the python subdirectory as that directory belongs
> >> > to OVS and uses the required files from the OVS repo.
> >> >
> >> > v1 -> v2
> >> > 
> >> >  * Addressed the review comments.
> >> >  * Swapped the patch 1 and 2 as it was easier to address Mark's
> comment
> >> >on OVS_RUNDIR/OVN_RUNDIR
> >> >  * In patch 2, renamed m4/openvswitch.m4 to m4/ovn.m4 and renamed few
> of
> >> >the macros to OVS_* to OVN_*.
> >> >
> >> > Combined the patch 1 and 2 in this series which were submitted
> >> > separately earlier.
> >> >
> >> >
> >>
> >> Hi Numan,
> >>
> >> Thanks for this work. I tried applying this series on master, and then
> removed the "ovs" subfolder just to see if it uses the external OVS
> completely. However I encountered some error:
> >>
> >> /bin/sh ./libtool  --tag=CC   --mode=compile gcc -std=gnu99
> -DHAVE_CONFIG_H -I.   -I ./include  -I ./include -I ./ovn -I ./include -I
> /home/hzhou/src/ovs/include -I /home/hzhou/src/ovs/_build/include -I
> /home/hzhou/src/ovs/lib -I /home/hzhou/src/ovs/_build/lib -I
> /home/hzhou/src/ovs -I /home/hzhou/src/ovs/_build -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-g -O2 -MT lib/logical-fields.lo -MD -MP -MF $depbase.Tpo -c -o
> lib/logical-fields.lo lib/logical-fields.c &&\
> >> mv -f $depbase.Tpo $depbase.Plo
> >> lib/actions.c: In function 'encode_CHECK_PKT_LARGER':
> >> lib/actions.c:2592:9: warning: implicit declaration of function
> 'ofpact_put_CHECK_PKT_LARGER' [-Wimplicit-function-declaration]
> >>  ofpact_put_CHECK_PKT_LARGER(ofpacts);
> >>  ^
> >> lib/actions.c:2592:9: warning: initialization makes pointer from
> integer without a cast
> >> lib/actions.c:2593:21: error: dereferencing pointer to incomplete type
> >>  check_pkt_larger->pkt_len = cipl->pkt_len;
> >>  ^
> >> lib/actions.c:2594:21: error: dereferencing pointer to incomplete type
> >>  check_pkt_larger->dst = expr_resolve_field(>dst);
> >>  ^
> >>
> >> Is this expected?
> >
> >
> > Hi Han,
> >
> > This is not expected. Before submitting I did test by removing the ovs
> subdirectory. I tried even now and I don't see any issue.
> > Looks to me either you have done "make install" in the ovs repo or your
>  ovs sources are a bit old.
> >
> > Can you please check if that's the case.
> >
> > Thanks
> > Numan
> >
> Thanks Numan. You are right that I was on an older branch of OVS. My bad.
> Now OVN build is successful after correcting the branch and rebuilding OVS.
>
> Just saw some annoying messages when doing make, but it seems no real
> impact there.
>
> comm: all-distfiles: No such file or directory
> grep: all-distfiles: No such file or directory
> fatal: ovs/lib/aes128.c: no such path in the working tree.
> Use 'git  -- ...' to specify paths that do not exist
> locally.
> fatal: ovs/include/linux/netfilter/nf_conntrack_sctp.h: no such path in
> the working tree.
> Use 'git  -- ...' to specify paths that do not exist
> locally.
> grep: ovs/include/linux/netfilter/nf_conntrack_sctp.h: No such file or
> directory
> grep: ovs/include/linux/pkt_cls.h: No such file or directory
> grep: ovs/include/linux/tc_act/tc_pedit.h: No such file or directory
> grep: ovs/include/linux/tc_act/tc_skbedit.h: No such file or directory
> grep: ovs/include/linux/tc_act/tc_tunnel_key.h: No such file or directory
> grep: ovs/include/linux/tc_act/tc_vlan.h: No such file or directory
> ...
>
> It is great that the duplicated tests problem is solved for "make check",
> but a noise still shows up during "make check":
>
> ldd: /home/hzhou/src/ovn/vswitchd/ovs-vswitchd: No such file or directory
>

I think we see this annoying message even 

Re: [ovs-dev] [PATCH v2 ovn 0/5] External OVS source support and separate run dir for OVN

2019-08-21 Thread Han Zhou
On Wed, Aug 21, 2019 at 11:54 AM Numan Siddique  wrote:
>
>
>
> On Wed, Aug 21, 2019 at 10:30 PM Han Zhou  wrote:
>>
>>
>>
>> On Mon, Aug 19, 2019 at 11:13 AM  wrote:
>> >
>> > From: Numan Siddique 
>> >
>> > This patch series adds support for building OVN from external OVS
>> > sources.
>> >
>> > The first patch adds the support to compile OVN from external OVS
sources.
>> > The following configuration options are added when configuring OVN
>> >   * --with-ovs-source (mandatory)
>> >   * --with-ovs-build (optional)
>> >
>> > Patch 2 adds support to run OVN services using separate
>> > directores
>> >   - Default run time dir - /usr/local/var/run/ovm
>> >   - Default log dir - /usr/loca/var/log/ovn
>> >   - Default db dir - /usr/loca/etc/ovn
>> >
>> > Patch 3 fixes "make rpm-fedora" which is presently broken
>> >
>> > Patch 4 runs OVN services as openvswitch user for rhel when rpms are
>> > used.
>> >
>> > Patch 5 removes the python subdirectory as that directory belongs
>> > to OVS and uses the required files from the OVS repo.
>> >
>> > v1 -> v2
>> > 
>> >  * Addressed the review comments.
>> >  * Swapped the patch 1 and 2 as it was easier to address Mark's comment
>> >on OVS_RUNDIR/OVN_RUNDIR
>> >  * In patch 2, renamed m4/openvswitch.m4 to m4/ovn.m4 and renamed few
of
>> >the macros to OVS_* to OVN_*.
>> >
>> > Combined the patch 1 and 2 in this series which were submitted
>> > separately earlier.
>> >
>> >
>>
>> Hi Numan,
>>
>> Thanks for this work. I tried applying this series on master, and then
removed the "ovs" subfolder just to see if it uses the external OVS
completely. However I encountered some error:
>>
>> /bin/sh ./libtool  --tag=CC   --mode=compile gcc -std=gnu99
-DHAVE_CONFIG_H -I.   -I ./include  -I ./include -I ./ovn -I ./include -I
/home/hzhou/src/ovs/include -I /home/hzhou/src/ovs/_build/include -I
/home/hzhou/src/ovs/lib -I /home/hzhou/src/ovs/_build/lib -I
/home/hzhou/src/ovs -I /home/hzhou/src/ovs/_build -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-g -O2 -MT lib/logical-fields.lo -MD -MP -MF $depbase.Tpo -c -o
lib/logical-fields.lo lib/logical-fields.c &&\
>> mv -f $depbase.Tpo $depbase.Plo
>> lib/actions.c: In function 'encode_CHECK_PKT_LARGER':
>> lib/actions.c:2592:9: warning: implicit declaration of function
'ofpact_put_CHECK_PKT_LARGER' [-Wimplicit-function-declaration]
>>  ofpact_put_CHECK_PKT_LARGER(ofpacts);
>>  ^
>> lib/actions.c:2592:9: warning: initialization makes pointer from integer
without a cast
>> lib/actions.c:2593:21: error: dereferencing pointer to incomplete type
>>  check_pkt_larger->pkt_len = cipl->pkt_len;
>>  ^
>> lib/actions.c:2594:21: error: dereferencing pointer to incomplete type
>>  check_pkt_larger->dst = expr_resolve_field(>dst);
>>  ^
>>
>> Is this expected?
>
>
> Hi Han,
>
> This is not expected. Before submitting I did test by removing the ovs
subdirectory. I tried even now and I don't see any issue.
> Looks to me either you have done "make install" in the ovs repo or your
 ovs sources are a bit old.
>
> Can you please check if that's the case.
>
> Thanks
> Numan
>
Thanks Numan. You are right that I was on an older branch of OVS. My bad.
Now OVN build is successful after correcting the branch and rebuilding OVS.

Just saw some annoying messages when doing make, but it seems no real
impact there.

comm: all-distfiles: No such file or directory
grep: all-distfiles: No such file or directory
fatal: ovs/lib/aes128.c: no such path in the working tree.
Use 'git  -- ...' to specify paths that do not exist locally.
fatal: ovs/include/linux/netfilter/nf_conntrack_sctp.h: no such path in the
working tree.
Use 'git  -- ...' to specify paths that do not exist locally.
grep: ovs/include/linux/netfilter/nf_conntrack_sctp.h: No such file or
directory
grep: ovs/include/linux/pkt_cls.h: No such file or directory
grep: ovs/include/linux/tc_act/tc_pedit.h: No such file or directory
grep: ovs/include/linux/tc_act/tc_skbedit.h: No such file or directory
grep: ovs/include/linux/tc_act/tc_tunnel_key.h: No such file or directory
grep: ovs/include/linux/tc_act/tc_vlan.h: No such file or directory
...

It is great that the duplicated tests problem is solved for "make check",
but a noise still shows up during "make check":

ldd: /home/hzhou/src/ovn/vswitchd/ovs-vswitchd: No such file or directory


For make sandbox. It works well except that some man pages don't work. For
example:

man ovn-nb/ovn-sb
man ovn-architecture

Also, most OVS related man pages doesn't work anymore, such as man
ovs-vsctl, which may be expected. However, some related to ovsdb still
works, such as:

man 7 ovsdb-server
man 5 ovsdb
man 7 ovsdb

This is a little 

Re: [ovs-dev] [PATCH v2 ovn 0/5] External OVS source support and separate run dir for OVN

2019-08-21 Thread Numan Siddique
On Wed, Aug 21, 2019 at 10:30 PM Han Zhou  wrote:

>
>
> On Mon, Aug 19, 2019 at 11:13 AM  wrote:
> >
> > From: Numan Siddique 
> >
> > This patch series adds support for building OVN from external OVS
> > sources.
> >
> > The first patch adds the support to compile OVN from external OVS
> sources.
> > The following configuration options are added when configuring OVN
> >   * --with-ovs-source (mandatory)
> >   * --with-ovs-build (optional)
> >
> > Patch 2 adds support to run OVN services using separate
> > directores
> >   - Default run time dir - /usr/local/var/run/ovm
> >   - Default log dir - /usr/loca/var/log/ovn
> >   - Default db dir - /usr/loca/etc/ovn
> >
> > Patch 3 fixes "make rpm-fedora" which is presently broken
> >
> > Patch 4 runs OVN services as openvswitch user for rhel when rpms are
> > used.
> >
> > Patch 5 removes the python subdirectory as that directory belongs
> > to OVS and uses the required files from the OVS repo.
> >
> > v1 -> v2
> > 
> >  * Addressed the review comments.
> >  * Swapped the patch 1 and 2 as it was easier to address Mark's comment
> >on OVS_RUNDIR/OVN_RUNDIR
> >  * In patch 2, renamed m4/openvswitch.m4 to m4/ovn.m4 and renamed few of
> >the macros to OVS_* to OVN_*.
> >
> > Combined the patch 1 and 2 in this series which were submitted
> > separately earlier.
> >
> >
>
> Hi Numan,
>
> Thanks for this work. I tried applying this series on master, and then
> removed the "ovs" subfolder just to see if it uses the external OVS
> completely. However I encountered some error:
>
> /bin/sh ./libtool  --tag=CC   --mode=compile gcc -std=gnu99
> -DHAVE_CONFIG_H -I.   -I ./include  -I ./include -I ./ovn -I ./include -I
> /home/hzhou/src/ovs/include -I /home/hzhou/src/ovs/_build/include -I
> /home/hzhou/src/ovs/lib -I /home/hzhou/src/ovs/_build/lib -I
> /home/hzhou/src/ovs -I /home/hzhou/src/ovs/_build -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-g -O2 -MT lib/logical-fields.lo -MD -MP -MF $depbase.Tpo -c -o
> lib/logical-fields.lo lib/logical-fields.c &&\
> mv -f $depbase.Tpo $depbase.Plo
> lib/actions.c: In function 'encode_CHECK_PKT_LARGER':
> lib/actions.c:2592:9: warning: implicit declaration of function
> 'ofpact_put_CHECK_PKT_LARGER' [-Wimplicit-function-declaration]
>  ofpact_put_CHECK_PKT_LARGER(ofpacts);
>  ^
> lib/actions.c:2592:9: warning: initialization makes pointer from integer
> without a cast
> lib/actions.c:2593:21: error: dereferencing pointer to incomplete type
>  check_pkt_larger->pkt_len = cipl->pkt_len;
>  ^
> lib/actions.c:2594:21: error: dereferencing pointer to incomplete type
>  check_pkt_larger->dst = expr_resolve_field(>dst);
>  ^
>
> Is this expected?
>

Hi Han,

This is not expected. Before submitting I did test by removing the ovs
subdirectory. I tried even now and I don't see any issue.
Looks to me either you have done "make install" in the ovs repo or your
ovs sources are a bit old.

Can you please check if that's the case.

Thanks
Numan


> Thanks,
> Han
>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v2 ovn 0/5] External OVS source support and separate run dir for OVN

2019-08-21 Thread Han Zhou
On Mon, Aug 19, 2019 at 11:13 AM  wrote:
>
> From: Numan Siddique 
>
> This patch series adds support for building OVN from external OVS
> sources.
>
> The first patch adds the support to compile OVN from external OVS sources.
> The following configuration options are added when configuring OVN
>   * --with-ovs-source (mandatory)
>   * --with-ovs-build (optional)
>
> Patch 2 adds support to run OVN services using separate
> directores
>   - Default run time dir - /usr/local/var/run/ovm
>   - Default log dir - /usr/loca/var/log/ovn
>   - Default db dir - /usr/loca/etc/ovn
>
> Patch 3 fixes "make rpm-fedora" which is presently broken
>
> Patch 4 runs OVN services as openvswitch user for rhel when rpms are
> used.
>
> Patch 5 removes the python subdirectory as that directory belongs
> to OVS and uses the required files from the OVS repo.
>
> v1 -> v2
> 
>  * Addressed the review comments.
>  * Swapped the patch 1 and 2 as it was easier to address Mark's comment
>on OVS_RUNDIR/OVN_RUNDIR
>  * In patch 2, renamed m4/openvswitch.m4 to m4/ovn.m4 and renamed few of
>the macros to OVS_* to OVN_*.
>
> Combined the patch 1 and 2 in this series which were submitted
> separately earlier.
>
>

Hi Numan,

Thanks for this work. I tried applying this series on master, and then
removed the "ovs" subfolder just to see if it uses the external OVS
completely. However I encountered some error:

/bin/sh ./libtool  --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H
-I.   -I ./include  -I ./include -I ./ovn -I ./include -I
/home/hzhou/src/ovs/include -I /home/hzhou/src/ovs/_build/include -I
/home/hzhou/src/ovs/lib -I /home/hzhou/src/ovs/_build/lib -I
/home/hzhou/src/ovs -I /home/hzhou/src/ovs/_build -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-g -O2 -MT lib/logical-fields.lo -MD -MP -MF $depbase.Tpo -c -o
lib/logical-fields.lo lib/logical-fields.c &&\
mv -f $depbase.Tpo $depbase.Plo
lib/actions.c: In function 'encode_CHECK_PKT_LARGER':
lib/actions.c:2592:9: warning: implicit declaration of function
'ofpact_put_CHECK_PKT_LARGER' [-Wimplicit-function-declaration]
 ofpact_put_CHECK_PKT_LARGER(ofpacts);
 ^
lib/actions.c:2592:9: warning: initialization makes pointer from integer
without a cast
lib/actions.c:2593:21: error: dereferencing pointer to incomplete type
 check_pkt_larger->pkt_len = cipl->pkt_len;
 ^
lib/actions.c:2594:21: error: dereferencing pointer to incomplete type
 check_pkt_larger->dst = expr_resolve_field(>dst);
 ^

Is this expected?

Thanks,
Han
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [PATCH v2 ovn 0/5] External OVS source support and separate run dir for OVN

2019-08-19 Thread nusiddiq
From: Numan Siddique 

This patch series adds support for building OVN from external OVS
sources.

The first patch adds the support to compile OVN from external OVS sources.
The following configuration options are added when configuring OVN
  * --with-ovs-source (mandatory)
  * --with-ovs-build (optional)

Patch 2 adds support to run OVN services using separate
directores 
  - Default run time dir - /usr/local/var/run/ovm
  - Default log dir - /usr/loca/var/log/ovn
  - Default db dir - /usr/loca/etc/ovn

Patch 3 fixes "make rpm-fedora" which is presently broken

Patch 4 runs OVN services as openvswitch user for rhel when rpms are
used.

Patch 5 removes the python subdirectory as that directory belongs
to OVS and uses the required files from the OVS repo.

v1 -> v2

 * Addressed the review comments.
 * Swapped the patch 1 and 2 as it was easier to address Mark's comment
   on OVS_RUNDIR/OVN_RUNDIR
 * In patch 2, renamed m4/openvswitch.m4 to m4/ovn.m4 and renamed few of
   the macros to OVS_* to OVN_*.

Combined the patch 1 and 2 in this series which were submitted
separately earlier.


Numan Siddique (5):
  Build OVN using external OVS directory
  Add support for using OVN specific rundirs
  Fix "make rpm-fedora"
  rhel: Run ovn services with the 'openvswitch' user
  Remove python directory

 .travis/linux-build.sh|   17 +-
 .travis/osx-build.sh  |   13 +-
 Documentation/intro/install/fedora.rst|   13 +-
 Documentation/intro/install/general.rst   |   63 +-
 Makefile.am   |   35 +-
 TODO_SPLIT.rst|2 +
 acinclude.m4  |   35 +
 configure.ac  |   63 +-
 controller-vtep/automake.mk   |2 +-
 controller/ovn-controller.c   |4 +-
 include/ovn/version.h.in  |   28 +
 lib/.gitignore|1 +
 lib/automake.mk   |   21 +-
 lib/ovn-dirs.c.in |  112 +
 lib/ovn-dirs.h|   35 +
 lib/ovn-util.c|   24 +-
 lib/ovn-util.h|1 +
 lib/ovsdb_automake.mk |7 +-
 m4/{openvswitch.m4 => ovn.m4} |   60 +-
 northd/ovn-northd.c   |9 +-
 python/.gitignore |2 -
 python/README.rst |1 -
 python/automake.mk|  123 -
 python/build/__init__.py  |0
 python/build/nroff.py |  398 ---
 python/build/soutil.py|   56 -
 python/ovs/.gitignore |1 -
 python/ovs/__init__.py|1 -
 python/ovs/_json.c|  269 --
 python/ovs/compat/__init__.py |0
 python/ovs/compat/sortedcontainers/LICENSE|   13 -
 .../ovs/compat/sortedcontainers/__init__.py   |   52 -
 .../ovs/compat/sortedcontainers/sorteddict.py |  741 -
 .../ovs/compat/sortedcontainers/sortedlist.py | 2508 -
 .../ovs/compat/sortedcontainers/sortedset.py  |  327 ---
 python/ovs/daemon.py  |  652 -
 python/ovs/db/__init__.py |1 -
 python/ovs/db/custom_index.py |  154 -
 python/ovs/db/data.py |  585 
 python/ovs/db/error.py|   34 -
 python/ovs/db/idl.py  | 2030 -
 python/ovs/db/parser.py   |  118 -
 python/ovs/db/schema.py   |  304 --
 python/ovs/db/types.py|  647 -
 python/ovs/dirs.py|   31 -
 python/ovs/dirs.py.template   |   31 -
 python/ovs/fatal_signal.py|  183 --
 python/ovs/fcntl_win.py   |   46 -
 python/ovs/json.py|  531 
 python/ovs/jsonrpc.py |  616 
 python/ovs/ovsuuid.py |   70 -
 python/ovs/poller.py  |  290 --
 python/ovs/process.py |   41 -
 python/ovs/reconnect.py   |  608 
 python/ovs/socket_util.py |  335 ---
 python/ovs/stream.py  |  831 --
 python/ovs/timeval.py |   81 -
 python/ovs/unixctl/__init__.py|   91 -
 python/ovs/unixctl/client.py  |   68 -
 python/ovs/unixctl/server.py  |  260 --
 python/ovs/util.py|   95 -
 python/ovs/vlog.py|  475 
 python/ovs/winutils.py|  266 --
 python/ovstest/__init__.py|1 -