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