[ovs-dev] OVS / OVN split - post 2.12

Mark Michelson mmichels at redhat.com
Fri Jul 26 15:04:03 UTC 2019


On 7/26/19 10:36 AM, Numan Siddique wrote:
> 
> 
> On Fri, Jul 26, 2019 at 8:04 PM Mark Michelson <mmichels at redhat.com 
> <mailto:mmichels at redhat.com>> wrote:
> 
>     On 7/26/19 8:52 AM, Numan Siddique wrote:
>      > On Fri, Jul 26, 2019 at 5:51 PM Numan Siddique
>     <nusiddiq at redhat.com <mailto:nusiddiq at redhat.com>> wrote:
>      >
>      >>
>      >>
>      >> On Fri, Jul 26, 2019 at 5:19 PM Damijan Skvarc
>     <damjan.skvarc at gmail.com <mailto:damjan.skvarc at 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 ?
>      >>
>      >>
>      > Found the issue. The acinclude.m4 file in ovn-org/ovn repo is a
>     bit out of
>      > date. The OVS_ENABLE_SPARSE and other SPARSE related macros needs
>     to be
>      > updated. After fixing it, compilation
>      > was successful.
>      >
>      > Thanks
>      > Numan
> 
>     Hi Numan,
> 
>     I just attempted this. I did a fresh clone of the ovn repo, checked out
>     the up-to-date ovs_ovn_split branch, and then compiled with
>     --enable-sparse and --enable-Werror.
> 
>     I see the following errors:
> 
>     libtool: compile:  env REAL_CC=gcc "CHECK=sparse -Wsparse-error -I
>     ./include/sparse -m64 -I /usr/local/include  " cgcc -target=x86_64
>     -target=host_os_specs -D__MMX__=1 -D__SSE2_MATH__=1 -D__SSE_MATH__=1
>     -D__SSE2__=1 -D__SSE__=1 -DHAVE_CONFIG_H -I. -I ./include -I ./include
>     -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 -Werror -Werror -g -O2 -MT lib/rconn.lo -MD
>     -MP -MF lib/.deps/rconn.Tpo -c lib/rconn.c -o lib/rconn.o
>     lib/sat-math.h:46:14: error: undefined identifier
>     '__builtin_saddll_overflow'
>     lib/sat-math.h:46:39: error: not a function <noident>
>     lib/sat-math.h:46:39: error: not a function <noident>
>     lib/sat-math.h:102:14: error: undefined identifier
>     '__builtin_smulll_overflow'
>     lib/sat-math.h:102:39: error: not a function <noident>
>     lib/sat-math.h:46:39: error: not a function <noident>
>     lib/sat-math.h:102:39: error: not a function <noident>
>     lib/sat-math.h:46:39: error: not a function <noident>
>     lib/sat-math.h:72:14: error: undefined identifier
>     '__builtin_ssubll_overflow'
>     lib/sat-math.h:102:39: error: not a function <noident>
>     lib/sat-math.h:46:39: error: not a function <noident>
>     lib/sat-math.h:102:39: error: call with no type!
>     lib/sat-math.h:72:39: error: call with no type!
>     lib/sat-math.h:46:39: error: call with no type!
>     make[4]: *** [Makefile:5359: lib/rconn.lo] Error 1
> 
>     I also see this with the OVS repo. So it likely should be addressed
>     there instead, and it shouldn't delay our work of splitting the OVN
>     code
>     out.
> 
> 
> I agree.
> 
> But I don't see these errors. I suspect its to do with sparse version ? 
> Not sure :).
> 
> Without sparse, hopefully it went fine for you.
> 
> Thanks
> Numan

Yep, without sparse everything went fine. I was running with sparse 
version 0.5.2 when I saw the errors. I then installed sparse from source 
(reverting commit bb1bf748580d as our travis script does), and no longer 
had the issue. I suspect that we need to update the ovs docs to specify 
a more recent version of sparse than 0.5.1 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
>     <dceara at redhat.com <mailto:dceara at redhat.com>> wrote:
>      >>>
>      >>>> On Fri, Jul 26, 2019 at 8:21 AM Numan Siddique
>     <nusiddiq at redhat.com <mailto:nusiddiq at 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
>     <mmichels at redhat.com <mailto:mmichels at 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
>      >>>>> dev at openvswitch.org <mailto:dev at openvswitch.org>
>      >>>>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>      >>>> _______________________________________________
>      >>>> dev mailing list
>      >>>> dev at openvswitch.org <mailto:dev at openvswitch.org>
>      >>>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>      >>>>
>      >>>
>      > _______________________________________________
>      > dev mailing list
>      > dev at openvswitch.org <mailto:dev at openvswitch.org>
>      > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>      >
> 



More information about the dev mailing list