Comments (11)
@ExploreScience You've 3 options
- 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)
- Configure OVN with "--prefix=/usr" . See this as an example - https://github.com/ovn-org/ovn-fake-multinode/blob/main/install_ovn.sh#L52
- 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.
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.
@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.
I think if you do make clean or make distclean and compile again (both for ovn and ovs) it should work.
from ovn.
@numansiddique After trying again, it still has no effect.I remove the --with-dpdk
parameter and it works normally
from ovn.
The DPDK
function of Open vSwitch
makes OVN
compilation fail
from ovn.
If I want to use ovs version 2.16.1, which version of ovn should I use
from ovn.
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.
Thanks for your reply.
from ovn.
@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:
It seems ovn does not have access to the ovs libraries.
from ovn.
Thank you very much for your answer, which is very helpful to me. @numansiddique
from ovn.
Related Issues (20)
- [Q&A + HELP] How to make k8s coredns work with OVN DNS HOT 12
- Installing ovn-21.12.2 and ovs-2.17.5 makes error HOT 2
- DNAT PortRange missbehaves HOT 4
- ovsdb follower always join the leader and status is catchup HOT 16
- permanent mac_bindig cause traffic blackhole HOT 5
- Make arpresponder less aggressive, reply only for broadcast arp requests
- When ACL is applied to a subnet, the action allow-related affects the other actions,such as drop HOT 7
- allow-related is not working for reply flow HOT 1
- how can i capture traffic usage of float ip and router port in ovn?
- Why the flow is needed for unknown mac addresses to send to the MC_UNKNOWN multicast group? HOT 4
- When ACL is applied to a subnet, affects ACL rules based on security groups, such as pg group? HOT 4
- can mac arm silicon m2 use openvswitch mod
- Hot upgrading OVN-controller | down time after restarting ovn_controller HOT 12
- NorthD SB_datapath_binding Handler
- FIX: delete Mac binding test HOT 1
- ovn-controller is stuck for a long time, causing the port to be unable to come up.
- Does ovn | ovs support tcp connections QoS limitation on Logical Switch port or ovs port ?
- IPV6
- Change default port for encapsulation HOT 3
- Does OVN (with Yoga release) use OVS or Linux TC for QoS implementation? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ovn.