[dpdk-dev] [RFC PATCH] lib/librte_ethdev: Expand port identifier

Bruce Richardson bruce.richardson at intel.com
Wed Feb 18 13:30:07 CET 2015


On Wed, Feb 18, 2015 at 08:02:49PM +0900, Tetsuya Mukawa wrote:
> Currently uint8_t is used for port identifier. This patch changes it,
> and use uint16_t as port identifier.
> This patch only changes ethdev library. ABI of the library will be
> kept even after applying it.
> 
> Also, this patch involves following fixes.
> - Use "port_id" as variable name instead of "port".
> 
>
> Signed-off-by: Tetsuya Mukawa <mukawa at igel.co.jp>
> ---
>  lib/librte_ether/rte_ethdev.c          |  212 +-
>  lib/librte_ether/rte_ethdev_internal.h | 3672 ++++++++++++++++++++++++++++++++
>  2 files changed, 3778 insertions(+), 106 deletions(-)
>  create mode 100644 lib/librte_ether/rte_ethdev_internal.h
> 
I'm not sure I follow why we need a new header file for this.
Also, thinking about this change, a more fundamental problem is going to be
the mbuf structure, which stores a port id inside it in an 8-bit value.
Upgrading that to a 16-bit value requires some thought, and verification to
ensure any adjustment of fields does not lead to serious performance issues.

Therefore, I suggest we leave the port id values as 8-bits until such time
as we need greater than 255 port values in a real-world use case.
Out of interest - anyone have a DPDK app where they use >16 port id values? If
so, how high does the port id value get?

Regards,
/Bruce



More information about the dev mailing list