Code Monkey home page Code Monkey logo

Comments (11)

numansiddique avatar numansiddique commented on August 22, 2024 1

@ExploreScience You've 3 options

  1. When OVS or OVN are installed from packages, they use the paths - /usr/share/, /var/log etc but when OVN is configured without specifying any prefix , it uses the paths - /usr/local/share, /usr/loca/var etc. So to fix this you can create a symbolic links like - ln -s /var /usr/local/var (This approach is hacky but works for simple testing)
  2. Configure OVN with "--prefix=/usr" . See this as an example - https://github.com/ovn-org/ovn-fake-multinode/blob/main/install_ovn.sh#L52
  3. Build OVN rpm packages . For fedora/centos you can do
    - cd ovs
    - make dist
    - cd ..
    - make rpm-fedora
    Not sure how to generate packages for debian.

from ovn.

numansiddique avatar numansiddique commented on August 22, 2024

Please note OVN 20.12.0 require OVS master to build.

Once OVS 2.15 is released we can tag OVN to OVS 2.15. Until then OVS master is required to build.

Regarding runtime compatibility, can you the report the failures ?

OVN 20.09.0 and 20.12.0 should work fine with OVS 2.13.1.

Thanks

from ovn.

kebyn avatar kebyn commented on August 22, 2024

@numansiddique
I hope OVN can have a clear compatibility list like Open vSwitch, thank you. My Open vSwitch turns on DPDK, And my guess is that the DPDK template in OVN is not compatible.
The error log is as follows:

gcc -DHAVE_CONFIG_H -I.   -I ./include  -I ./include -I ./ovn -I ./include -I /root/ovn-20.09.0/../ovs-2.13.1/include -I /root/ovn-20.09.0/../ovs-2.13.1/include -I /root/ovn-20.09.0/../ovs-2.13.1/lib -I /root/ovn-20.09.0/../ovs-2.13.1/lib -I /root/ovn-20.09.0/../ovs-2.13.1 -I /root/ovn-20.09.0/../ovs-2.13.1 -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   -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
controller/ovn-controller.c: In function ‘update_sb_db’:
controller/ovn-controller.c:524:9: warning: implicit declaration of function ‘ovsdb_idl_reset_min_index’; did you mean ‘ovsdb_idl_set_condition’? [-Wimplicit-function-declaration]
         ovsdb_idl_reset_min_index(ovnsb_idl);
         ^~~~~~~~~~~~~~~~~~~~~~~~~
         ovsdb_idl_set_condition
depbase=`echo controller/physical.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I.   -I ./include  -I ./include -I ./ovn -I ./include -I /root/ovn-20.09.0/../ovs-2.13.1/include -I /root/ovn-20.09.0/../ovs-2.13.1/include -I /root/ovn-20.09.0/../ovs-2.13.1/lib -I /root/ovn-20.09.0/../ovs-2.13.1/lib -I /root/ovn-20.09.0/../ovs-2.13.1 -I /root/ovn-20.09.0/../ovs-2.13.1 -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   -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
/bin/sh ./libtool  --tag=CC   --mode=link gcc -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   -g -O2     -o controller/ovn-controller controller/bfd.o controller/binding.o controller/chassis.o controller/encaps.o controller/ha-chassis.o controller/ip-mcast.o controller/lflow.o controller/lport.o controller/ofctrl.o controller/pinctrl.o controller/patch.o controller/ovn-controller.o controller/physical.o lib/libovn.la /root/ovn-20.09.0/../ovs-2.13.1/lib/libopenvswitch.la -lpthread -lrt -lm
libtool: link: gcc -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 -g -O2 -o controller/ovn-controller controller/bfd.o controller/binding.o controller/chassis.o controller/encaps.o controller/ha-chassis.o controller/ip-mcast.o controller/lflow.o controller/lport.o controller/ofctrl.o controller/pinctrl.o controller/patch.o controller/ovn-controller.o controller/physical.o  lib/.libs/libovn.a /root/ovn-20.09.0/../ovs-2.13.1/lib/.libs/libopenvswitch.a -L/usr/local/dpdk/lib64 -lrte_common_cpt -lrte_common_dpaax -lrte_common_octeontx -lrte_common_octeontx2 -lrte_bus_dpaa -lrte_bus_fslmc -lrte_bus_ifpga -lrte_bus_pci -lrte_bus_vdev -lrte_bus_vmbus -lrte_mempool_bucket -lrte_mempool_dpaa -lrte_mempool_dpaa2 -lrte_mempool_octeontx -lrte_mempool_octeontx2 -lrte_mempool_ring -lrte_mempool_stack -lrte_pmd_af_packet -lrte_pmd_ark -lrte_pmd_atlantic -lrte_pmd_avp -lrte_pmd_axgbe -lrte_pmd_bond -lrte_pmd_bnxt -lrte_pmd_cxgbe -lrte_pmd_dpaa -lrte_pmd_dpaa2 -lrte_pmd_e1000 -lrte_pmd_ena -lrte_pmd_enetc -lrte_pmd_enic -lrte_pmd_failsafe -lrte_pmd_fm10k -lrte_pmd_i40e -lrte_pmd_hinic -lrte_pmd_hns3 -lrte_pmd_iavf -lrte_pmd_ice -lrte_pmd_ifc -lrte_pmd_ixgbe -lrte_pmd_kni -lrte_pmd_liquidio -lrte_pmd_memif -lrte_pmd_netvsc -lrte_pmd_nfp -lrte_pmd_null -lrte_pmd_octeontx -lrte_pmd_octeontx2 -lrte_pmd_pfe -lrte_pmd_qede -lrte_pmd_ring -lrte_pmd_sfc -lrte_pmd_softnic -lrte_pmd_tap -lrte_pmd_thunderx -lrte_pmd_vdev_netvsc -lrte_pmd_vhost -lrte_pmd_virtio -lrte_pmd_vmxnet3 -lrte_rawdev_dpaa2_cmdif -lrte_rawdev_dpaa2_qdma -lrte_rawdev_ioat -lrte_rawdev_ntb -lrte_rawdev_octeontx2_dma -lrte_rawdev_skeleton -lrte_pmd_caam_jr -lrte_pmd_dpaa_sec -lrte_pmd_dpaa2_sec -lrte_pmd_nitrox -lrte_pmd_null_crypto -lrte_pmd_octeontx_crypto -lrte_pmd_octeontx2_crypto -lrte_pmd_crypto_scheduler -lrte_pmd_virtio_crypto -lrte_pmd_octeontx_compress -lrte_pmd_qat -lrte_pmd_dpaa_event -lrte_pmd_dpaa2_event -lrte_pmd_octeontx2_event -lrte_pmd_opdl_event -lrte_pmd_skeleton_event -lrte_pmd_sw_event -lrte_pmd_dsw_event -lrte_pmd_octeontx_event -lrte_pmd_bbdev_null -lrte_pmd_bbdev_turbo_sw -lrte_pmd_bbdev_fpga_lte_fec -lrte_bpf -lrte_flow_classify -lrte_pipeline -lrte_table -lrte_port -lrte_fib -lrte_ipsec -lrte_vhost -lrte_stack -lrte_security -lrte_sched -lrte_reorder -lrte_rib -lrte_rcu -lrte_rawdev -lrte_pdump -lrte_power -lrte_member -lrte_lpm -lrte_latencystats -lrte_kni -lrte_jobstats -lrte_ip_frag -lrte_gso -lrte_gro -lrte_eventdev -lrte_efd -lrte_distributor -lrte_cryptodev -lrte_compressdev -lrte_cfgfile -lrte_bitratestats -lrte_bbdev -lrte_acl -lrte_timer -lrte_hash -lrte_metrics -lrte_cmdline -lrte_pci -lrte_ethdev -lrte_meter -lrte_net -lrte_mbuf -lrte_mempool -lrte_ring -lrte_eal -lrte_kvargs -ldl -lpthread -lrt -lm -pthread
controller/ovn-controller.o: In function `update_sb_db':
/root/ovn-20.09.0/controller/ovn-controller.c:524: undefined reference to `ovsdb_idl_reset_min_index'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:1609: controller/ovn-controller] Error 1
make[1]: Leaving directory '/root/ovn-20.09.0'
make: *** [Makefile:1312: all] Error 2

from ovn.

numansiddique avatar numansiddique commented on August 22, 2024

I think if you do make clean or make distclean and compile again (both for ovn and ovs) it should work.

from ovn.

kebyn avatar kebyn commented on August 22, 2024

@numansiddique After trying again, it still has no effect.I remove the --with-dpdk parameter and it works normally

from ovn.

kebyn avatar kebyn commented on August 22, 2024

The DPDK function of Open vSwitch makes OVN compilation fail

from ovn.

ExploreScience avatar ExploreScience commented on August 22, 2024

If I want to use ovs version 2.16.1, which version of ovn should I use

from ovn.

numansiddique avatar numansiddique commented on August 22, 2024

Please see the reply from @igsilya here for a similar query - https://mail.openvswitch.org/pipermail/ovs-discuss/2023-July/052577.html

Qouting it here:


Hi, Joe.

The version of OVS to build with and version of OVS to run with
are two different things. You should build OVN with the version
of OVS provided in a submodule. For v22.03.2 it will be OVS
commit 2410b95597fcec5f733caf77febdb46f4ffacd27.

OVN only uses some libraries from OVS sources. You should be
able to run OVN built this way with your OVS 2.17.7 without any
issues.

One inconvenience though is that, unfortunately, release archives
on GitHub do not include submodules (GitHub doesn't support that).
So, you'll need to check it out yourself.

Best regards, Ilya Maximets.


You can compile OVN without enablin dpdk config in OVS.

Thanks

from ovn.

ExploreScience avatar ExploreScience commented on August 22, 2024

Thanks for your reply.

from ovn.

ExploreScience avatar ExploreScience commented on August 22, 2024

@numansiddique I have installed ovs from package. I use the submodule ovs of ovn to build ovn. But when I install ovn, and start_nothd, The following question arises:
image
It seems ovn does not have access to the ovs libraries.

from ovn.

ExploreScience avatar ExploreScience commented on August 22, 2024

Thank you very much for your answer, which is very helpful to me. @numansiddique

from ovn.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.