On Fri, Jul 26, 2019 at 5:19 PM Damijan Skvarc <damjan.skv...@gmail.com> wrote:
> Dumitru, > your issue was fixed in > https://github.com/openvswitch/ovs/commit/6f6d19db05ca743d6f294618d2c36b6d0b15e2e2 > as removed warning. However fix is not merged yet on > https://github.com/ovn-org/ovn.git. Unfortunatelly even merging this fix > to ovn-org/ovn.git will not help, since (saying from memory) by this fix > about 1700 warning were removed while there still remained about 70 > warnings of the same kind at different locations. I would suggest for a > while not to consider warnings as errors. > Hi Damijan, With the OVS/OVN split branch here - https://github.com/ovn-org/ovn/commits/ovs_ovn_split, your fix is available - https://github.com/ovn-org/ovn/blob/ovs_ovn_split/ovs/include/openvswitch/nsh.h#L372 After applying Ilya's patch and manually compiling sparse after reverting the commit, I am still seeing the below errors Do you think we can ignore these errors for now ? Thank Numan ******* -Wold-style-definition -Wmissing-prototypes -Wmissing-field-initializers -fno-strict-aliasing -Wswitch-bool -Wlogical-not-parentheses -Wsizeof-array-argument -Wbool-compare -Wshift-negative-value -Wduplicated-cond -Wshadow -Wmultistatement-macros -Wcast-align=strict -Werror -Werror -g -O2 -MT lib/acl-log.lo -MD -MP -MF $depbase.Tpo -c -o lib/acl-log.lo ../lib/acl-log.c &&\ mv -f $depbase.Tpo $depbase.Plo ../ovs/lib/util.h:449:12: error: incorrect type in return expression (different base types) ../ovs/lib/util.h:449:12: expected restricted ovs_be32 ../ovs/lib/util.h:449:12: got unsigned int ../utilities/ovn-nbctl.c:3426:34: error: incorrect type in argument 1 (different base types) ../utilities/ovn-nbctl.c:3426:34: expected unsigned int [usertype] __bsx ../utilities/ovn-nbctl.c:3426:34: got restricted ovs_be32 [usertype] network ../utilities/ovn-nbctl.c:3426:34: error: incorrect type in argument 1 (different base types) ../utilities/ovn-nbctl.c:3426:34: expected unsigned int [usertype] __bsx ../utilities/ovn-nbctl.c:3426:34: got restricted ovs_be32 [usertype] network ../utilities/ovn-nbctl.c:3426:34: error: incorrect type in argument 1 (different base types) ../utilities/ovn-nbctl.c:3426:34: expected unsigned int [usertype] __bsx ../utilities/ovn-nbctl.c:3426:34: got restricted ovs_be32 [usertype] network ../utilities/ovn-nbctl.c:3426:34: error: incorrect type in argument 1 (different base types) ../utilities/ovn-nbctl.c:3426:34: expected unsigned int [usertype] __bsx ../utilities/ovn-nbctl.c:3426:34: got restricted ovs_be32 [usertype] network ../utilities/ovn-nbctl.c:3428:39: error: incorrect type in argument 1 (different base types) ../utilities/ovn-nbctl.c:3428:39: expected unsigned int [usertype] __bsx ../utilities/ovn-nbctl.c:3428:39: got restricted ovs_be32 [usertype] network ../utilities/ovn-nbctl.c:3428:39: error: incorrect type in argument 1 (different base types) ../utilities/ovn-nbctl.c:3428:39: expected unsigned int [usertype] __bsx ../utilities/ovn-nbctl.c:3428:39: got restricted ovs_be32 [usertype] network ../utilities/ovn-nbctl.c:3428:39: error: incorrect type in argument 1 (different base types) ../utilities/ovn-nbctl.c:3428:39: expected unsigned int [usertype] __bsx ../utilities/ovn-nbctl.c:3428:39: got restricted ovs_be32 [usertype] network ../utilities/ovn-nbctl.c:3428:39: error: incorrect type in argument 1 (different base types) ../utilities/ovn-nbctl.c:3428:39: expected unsigned int [usertype] __bsx ... ... make[2]: *** Waiting for unfinished jobs.... libtool: compile: env REAL_CC=gcc "CHECK=sparse -Wsparse-error -I ../include/sparse -m64 -I /usr/local/include " cgcc -target=x86_64 -DHAVE_CONFIG_H -I. -I.. -I ../ovs/include -I ./ovs/include -I ../ovs/lib -I ./ovs/lib -I ../ovs -I ./ovs -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 -Wswitch-bool -Wlogical-not-parentheses -Wsizeof-array-argument -Wbool-compare -Wshift-negative-value -Wduplicated-cond -Wshadow -Wmultistatement-macros -Wcast-align=strict -Werror -Werror -g -O2 -MT lib/acl-log.lo -MD -MP -MF lib/.deps/acl-log.Tpo -c ../lib/acl-log.c -o lib/acl-log.o libtool: compile: env REAL_CC=gcc "CHECK=sparse -Wsparse-error -I ../include/sparse -m64 -I /usr/local/include " cgcc -target=x86_64 -DHAVE_CONFIG_H -I. -I.. -I ../ovs/include -I ./ovs/include -I ../ovs/lib -I ./ovs/lib -I ../ovs -I ./ovs -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 -Wswitch-bool -Wlogical-not-parentheses -Wsizeof-array-argument -Wbool-compare -Wshift-negative-value -Wduplicated-cond -Wshadow -Wmultistatement-macros -Wcast-align=strict -Werror -Werror -g -O2 -MT lib/actions.lo -MD -MP -MF lib/.deps/actions.Tpo -c ../lib/actions.c -o lib/actions.o ../lib/actions.c:723:32: error: incorrect type in initializer (different base types) ../lib/actions.c:723:32: expected restricted ovs_be32 const [usertype] value ../lib/actions.c:723:32: got unsigned int ../lib/actions.c:724:31: error: incorrect type in initializer (different base types) ../lib/actions.c:724:31: expected restricted ovs_be32 const [usertype] mask ../lib/actions.c:724:31: got unsigned int ../lib/actions.c:976:42: error: incorrect type in argument 1 (different base types) ../lib/actions.c:976:42: expected unsigned int [usertype] __bsx ../lib/actions.c:976:42: got restricted ovs_be32 const [usertype] ipv4 ../lib/actions.c:976:42: error: incorrect type in argument 1 (different base types) ../lib/actions.c:976:42: expected unsigned int [usertype] __bsx ../lib/actions.c:976:42: got restricted ovs_be32 const [usertype] ipv4 ../lib/actions.c:976:42: error: incorrect type in argument 1 (different base types) ../lib/actions.c:976:42: expected unsigned int [usertype] __bsx ../lib/actions.c:976:42: got restricted ovs_be32 const [usertype] ipv4 ../lib/actions.c:976:42: error: incorrect type in argument 1 (different base types) ../lib/actions.c:976:42: expected unsigned int [usertype] __bsx ../lib/actions.c:976:42: got restricted ovs_be32 const [usertype] ipv4 ../lib/actions.c:1970:20: error: incorrect type in initializer (different base types) ../lib/actions.c:1970:20: expected restricted ovs_be32 [usertype] ofs ../lib/actions.c:1970:20: got unsigned int ********* > > br,Damijan > > On Fri, Jul 26, 2019 at 10:30 AM Dumitru Ceara <dce...@redhat.com> wrote: > >> On Fri, Jul 26, 2019 at 8:21 AM Numan Siddique <nusid...@redhat.com> >> wrote: >> > >> > Hello All, >> > >> > The split work is almost done and we have pushed it to the ovn repo >> branch >> > for now - https://github.com/ovn-org/ovn/commits/ovs_ovn_split >> > If some one is interested, please try it out and let us know any >> comments >> > or issues. >> >> Hi Numan, >> >> It looks like the ovs_ovn_split branch doesn't build: >> >> # git clone https://github.com/ovn-org/ovn.git ovn >> # cd ovn >> # ./boot.sh >> # ./configure --enable-Werror --enable-sparse >> # make >> make all-recursive >> make[1]: Entering directory `/root/ovn' >> Making all in ovs >> make[2]: Entering directory `/root/ovn/ovs' >> make all-recursive >> make[3]: Entering directory `/root/ovn/ovs' >> Making all in datapath >> make[4]: Entering directory `/root/ovn/ovs/datapath' >> make[5]: Entering directory `/root/ovn/ovs/datapath' >> make[5]: Leaving directory `/root/ovn/ovs/datapath' >> make[4]: Leaving directory `/root/ovn/ovs/datapath' >> make[4]: Entering directory `/root/ovn/ovs' >> make[4]: Leaving directory `/root/ovn/ovs' >> make[3]: Leaving directory `/root/ovn/ovs' >> make[2]: Leaving directory `/root/ovn/ovs' >> make[2]: Entering directory `/root/ovn' >> depbase=`echo lib/acl-log.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ >> /bin/sh ./libtool --tag=CC --mode=compile env REAL_CC="gcc >> -std=gnu99" CHECK="sparse -Wsparse-error -I ./include/sparse -m64 -I >> /usr/local/include " cgcc -target=x86_64 -DHAVE_CONFIG_H -I. -I >> ./ovs/include -I ./ovs/include -I ./ovs/lib -I ./ovs/lib -I ./ovs -I >> ./ovs -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 lib/acl-log.lo -MD -MP -MF $depbase.Tpo -c -o >> lib/acl-log.lo lib/acl-log.c &&\ >> mv -f $depbase.Tpo $depbase.Plo >> libtool: compile: env "REAL_CC=gcc -std=gnu99" "CHECK=sparse >> -Wsparse-error -I ./include/sparse -m64 -I /usr/local/include " cgcc >> -target=x86_64 -DHAVE_CONFIG_H -I. -I ./ovs/include -I ./ovs/include >> -I ./ovs/lib -I ./ovs/lib -I ./ovs -I ./ovs -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 lib/acl-log.lo -MD -MP -MF lib/.deps/acl-log.Tpo -c >> lib/acl-log.c -o lib/acl-log.o >> ./ovs/include/openvswitch/nsh.h:372:11: error: symbol '__v' shadows an >> earlier one >> ./ovs/include/openvswitch/nsh.h:372:11: originally declared here >> ./ovs/include/openvswitch/nsh.h:372:11: error: symbol '__x' shadows an >> earlier one >> ./ovs/include/openvswitch/nsh.h:372:11: originally declared here >> ./ovs/include/openvswitch/nsh.h:383:11: error: symbol '__v' shadows an >> earlier one >> ./ovs/include/openvswitch/nsh.h:383:11: originally declared here >> ./ovs/include/openvswitch/nsh.h:383:11: error: symbol '__x' shadows an >> earlier one >> ./ovs/include/openvswitch/nsh.h:383:11: originally declared here >> make[2]: *** [lib/acl-log.lo] Error 1 >> >> Building ovs master works fine for me: >> >> # git clone https://github.com/openvswitch/ovs.git ovs >> # cd ovs >> # ./boot.sh >> # ./configure --enable-Werror --enable-sparse >> # make >> <snip> >> mv tests/system-afxdp-testsuite.tmp tests/system-afxdp-testsuite >> mv tests/system-kmod-testsuite.tmp tests/system-kmod-testsuite >> mv tests/system-userspace-testsuite.tmp tests/system-userspace-testsuite >> touch -c manpage-check >> mv tests/testsuite.tmp tests/testsuite >> make[2]: Leaving directory `/root/ovs' >> make[1]: Leaving directory `/root/ovs' >> >> Regards, >> Dumitru >> >> > >> > We are planning to push the changes to the master branch hopefully >> Friday >> > if everything goes fine. >> > >> > Thanks >> > Numan >> > >> > >> > On Fri, Jul 26, 2019 at 12:05 AM Mark Michelson <mmich...@redhat.com> >> wrote: >> > >> > > On 7/25/19 12:37 PM, Ilya Maximets wrote: >> > > > Hi. >> > > > >> > > > I have a question regarding the split. >> > > > Sorry if it's obvious from the RFC splitting code which I didn't >> look at. >> > > > >> > > > The question is: >> > > > How the patches for the common data structures (lists, hash maps) >> will be >> > > > applied to OVN? Will we need to post same patch for both >> repositories in >> > > the >> > > > future if it changes/fixes common libraries? Or all this code will >> be >> > > hosted >> > > > only in OVS repo and will be included like a submodule or something >> like >> > > that? >> > > > >> > > > Best regards, Ilya Maximets. >> > > >> > > Hi Ilya, >> > > >> > > OVN will be a separate repo from OVS. Initially, OVS will be a subtree >> > > of OVN, but soon, we will want to be able to build OVN while having a >> > > completely separate OVS on the system. When all is said and done, it >> > > should be possible to build OVN as long as you have, say, an ovs-devel >> > > package installed on your system. >> > > >> > > I think the answer to your question is that as an OVS developer, if >> you >> > > make a change to a core component, you only need to post the change to >> > > the OVS repo. >> > > >> > > From an OVN developer's perspective, if an OVN feature/bugfix >> requires >> > > a parallel change to be made to a core OVS library, then the OVN >> > > developer will need to post the library change to OVS as well as the >> > > usage of that change to OVN. As long as OVS is a subtree of OVN, it's >> > > just a matter of ensuring the subtree is kept up to date. However, >> once >> > > OVS is built separately, then configure-time checks of OVS features or >> > > minimum version checks will need to be added to OVN to ensure that the >> > > code can build properly. >> > > >> > > This approach should place most of the burden of OVN compatibility >> with >> > > OVS on OVN developers rather than OVS developers. >> > > > >> > > >> Numan and I have discussed this, and we're planning to perform the >> split >> > > >> tomorrow July 25. Numan will be applying the commits he referenced >> below >> > > >> to the ovn-org branch to get it up to date. I will be submitting a >> > > >> review for OVS to remove all of the OVN code, documentation, etc. >> from >> > > it. >> > > >> >> > > >> If there are any reasons why we should hold off on this, please >> mention >> > > >> them as soon as possible. >> > > >> >> > > >> Thanks >> > > >> >> > > >> On 7/22/19 2:35 PM, Numan Siddique wrote: >> > > >>> Hi Ben, Mark and All, >> > > >>> >> > > >>> Now that branch 2.12 is created, shall we proceed with the OVS/OVN >> > > split ? >> > > >>> >> > > >>> In order to do the split we need to do the below tasks >> > > >>> >> > > >>> In ovn-org/ovn repo >> > > >>> Step 1. Sync the ovs subtree to the latest (from the OVS repo). >> > > >>> 2. Delete all the ovn related code from the root dir. Right now >> there >> > > is >> > > >>> no history for the OVN files in the ovn-org/ovn repo >> > > >>> 3. Copy OVN files from openvswitch/ovs repo using >> git-filter-branch. >> > > >>> This will preserver the history. >> > > >>> 4. Sync the test files from ovs subtree so that tests pass. >> > > >>> >> > > >>> During this period its better to freeze merging OVN related >> patches in >> > > >>> the OVS repo. >> > > >>> And finally delete the OVN related code from the OVS repo. >> > > >>> >> > > >>> I have done a PoC here - >> > > >>> >> https://github.com/numansiddique/ovn/commits/ovn_sync_from_ovs_v3/p4 >> > > >>> All the relates commits can be found here. >> > > >>> >> > > >>> >> > > >>> Does these steps seem fine ? Any concerns ? >> > > >>> If this seems fine, can we choose a date to start this process ? >> > > >>> >> > > >>> Thanks >> > > >>> Numan >> > > >>> >> > > > >> > > >> > > >> > _______________________________________________ >> > dev mailing list >> > d...@openvswitch.org >> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev >> _______________________________________________ >> dev mailing list >> d...@openvswitch.org >> https://mail.openvswitch.org/mailman/listinfo/ovs-dev >> > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev