On 9/12/2019 5:42 PM, Andrew Rybchenko wrote: > 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/ > > v4: > - add acks > - use fs_err() in net/failsafe > > v3: > - add acks received on v2 patches > - fix callback patch to take callback return value into account > - use newer Git version to generate easier to review patches > - return -1 from get_mac_addr_index() and get_hash_mac_addr_index() > - rollback dev_conf in the case of rte_eth_dev_info_get() failure > > 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 device info get callback 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
For series, Reviewed-by: Ferruh Yigit <ferruh.yi...@intel.com> Series applied to dpdk-next-net/master, thanks. (These changes become bigger than expected, Thanks Andrew & Ivan for the work!)