> Thanks for the clarification. > I'm trying to understand if there is a way to avoid the branch build breakage.
You could imagine that you could be more clever estimating the chance of a conflict. In this particular case though, there was no overlap in changeset, so I'd imagine that automatic detection would have been hard. Let's assume it's a rare event. Cheers, Ole > On 3/6/2018 11:12 AM, Marek Gradzki -X (mgradzki - PANTHEON > TECHNOLOGIES@Cisco) wrote: >> Dave, >> >> these patches were not dependent, but rather in conflict. >> >> And this is the responsibility of merge job to detect them. >> If such situation happens patch should be reverted. >> So I think everything was done right. >> >> I am totally fine with “Rebase if necessary”. >> But personally I often rebase patches before submitting. >> Especially these that might affect several components. >> >> Regards, >> Marek >> >> From: vpp-dev@lists.fd.io [mailto:vpp-dev@lists.fd.io] On Behalf Of Dave >> Wallace >> Sent: 6 marca 2018 16:59 >> To: vpp-dev@lists.fd.io >> Subject: Re: [vpp-dev] VPP DPDK build failure with Mellanox >> interface(aarch64) >> >> Hi Marek, >> >> Thanks for the analysis. VPP's gerrit "Submit Type" is "Rebase if >> Necessary". This means that occasionally we may encounter build breakage >> due to dependent patches. Changing the type to "Fast forward only" is NOT >> worth the extra time/effort to avoid this. >> >> In general, dependent patches are not recommended, but sometimes it can be >> better to separate the change sets into smaller patches. It would also be >> helpful if the merge jobs would send an email to the reviewers list on the >> patch. >> >> Thanks, >> -daw- >> >> On 3/6/18 4:20 AM, Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES at >> Cisco) wrote: >> Hi, >> >> verify of 10920 would fail if it was rebased before submission. >> >> JVPP generation was updated recently to use service definitions >> Instead of inferring message type based on its name. >> >> 10920 was verified against previous version. >> >> Here is updated version of 10920 with updated service definitions: >> https://gerrit.fd.io/r/#/c/10973/ >> >> Regards, >> Marek >> >> From: vpp-dev@lists.fd.io [mailto:vpp-dev@lists.fd.io] On Behalf Of Dave >> Wallace >> Sent: 6 marca 2018 00:19 >> To: vpp-dev@lists.fd.io >> Subject: Re: [vpp-dev] VPP DPDK build failure with Mellanox >> interface(aarch64) >> >> Sirshak, >> >> The JVPP error was caused by a patch (10920) that somehow passed the Verify >> job, but failed during the merge job. I have just merged the patch (10965) >> which reverts the patch which introduced the JVPP build errors. >> >> Thanks, >> -daw- >> >> On 3/5/2018 5:44 PM, Sirshak Das wrote: >> Hi Marco, >> >> Thanks for replying. >> I am not sure if you read the last part of my email: >> Finally what is strange is if I copy dpdk-18.02.tar.gz to seperate >> location and turn MLx5 config and build this builds fine. >> >> Build drivers/net/mlx5 >> CC mlx5.o >> PMDINFO mlx5.o.pmd.c >> CC mlx5.o.pmd.o >> LD mlx5.o >> CC mlx5_glue.o >> CC mlx5_rxq.o >> CC mlx5_txq.o >> CC mlx5_rxtx.o >> CC mlx5_rxtx_vec.o >> CC mlx5_trigger.o >> CC mlx5_ethdev.o >> CC mlx5_mac.o >> CC mlx5_rxmode.o >> CC mlx5_vlan.o >> CC mlx5_stats.o >> CC mlx5_rss.o >> CC mlx5_mr.o >> CC mlx5_flow.o >> CC mlx5_socket.o >> AR librte_pmd_mlx5.a >> INSTALL-LIB librte_pmd_mlx5.a >> >> >> I dont know if Kernel Version is still an issue as dpdk(mlx5 pmd) works >> for me on its own. >> So in order to go past the issue I tried this change to vpp.mk: >> >> # DPDK configuration parameters >> vpp_uses_dpdk_mlx5_pmd = yes >> vpp_uses_external_dpdk = yes >> vpp_dpdk_inc_dir = <DPDK INSTALL DIR>/dpdk-18.02/build/include >> vpp_dpdk_lib_dir = <DPDK INSTALL DIR>/dpdk-18.02/build/lib >> vpp_dpdk_shared_lib = yes >> >> I was able to go past the issue but currently I am facing issue with >> jvpp building: >> >> $ javac -version >> javac 1.8.0_161 >> >> $ java -version >> java version "1.8.0_161" >> Java(TM) SE Runtime Environment (build 1.8.0_161-b12) >> Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode) >> >> >> Entering directory >> '/home/sirdas/code/common/vpp/build-root/build-vpp-native/vpp/vpp-api/java' >> JVPP GEN jvpp-registry/io_fd_vpp_jvpp_VppJNIConnection.h >> JVPP GEN jvpp-gtpu/io_fd_vpp_jvpp_gtpu_JVppGtpuImpl.h >> JVPP GEN jvpp-pppoe/io_fd_vpp_jvpp_pppoe_JVppPppoeImpl.h >> JVPP GEN jvpp-core/io_fd_vpp_jvpp_core_JVppCoreImpl.h >> JVPP GEN jvpp-ioampot/io_fd_vpp_jvpp_ioampot_JVppIoampotImpl.h >> JVPP GEN jvpp-acl/io_fd_vpp_jvpp_acl_JVppAclImpl.h >> JVPP GEN jvpp-ioamexport/io_fd_vpp_jvpp_ioamexport_JVppIoamexportImpl.h >> JVPP GEN jvpp-ioamtrace/io_fd_vpp_jvpp_ioamtrace_JVppIoamtraceImpl.h >> JVPP GEN jvpp-nat/io_fd_vpp_jvpp_nat_JVppNatImpl.h >> jvpp-core/target/io/fd/vpp/jvpp/core/callfacade/CallbackJVppCoreFacade.java:2177: >> error: cannot find symbol >> public final void >> wantIp4NbrStats(io.fd.vpp.jvpp.core.dto.WantIp4NbrStats request, >> io.fd.vpp.jvpp.core.callback.WantIp4NbrStatsCallback callback) throws >> io.fd.vpp.jvpp.VppInvocationException { >> >> ^ >> symbol: class WantIp4NbrStatsCallback >> location: package io.fd.vpp.jvpp.core.callback >> jvpp-core/target/io/fd/vpp/jvpp/core/callfacade/CallbackJVppCoreFacade.java:2183: >> error: cannot find symbol >> public final void >> wantIp6NbrStats(io.fd.vpp.jvpp.core.dto.WantIp6NbrStats request, >> io.fd.vpp.jvpp.core.callback.WantIp6NbrStatsCallback callback) throws >> io.fd.vpp.jvpp.VppInvocationException { >> >> ^ >> symbol: class WantIp6NbrStatsCallback >> location: package io.fd.vpp.jvpp.core.callback >> jvpp-core/target/io/fd/vpp/jvpp/core/callfacade/CallbackJVppCore.java:368: >> error: cannot find symbol >> void wantIp4NbrStats(io.fd.vpp.jvpp.core.dto.WantIp4NbrStats request, >> io.fd.vpp.jvpp.core.callback.WantIp4NbrStatsCallback callback) throws >> io.fd.vpp.jvpp.VppInvocationException; >> >> ^ >> symbol: class WantIp4NbrStatsCallback >> location: package io.fd.vpp.jvpp.core.callback >> jvpp-core/target/io/fd/vpp/jvpp/core/callfacade/CallbackJVppCore.java:369: >> error: cannot find symbol >> void wantIp6NbrStats(io.fd.vpp.jvpp.core.dto.WantIp6NbrStats request, >> io.fd.vpp.jvpp.core.callback.WantIp6NbrStatsCallback callback) throws >> io.fd.vpp.jvpp.VppInvocationException; >> >> ^ >> symbol: class WantIp6NbrStatsCallback >> location: package io.fd.vpp.jvpp.core.callback >> jvpp-core/target/io/fd/vpp/jvpp/core/future/FutureJVppCoreFacade.java:1815: >> error: incompatible types: inference variable REPLY has incompatible bounds >> return send(request); >> ^ >> equality constraints: WantIp4NbrStats >> upper bounds: JVppReply<REQ> >> where REPLY,REQ are type-variables: >> REPLY extends JVppReply<REQ> declared in method <REQ,REPLY>send(REQ) >> REQ extends JVppRequest declared in method <REQ,REPLY>send(REQ) >> jvpp-core/target/io/fd/vpp/jvpp/core/future/FutureJVppCoreFacade.java:1820: >> error: incompatible types: inference variable REPLY has incompatible bounds >> return send(request); >> ^ >> equality constraints: WantIp6NbrStats >> upper bounds: JVppReply<REQ> >> where REPLY,REQ are type-variables: >> REPLY extends JVppReply<REQ> declared in method <REQ,REPLY>send(REQ) >> REQ extends JVppRequest declared in method <REQ,REPLY>send(REQ) >> >> >> If you or anybody else could help me with the issue it will be great. >> >> Thank you >> Sirshak Das >> >> >> Marco Varlese writes: >> >> Hi Sirshak, >> >> Can you please take a look at this thread: >> https://lists.fd.io/g/vpp-dev/message/8219 >> >> Also, take a look at http://dpdk.org/doc/guides/nics/mlx5.html for detailed >> explanations and steps for DPDK to work with Mellanox NICs... >> >> Likely, it's a kernel issue: for Mellanox latest PMD drivers (DPDK 17.11 and >> above) you're required to have 4.15.x whilst I see you're running 4.10.x >> >> Hope this helps. >> >> >> Cheers, >> Marco >> >> On Thu, 2018-03-01 at 18:02 -0600, Sirshak Das wrote: >> Hi all, >> >> I am facing an issue with building VPP with DPDK (Mellanox Drivers >> enabled) on aarch64. >> >> The OFED version installed: >> $ ofed_info -s >> MLNX_OFED_LINUX-4.2-1.2.0.0: >> >> Kernel Version: >> $ uname -r >> 4.10.0-28-generic >> >> Operating System Version: >> Ubuntu 16.04.4 LTS (GNU/Linux 4.10.0-28-generic aarch64) >> >> gcc version: >> gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) >> >> Target Machine: >> Qualcomm Centriq >> >> lspci: >> 0004:01:00.0 Ethernet controller: Mellanox Technologies MT27700 Family >> [ConnectX-4] >> >> Steps I followed: >> >> $ git clone ssh://<my-user-id>@gerrit.fd.io:29418/vpp.git >> $ cd vpp/ >> $ sed -i '/vpp_uses_dpdk_mlx5_pmd/s/^# //g' build-data/platforms/vpp.mk >> $ make dpdk-install-dev DPDK_MLX5_PMD=y >> >> <INSTALL DIR>/vpp/dpdk/deb/_build/dpdk- >> 18.02/drivers/net/mlx5/mlx5_flow.c:38:8: error: redefinition of ‘struct >> ibv_flow_spec_counter_action’ >> struct ibv_flow_spec_counter_action { >> ^ >> In file included from <INSTALL DIR>/vpp/dpdk/deb/_build/dpdk- >> 18.02/drivers/net/mlx5/mlx5_flow.c:14:0: >> /usr/include/infiniband/verbs.h:1360:8: note: originally defined here >> struct ibv_flow_spec_counter_action { >> >> >> By looking at this file: >> <INSTALL >> DIR>/vpp/dpdk/deb/_build/dpdk-18.02/arm64-armv8a-linuxapp- >> gcc/build/drivers/net/mlx5/mlx5_autoconf.h >> >> Which looks like this: >> >> /* HAVE_IBV_DEVICE_VXLAN_SUPPORT is not defined. >> */ >> >> >> >> >> >> /* HAVE_IBV_WQ_FLAG_RX_END_PADDING is not defined. >> */ >> >> >> >> >> >> /* HAVE_IBV_MLX5_MOD_MPW is not defined. >> */ >> >> >> >> >> >> /* HAVE_IBV_MLX5_MOD_CQE_128B_COMP is not defined. >> */ >> >> >> >> >> >> /* HAVE_ETHTOOL_LINK_MODE_25G is not defined. */ >> >> /* HAVE_ETHTOOL_LINK_MODE_50G is not defined. >> */ >> >> >> >> >> >> /* HAVE_ETHTOOL_LINK_MODE_100G is not defined. >> */ >> >> >> >> >> >> /* HAVE_IBV_DEVICE_COUNTERS_SET_SUPPORT is not defined. */ >> >> So I moved my attentions to this file: >> <INSTALL DIR>/vpp/dpdk/deb/_build/dpdk-18.02/drivers/net/mlx5/Makefile >> This whole section fails: >> mlx5_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config- >> h.sh >> >> $Q $(RM) -f -- >> '$@' >> >> >> $Q sh -- '$<' '$@' >> \ >> >> >> HAVE_IBV_DEVICE_VXLAN_SUPPORT >> \ >> >> >> infiniband/verbs.h >> \ >> >> >> enum IBV_DEVICE_VXLAN_SUPPORT >> \ >> >> >> $(AUTOCONF_OUTPUT) >> >> >> $Q sh -- '$<' '$@' >> \ >> >> >> HAVE_IBV_WQ_FLAG_RX_END_PADDING >> \ >> >> >> infiniband/verbs.h >> \ >> >> >> enum IBV_WQ_FLAG_RX_END_PADDING >> \ >> >> >> $(AUTOCONF_OUTPUT) >> >> >> $Q sh -- '$<' '$@' >> \ >> >> >> HAVE_IBV_MLX5_MOD_MPW >> \ >> >> >> infiniband/mlx5dv.h >> \ >> >> >> enum MLX5DV_CONTEXT_FLAGS_MPW_ALLOWED >> \ >> >> $(AUTOCONF_OUTPUT) >> >> >> $Q sh -- '$<' '$@' >> \ >> >> >> HAVE_IBV_MLX5_MOD_CQE_128B_COMP >> \ >> >> >> infiniband/mlx5dv.h >> \ >> >> >> enum MLX5DV_CONTEXT_FLAGS_CQE_128B_COMP >> \ >> >> $(AUTOCONF_OUTPUT) >> >> >> $Q sh -- '$<' '$@' >> \ >> >> >> HAVE_ETHTOOL_LINK_MODE_25G >> \ >> >> >> /usr/include/linux/ethtool.h >> \ >> >> >> enum ETHTOOL_LINK_MODE_25000baseCR_Full_BIT >> \ >> >> $(AUTOCONF_OUTPUT) >> >> >> $Q sh -- '$<' '$@' >> \ >> >> >> HAVE_ETHTOOL_LINK_MODE_50G >> \ >> >> >> /usr/include/linux/ethtool.h >> \ >> >> >> enum ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT >> \ >> >> $(AUTOCONF_OUTPUT) >> >> >> $Q sh -- '$<' '$@' >> \ >> >> >> HAVE_ETHTOOL_LINK_MODE_100G >> \ >> >> >> /usr/include/linux/ethtool.h >> \ >> >> >> enum ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT >> \ >> >> $(AUTOCONF_OUTPUT) >> >> >> $Q sh -- '$<' '$@' >> \ >> >> >> HAVE_IBV_DEVICE_COUNTERS_SET_SUPPORT >> \ >> >> infiniband/verbs.h >> \ >> >> >> enum IBV_FLOW_SPEC_ACTION_COUNT >> \ >> >> >> $(AUTOCONF_OUTPUT) >> >> Which ideally shouldnt because all these files exist: >> >> $ ls -l /usr/include/infiniband/ >> total 156 >> -rw-r--r-- 1 root root 1939 Nov 25 12:17 arch.h >> -rw-r--r-- 1 root root 2897 Nov 25 12:17 ib.h >> -rw-r--r-- 1 root root 27353 Nov 25 12:17 kern-abi.h >> -rw-r--r-- 1 root root 12895 Nov 25 12:17 mlx4dv.h >> -rw-r--r-- 1 root root 17121 Nov 25 12:17 mlx5dv.h >> -rw-r--r-- 1 root root 5694 Nov 25 12:17 opcode.h >> -rw-r--r-- 1 root root 4074 Nov 25 12:17 sa.h >> -rw-r--r-- 1 root root 1622 Nov 25 12:17 sa-kern-abi.h >> -rw-r--r-- 1 root root 67777 Nov 25 12:17 verbs.h >> >> $ ls -l /usr/include/linux/ethtool.h >> -rw-r--r-- 1 root root 65636 Feb 12 17:44 /usr/include/linux/ethtool.h >> >> >> Finally what is strange is if I copy dpdk-18.02.tar.gz to seperate >> location and turn MLx5 config and build this builds fine. >> >> Build drivers/net/mlx5 >> CC mlx5.o >> PMDINFO mlx5.o.pmd.c >> CC mlx5.o.pmd.o >> LD mlx5.o >> CC mlx5_glue.o >> CC mlx5_rxq.o >> CC mlx5_txq.o >> CC mlx5_rxtx.o >> CC mlx5_rxtx_vec.o >> CC mlx5_trigger.o >> CC mlx5_ethdev.o >> CC mlx5_mac.o >> CC mlx5_rxmode.o >> CC mlx5_vlan.o >> CC mlx5_stats.o >> CC mlx5_rss.o >> CC mlx5_mr.o >> CC mlx5_flow.o >> CC mlx5_socket.o >> AR librte_pmd_mlx5.a >> INSTALL-LIB librte_pmd_mlx5.a >> >> I feel I am missing some trivial step in vpp build process please help >> me out I am new to vpp. Let me know if you need any more infor to debug >> this issue. >> >> Thank you >> Sirshak Das >> >> >> >> >> >> >> >> >> > > -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#8439): https://lists.fd.io/g/vpp-dev/message/8439 View All Messages In Topic (10): https://lists.fd.io/g/vpp-dev/topic/13284116 Mute This Topic: https://lists.fd.io/mt/13284116/21656 New Topic: https://lists.fd.io/g/vpp-dev/post Change Your Subscription: https://lists.fd.io/g/vpp-dev/editsub/21656 Group Home: https://lists.fd.io/g/vpp-dev Contact Group Owner: vpp-dev+ow...@lists.fd.io Terms of Service: https://lists.fd.io/static/tos Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub -=-=-=-=-=-=-=-=-=-=-=-
signature.asc
Description: Message signed with OpenPGP