From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id D3289A2E1B for ; Tue, 3 Sep 2019 20:24:51 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2769E1EC02; Tue, 3 Sep 2019 20:24:51 +0200 (CEST) Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [67.231.154.164]) by dpdk.org (Postfix) with ESMTP id 0487A1EC00 for ; Tue, 3 Sep 2019 20:24:49 +0200 (CEST) X-Virus-Scanned: Proofpoint Essentials engine Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mx1-us4.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id 6374AB4005A; Tue, 3 Sep 2019 18:24:48 +0000 (UTC) Received: from [192.168.1.31] (188.242.181.57) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Tue, 3 Sep 2019 19:24:41 +0100 From: Andrew Rybchenko To: Aaron Conole CC: Thomas Monjalon , Ferruh Yigit , Jan Viktorin , , Ivan Ilchenko Date: Tue, 3 Sep 2019 21:24:34 +0300 Message-ID: <16cf85f0ad0.27dc.d74a604c1342fc6d922a87b3e5a1c1e3@solarflare.com> In-Reply-To: References: <1566915962-5472-1-git-send-email-arybchenko@solarflare.com> <1567519051-28189-1-git-send-email-arybchenko@solarflare.com> User-Agent: AquaMail/1.20.0-1469 (build: 102100004) MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="us-ascii" Content-Transfer-Encoding: 8bit X-Originating-IP: [188.242.181.57] X-ClientProxiedBy: ocex03.SolarFlarecom.com (10.20.40.36) To ukex01.SolarFlarecom.com (10.17.10.4) X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.5.1010-24886.003 X-TM-AS-Result: No-7.217900-8.000000-10 X-TMASE-MatchedRID: Kx0w2sAofbs4Q7K/HmUF53bspjK6JP6qJuDBbd4NSqQNWA0aQ3FdiJUU auFZIFPV/ye/3Hc9K1rfbBVMcGJ77ba6/BliGsjAuZBZOg7RfX+hQhstwJ9G4El/J9Ro+MAB8bf 335SL+12SX6Z8YUXwkpTxHcuXgRWa0oxRWds/GkMf0eUint9QEUloPruIq9jT4nhkC0SGkyTuyR nDeV8Zi6QAsQUngpB1oDLidlyRHpxYwMQSR3qB3XCO70QAsBdCPXu1L28jSnEeriftGFs2eYjA+ sAfyIsyKX2dP1RkHZkzAgWuhaitFUXU8ovkj0rqboe6sMfg+k82peumOpNjtMz/SxKo9mJ4Hu3G BT0Qw5M3POfgOgtU8t9Pii21bQ9K3huBcHFqgEvnvg/SfqXd/QRryDXHx6oXdrzIBi0Iw9YhD4t 09Jtdd3bbhKAZPknvPRqY3V1qwsl1A8pDaZltTruXVxJQa1cvW6IdALvH8VOzEmEA0OlbnaXXyb C2uBgGmkpqP06oU1KcNR4bIdZR0VKoTs/bx0TI2fov7TwhL8l6i696PjRPiCgIPm7uiiPxJGZ0d 4KSzVJ1FRI7YuPVUCqrdhRtfw3QQ6tklRJO9ihWdFebWIc3VsRB0bsfrpPInxMyeYT53Rlq4mgh cFAFLylbmPxQ8HUL/3/8G43jXwlL11Ge74TBSgftZqgggvekUgTgqSJbw3adjV6G0vNo2PFsPTg re3Wj/ApUF2TRtmJJpsWyabl57KH7i4+gbYbqaquwrFJypLPa2GPtHCD7JlZca9RSYo/b X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--7.217900-8.000000 X-TMASE-Version: SMEX-12.5.0.1300-8.5.1010-24886.003 X-MDID: 1567535089-rvWfIO9BeNtS Subject: Re: [dpdk-dev] [PATCH v2 00/54] ethdev: change rte_eth_dev_info_get() return value to int X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On September 3, 2019 21:14:58 Aaron Conole wrote: > Andrew Rybchenko writes: > >> It is the first patch series to get rid of void returning functions >> in ethdev in accordance with deprecation notice [1]. >> >> >> Functions which return void are bad since they do not provide explicit >> information to the caller if everything is OK or not. It was bugs in >> rte_eth_dev_info_get() recently which kept device information >> uninitialized if port ID is invalid. >> >> >> The patch series updates rte_eth_dev_info_get() straightforward >> to simply return error if port ID is invalid or driver does not >> provide corresponding callback. In the future default callback >> which fills in generic non driver specific information could be >> added to help secondary processes cases when driver has no >> callback in secondary process. Also the idea to make the callback >> mandatory should be considered. >> >> >> Patches to update examples are kept separately to simplify review, >> but could be squashed on apply since logically it is the same >> change in all applicable examples. >> >> >> [1] https://patches.dpdk.org/patch/56969/ > > Some errors with the series: > > https://travis-ci.com/ovsrobot/dpdk/builds/125755853 I guess it was applied to dpdk main repo, but should be on top of dpdk-next-net which has pre-patch applied. > > >> v2: >> - add a patch to change dev_infos_get prototype to return int as well >> - fix issue with ring_pmd_autotest (just inverted assert condition) >> - add missing net/failsafe patch >> - fix net/netsvc patch in accordance with review notes from Stephen >> - fix app/testpmd patch in accordance with review notes from Ferruh >> - add net/bnxt ack >> >> >> Andrew Rybchenko (1): >> ethdev: remove redundunt device info cleanup before get >> >> >> Ivan Ilchenko (53): >> ethdev: change rte_eth_dev_info_get() return value to int >> app/testpmd: check status of getting ethdev info >> app/eventdev: check status of getting ethdev info >> kni: check status of getting ethdev info >> latency: check status of getting ethdev info >> pdump: check status of getting ethdev info >> ring: check status of getting ethdev info >> app/procinfo: check status of getting ethdev info >> app/test: check status of getting ethdev info in bonding >> app/test: check ethdev info get result in event Rx adapter >> net/bnxt: check status of getting ethdev info >> net/bonding: check status of getting ethdev info >> net/failsafe: check status of getting ethdev info >> net/netvsc: check status of getting ethdev info >> net/softnic: check status of getting ethdev info >> ethdev: change eth_dev_infos_get_t to return int >> examples/rxtx_callbacks: check status of getting ethdev info >> examples/l3fwd: check status of getting ethdev info >> examples/qos_meter: check status of getting ethdev info >> examples/ip_frag: check status of getting ethdev info >> examples/performance-thread: check dev info get result >> examples/vmdq: check status of getting ethdev info >> examples/distributor: check status of getting ethdev info >> examples/l3fwd-acl: check status of getting ethdev info >> examples/vm_power: check status of getting ethdev info >> examples/qos_sched: check status of getting ethdev info >> examples/flow_filtering: check status of getting ethdev info >> examples/l3fwd-power: check status of getting ethdev info >> examples/l2fwd: check status of getting ethdev info >> examples/skeleton: check status of getting ethdev info >> examples/vmdq_dcb: check status of getting ethdev info >> examples/ipv4_multicast: check status of getting ethdev info >> examples/l2fwd-jobstats: check status of getting ethdev info >> examples/bond: check status of getting ethdev info >> examples/eventdev: check status of getting ethdev info >> examples/ip_reassembly: check status of getting ethdev info >> examples/vhost: check status of getting ethdev info >> examples/ptpclient: check status of getting ethdev info >> examples/link_status_interrupt: check dev info get result >> examples/tep_termination: check dev info get result >> examples/server_node_efd: check dev info get result >> examples/flow_classify: check status of getting ethdev info >> examples/packet_ordering: check dev info get result >> examples/l2fwd-crypto: check status of getting ethdev info >> examples/multi_process: check status of getting ethdev info >> examples/ipsec-secgw: check status of getting ethdev info >> examples/netmap_compat: check status of getting ethdev info >> examples/l2fwd-keepalive: check dev info get result >> examples/ip_pipeline: check status of getting ethdev info >> examples/load_balancer: check status of getting ethdev info >> examples/kni: check status of getting ethdev info >> examples/ethtool: check status of getting ethdev info >> examples/exception_path: check status of getting ethdev info >> >> >> app/proc-info/main.c | 15 ++- >> app/test-eventdev/test_perf_common.c | 8 +- >> app/test-eventdev/test_pipeline_common.c | 9 +- >> app/test-pmd/cmdline.c | 124 +++++++++++++++++++----- >> app/test-pmd/cmdline_flow.c | 5 +- >> app/test-pmd/config.c | 80 ++++++++++++--- >> app/test-pmd/parameters.c | 8 +- >> app/test-pmd/testpmd.c | 40 ++++++-- >> app/test-pmd/testpmd.h | 3 + >> app/test-pmd/util.c | 28 +++++- >> app/test/test_event_eth_rx_adapter.c | 4 +- >> app/test/test_kni.c | 27 +++++- >> app/test/test_link_bonding_rssconf.c | 33 ++++++- >> app/test/test_pmd_ring.c | 9 +- >> app/test/virtual_pmd.c | 4 +- >> doc/guides/rel_notes/deprecation.rst | 1 - >> doc/guides/rel_notes/release_19_11.rst | 5 +- >> drivers/net/af_packet/rte_eth_af_packet.c | 4 +- >> drivers/net/af_xdp/rte_eth_af_xdp.c | 4 +- >> drivers/net/ark/ark_ethdev.c | 8 +- >> drivers/net/atlantic/atl_ethdev.c | 11 ++- >> drivers/net/avp/avp_ethdev.c | 8 +- >> drivers/net/axgbe/axgbe_ethdev.c | 6 +- >> drivers/net/bnx2x/bnx2x_ethdev.c | 4 +- >> drivers/net/bnxt/bnxt_ethdev.c | 12 ++- >> drivers/net/bnxt/rte_pmd_bnxt.c | 122 ++++++++++++++++++++--- >> drivers/net/bonding/rte_eth_bond_api.c | 10 +- >> drivers/net/bonding/rte_eth_bond_pmd.c | 40 +++++++- >> drivers/net/cxgbe/cxgbe_ethdev.c | 15 ++- >> drivers/net/cxgbe/cxgbe_pfvf.h | 4 +- >> drivers/net/dpaa/dpaa_ethdev.c | 16 +-- >> drivers/net/dpaa2/dpaa2_ethdev.c | 4 +- >> drivers/net/e1000/em_ethdev.c | 12 ++- >> drivers/net/e1000/igb_ethdev.c | 30 ++++-- >> drivers/net/ena/ena_ethdev.c | 8 +- >> drivers/net/enetc/enetc_ethdev.c | 4 +- >> drivers/net/enic/enic_ethdev.c | 4 +- >> drivers/net/failsafe/failsafe_ops.c | 9 +- >> drivers/net/fm10k/fm10k_ethdev.c | 8 +- >> drivers/net/hinic/hinic_pmd_ethdev.c | 4 +- >> drivers/net/i40e/i40e_ethdev.c | 8 +- >> drivers/net/i40e/i40e_ethdev_vf.c | 8 +- >> drivers/net/i40e/i40e_vf_representor.c | 4 +- >> drivers/net/iavf/iavf_ethdev.c | 6 +- >> drivers/net/ice/ice_ethdev.c | 8 +- >> drivers/net/ipn3ke/ipn3ke_representor.c | 4 +- >> drivers/net/ixgbe/ixgbe_ethdev.c | 21 ++-- >> drivers/net/ixgbe/ixgbe_vf_representor.c | 4 +- >> drivers/net/kni/rte_eth_kni.c | 4 +- >> drivers/net/liquidio/lio_ethdev.c | 4 +- >> drivers/net/memif/rte_eth_memif.c | 4 +- >> drivers/net/mlx4/mlx4.h | 4 +- >> drivers/net/mlx4/mlx4_ethdev.c | 4 +- >> drivers/net/mlx5/mlx5.h | 2 +- >> drivers/net/mlx5/mlx5_ethdev.c | 4 +- >> drivers/net/mvneta/mvneta_ethdev.c | 4 +- >> drivers/net/mvpp2/mrvl_ethdev.c | 4 +- >> drivers/net/netvsc/hn_ethdev.c | 16 ++- >> drivers/net/netvsc/hn_var.h | 2 +- >> drivers/net/netvsc/hn_vf.c | 15 ++- >> drivers/net/nfb/nfb_ethdev.c | 4 +- >> drivers/net/nfp/nfp_net.c | 8 +- >> drivers/net/null/rte_eth_null.c | 6 +- >> drivers/net/octeontx/octeontx_ethdev.c | 4 +- >> drivers/net/octeontx2/otx2_ethdev.h | 4 +- >> drivers/net/octeontx2/otx2_ethdev_ops.c | 4 +- >> drivers/net/pcap/rte_eth_pcap.c | 4 +- >> drivers/net/qede/qede_ethdev.c | 10 +- >> drivers/net/ring/rte_eth_ring.c | 4 +- >> drivers/net/sfc/sfc_ethdev.c | 4 +- >> drivers/net/softnic/rte_eth_softnic.c | 4 +- >> drivers/net/softnic/rte_eth_softnic_link.c | 5 +- >> drivers/net/szedata2/rte_eth_szedata2.c | 4 +- >> drivers/net/tap/rte_eth_tap.c | 4 +- >> drivers/net/thunderx/nicvf_ethdev.c | 4 +- >> drivers/net/vhost/rte_eth_vhost.c | 6 +- >> drivers/net/virtio/virtio_ethdev.c | 6 +- >> drivers/net/vmxnet3/vmxnet3_ethdev.c | 8 +- >> examples/bond/main.c | 14 ++- >> examples/distributor/main.c | 8 +- >> examples/ethtool/ethtool-app/main.c | 8 +- >> examples/ethtool/lib/rte_ethtool.c | 21 +++- >> examples/eventdev_pipeline/main.c | 8 +- >> examples/exception_path/main.c | 7 +- >> examples/flow_classify/flow_classify.c | 8 +- >> examples/flow_filtering/main.c | 7 +- >> examples/ip_fragmentation/main.c | 14 ++- >> examples/ip_pipeline/kni.c | 5 +- >> examples/ip_pipeline/link.c | 3 +- >> examples/ip_reassembly/main.c | 7 +- >> examples/ipsec-secgw/ipsec-secgw.c | 6 +- >> examples/ipsec-secgw/ipsec.c | 9 +- >> examples/ipsec-secgw/sa.c | 10 +- >> examples/ipv4_multicast/main.c | 7 +- >> examples/kni/main.c | 26 ++++- >> examples/l2fwd-crypto/main.c | 9 +- >> examples/l2fwd-jobstats/main.c | 8 +- >> examples/l2fwd-keepalive/main.c | 8 +- >> examples/l2fwd/main.c | 8 +- >> examples/l3fwd-acl/main.c | 22 ++++- >> examples/l3fwd-power/main.c | 22 ++++- >> examples/l3fwd/main.c | 14 ++- >> examples/link_status_interrupt/main.c | 8 +- >> examples/load_balancer/init.c | 7 +- >> examples/multi_process/symmetric_mp/main.c | 8 +- >> examples/netmap_compat/lib/compat_netmap.c | 9 +- >> examples/packet_ordering/main.c | 8 +- >> examples/performance-thread/l3fwd-thread/main.c | 15 ++- >> examples/ptpclient/ptpclient.c | 9 +- >> examples/qos_meter/main.c | 16 ++- >> examples/qos_sched/init.c | 8 +- >> examples/rxtx_callbacks/main.c | 9 +- >> examples/server_node_efd/server/init.c | 5 +- >> examples/skeleton/basicfwd.c | 8 +- >> examples/tep_termination/vxlan_setup.c | 6 +- >> examples/vhost/main.c | 9 +- >> examples/vm_power_manager/main.c | 8 +- >> examples/vmdq/main.c | 16 ++- >> examples/vmdq_dcb/main.c | 18 +++- >> lib/librte_ethdev/rte_ethdev.c | 71 ++++++++++---- >> lib/librte_ethdev/rte_ethdev.h | 6 +- >> lib/librte_ethdev/rte_ethdev_core.h | 4 +- >> lib/librte_latencystats/rte_latencystats.c | 23 ++++- >> lib/librte_pdump/rte_pdump.c | 9 +- >> 124 files changed, 1221 insertions(+), 291 deletions(-)