mbox series

[0/7] ethdev: change MAC addr get function return value to int

Message ID 1568105541-7399-1-git-send-email-arybchenko@solarflare.com (mailing list archive)
Headers
Series ethdev: change MAC addr get function return value to int |

Message

Andrew Rybchenko Sept. 10, 2019, 8:52 a.m. UTC
  It is the sixth patch series to get rid of void returning functions
in ethdev in accordance with deprecation notice [1].

It should be applied on top of [2], [3], [4], [5] and [6].

Functions which return void are bad since they do not provide explicit
information to the caller if everything is OK or not.

In the case of MAC address get it is important to know if MAC
address is filled in or not and existing function simply keeps
it uninitialized if port ID is invalid.

There is no driver callback to get MAC address. The driver must
fill it in in ethdev data.

net/bonding actively uses the function but not updated to take
return value into account since it is not always obvious what
to do in the case of failure.

Also bonding autotest and examples/bond have many lines longer
than 80 symbols and the warning is ignored on update.

[1] https://patches.dpdk.org/patch/56969/
[2] https://patches.dpdk.org/project/dpdk/list/?series=6279
[3] https://patches.dpdk.org/project/dpdk/list/?series=6334
[4] https://patches.dpdk.org/project/dpdk/list/?series=6335
[5] https://patches.dpdk.org/project/dpdk/list/?series=6308
[6] https://patches.dpdk.org/project/dpdk/list/?series=6350

Igor Romanov (7):
  ethdev: change MAC addr get function return value to int
  app/testpmd: check status of getting MAC address
  app/pdump: check status of getting MAC address
  app/test: check status of getting MAC address
  app/test: check status of getting MAC address in bonding
  examples: check status of getting MAC address
  examples/bond: check status of getting MAC address

 app/pdump/main.c                              |   5 +-
 app/test-pmd/config.c                         |  14 +-
 app/test-pmd/testpmd.c                        |  13 +-
 app/test-pmd/testpmd.h                        |   2 +
 app/test-pmd/util.c                           |  13 +
 app/test/test_event_eth_rx_adapter.c          |   4 +-
 app/test/test_event_eth_tx_adapter.c          |   4 +-
 app/test/test_link_bonding.c                  | 304 +++++++++++++-----
 app/test/test_link_bonding_mode4.c            |  14 +-
 app/test/test_pmd_perf.c                      |   7 +-
 doc/guides/rel_notes/deprecation.rst          |   1 -
 doc/guides/rel_notes/release_19_11.rst        |   3 +
 doc/guides/sample_app_ug/flow_classify.rst    |   4 +-
 examples/bbdev_app/main.c                     |   8 +-
 examples/bond/main.c                          |  58 +++-
 examples/distributor/main.c                   |   8 +-
 examples/ethtool/ethtool-app/main.c           |  18 +-
 examples/ethtool/lib/rte_ethtool.c            |   7 +-
 examples/eventdev_pipeline/main.c             |   8 +-
 examples/flow_classify/flow_classify.c        |   5 +-
 examples/ip_fragmentation/main.c              |   9 +-
 examples/ip_pipeline/cli.c                    |   8 +-
 examples/ip_reassembly/main.c                 |   9 +-
 examples/ipsec-secgw/ipsec-secgw.c            |   7 +-
 examples/ipv4_multicast/main.c                |   7 +-
 examples/kni/main.c                           |   6 +-
 examples/l2fwd-cat/l2fwd-cat.c                |   5 +-
 examples/l2fwd-crypto/main.c                  |   8 +-
 examples/l2fwd-jobstats/main.c                |   7 +-
 examples/l2fwd-keepalive/main.c               |   7 +-
 examples/l2fwd/main.c                         |   7 +-
 examples/l3fwd-acl/main.c                     |   7 +-
 examples/l3fwd-power/main.c                   |   7 +-
 examples/l3fwd-vf/main.c                      |   7 +-
 examples/l3fwd/main.c                         |   7 +-
 examples/link_status_interrupt/main.c         |   6 +-
 .../client_server_mp/mp_server/main.c         |   8 +-
 examples/packet_ordering/main.c               |   8 +-
 .../performance-thread/l3fwd-thread/main.c    |   7 +-
 examples/ptpclient/ptpclient.c                |  11 +-
 examples/quota_watermark/qw/main.c            |  10 +-
 examples/rxtx_callbacks/main.c                |   7 +-
 examples/server_node_efd/server/main.c        |   9 +-
 examples/skeleton/basicfwd.c                  |   5 +-
 examples/tep_termination/vxlan_setup.c        |   5 +-
 examples/vhost/main.c                         |   9 +-
 examples/vm_power_manager/guest_cli/main.c    |  11 +-
 .../guest_cli/vm_power_cli_guest.c            |  17 +-
 .../guest_cli/vm_power_cli_guest.h            |   2 +-
 examples/vm_power_manager/main.c              |   8 +-
 examples/vmdq/main.c                          |   7 +-
 examples/vmdq_dcb/main.c                      |   7 +-
 lib/librte_ethdev/rte_ethdev.c                |   6 +-
 lib/librte_ethdev/rte_ethdev.h                |   5 +-
 54 files changed, 604 insertions(+), 152 deletions(-)
  

Comments

Ferruh Yigit Sept. 24, 2019, 1:23 p.m. UTC | #1
On 9/10/2019 9:52 AM, Andrew Rybchenko wrote:
> It is the sixth patch series to get rid of void returning functions
> in ethdev in accordance with deprecation notice [1].
> 
> It should be applied on top of [2], [3], [4], [5] and [6].
> 
> Functions which return void are bad since they do not provide explicit
> information to the caller if everything is OK or not.
> 
> In the case of MAC address get it is important to know if MAC
> address is filled in or not and existing function simply keeps
> it uninitialized if port ID is invalid.
> 
> There is no driver callback to get MAC address. The driver must
> fill it in in ethdev data.
> 
> net/bonding actively uses the function but not updated to take
> return value into account since it is not always obvious what
> to do in the case of failure.
> 
> Also bonding autotest and examples/bond have many lines longer
> than 80 symbols and the warning is ignored on update.
> 
> [1] https://patches.dpdk.org/patch/56969/
> [2] https://patches.dpdk.org/project/dpdk/list/?series=6279
> [3] https://patches.dpdk.org/project/dpdk/list/?series=6334
> [4] https://patches.dpdk.org/project/dpdk/list/?series=6335
> [5] https://patches.dpdk.org/project/dpdk/list/?series=6308
> [6] https://patches.dpdk.org/project/dpdk/list/?series=6350
> 
> Igor Romanov (7):
>   ethdev: change MAC addr get function return value to int
>   app/testpmd: check status of getting MAC address
>   app/pdump: check status of getting MAC address
>   app/test: check status of getting MAC address
>   app/test: check status of getting MAC address in bonding
>   examples: check status of getting MAC address
>   examples/bond: check status of getting MAC address

Series applied to dpdk-next-net/master, thanks.