get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/29154/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 29154,
    "url": "http://patches.dpdk.org/api/patches/29154/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20170925032231.72897-3-zhiyong.yang@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20170925032231.72897-3-zhiyong.yang@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20170925032231.72897-3-zhiyong.yang@intel.com",
    "date": "2017-09-25T03:22:28",
    "name": "[dpdk-dev,v5,2/5] ethdev: increase port_id range",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "e6aca872d368987a70117110530aca769b4bddd1",
    "submitter": {
        "id": 540,
        "url": "http://patches.dpdk.org/api/people/540/?format=api",
        "name": "Yang, Zhiyong",
        "email": "zhiyong.yang@intel.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20170925032231.72897-3-zhiyong.yang@intel.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/29154/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/29154/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 805211B1A8;\n\tMon, 25 Sep 2017 05:22:59 +0200 (CEST)",
            "from mga04.intel.com (mga04.intel.com [192.55.52.120])\n\tby dpdk.org (Postfix) with ESMTP id CC04D2C28\n\tfor <dev@dpdk.org>; Mon, 25 Sep 2017 05:22:48 +0200 (CEST)",
            "from fmsmga001.fm.intel.com ([10.253.24.23])\n\tby fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t24 Sep 2017 20:22:47 -0700",
            "from unknown (HELO dpdk5.bj.intel.com) ([172.16.182.182])\n\tby fmsmga001.fm.intel.com with ESMTP; 24 Sep 2017 20:22:40 -0700"
        ],
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos; i=\"5.42,434,1500966000\"; d=\"scan'208\";\n\ta=\"1198583511\"",
        "From": "Zhiyong Yang <zhiyong.yang@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "ferruh.yigit@intel.com, thomas@monjalon.net, adrien.mazarguil@6wind.com, \n\tZhiyong Yang <zhiyong.yang@intel.com>",
        "Date": "Mon, 25 Sep 2017 11:22:28 +0800",
        "Message-Id": "<20170925032231.72897-3-zhiyong.yang@intel.com>",
        "X-Mailer": "git-send-email 2.13.3",
        "In-Reply-To": "<20170925032231.72897-1-zhiyong.yang@intel.com>",
        "References": "<20170921083243.57991-1-zhiyong.yang@intel.com>\n\t<20170925032231.72897-1-zhiyong.yang@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v5 2/5] ethdev: increase port_id range",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Extend port_id definition from uint8_t to uint16_t in lib and drivers\ndata structures, specifically rte_eth_dev_data. Modify the APIs,\ndrivers and app using port_id at the same time.\n\nFix some checkpatch issues from the original code and remove some\nunnecessary cast operations.\n\nrelease_17_11 and deprecation have been updated in this patch.\n\nSigned-off-by: Zhiyong Yang <zhiyong.yang@intel.com>\nAcked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>\n---\n app/pdump/main.c                                  |   2 +-\n app/test-pmd/cmdline.c                            |   6 +-\n app/test-pmd/config.c                             |   4 +-\n app/test-pmd/ieee1588fwd.c                        |  26 ++-\n app/test-pmd/parameters.c                         |   2 +-\n app/test-pmd/rxonly.c                             |   2 +-\n app/test-pmd/testpmd.c                            |  18 +-\n app/test-pmd/testpmd.h                            |   4 +-\n doc/guides/rel_notes/deprecation.rst              |   6 -\n doc/guides/rel_notes/release_17_11.rst            |  18 +-\n drivers/net/af_packet/Makefile                    |   2 +-\n drivers/net/af_packet/rte_eth_af_packet.c         |   2 +-\n drivers/net/ark/ark_ethdev.c                      |   2 +-\n drivers/net/avp/Makefile                          |   2 +-\n drivers/net/avp/avp_ethdev.c                      |   2 +-\n drivers/net/bnx2x/Makefile                        |   2 +-\n drivers/net/bnx2x/bnx2x_rxtx.h                    |   4 +-\n drivers/net/bnxt/Makefile                         |   2 +-\n drivers/net/bnxt/bnxt.h                           |   2 +-\n drivers/net/bnxt/bnxt_ethdev.c                    |   4 +-\n drivers/net/bnxt/bnxt_rxq.h                       |   2 +-\n drivers/net/bnxt/bnxt_txq.h                       |   2 +-\n drivers/net/bnxt/rte_pmd_bnxt.c                   |  32 +--\n drivers/net/bnxt/rte_pmd_bnxt.h                   |  32 +--\n drivers/net/bonding/Makefile                      |   2 +-\n drivers/net/bonding/rte_eth_bond.h                |  41 ++--\n drivers/net/bonding/rte_eth_bond_8023ad.c         |  60 +++---\n drivers/net/bonding/rte_eth_bond_8023ad.h         |  30 +--\n drivers/net/bonding/rte_eth_bond_8023ad_private.h |  12 +-\n drivers/net/bonding/rte_eth_bond_alb.c            |   6 +-\n drivers/net/bonding/rte_eth_bond_alb.h            |   6 +-\n drivers/net/bonding/rte_eth_bond_api.c            |  64 +++---\n drivers/net/bonding/rte_eth_bond_args.c           |   2 +-\n drivers/net/bonding/rte_eth_bond_pmd.c            |  62 +++---\n drivers/net/bonding/rte_eth_bond_private.h        |  45 ++--\n drivers/net/e1000/Makefile                        |   2 +-\n drivers/net/e1000/em_ethdev.c                     |   2 +-\n drivers/net/e1000/em_rxtx.c                       |   4 +-\n drivers/net/e1000/igb_rxtx.c                      |   4 +-\n drivers/net/failsafe/Makefile                     |   2 +-\n drivers/net/failsafe/failsafe_ether.c             |   4 +-\n drivers/net/failsafe/failsafe_private.h           |   4 +-\n drivers/net/fm10k/Makefile                        |   2 +-\n drivers/net/fm10k/fm10k.h                         |   6 +-\n drivers/net/i40e/Makefile                         |   2 +-\n drivers/net/i40e/i40e_ethdev.c                    |   5 +-\n drivers/net/i40e/i40e_rxtx.h                      |   4 +-\n drivers/net/i40e/rte_pmd_i40e.c                   |  50 ++---\n drivers/net/i40e/rte_pmd_i40e.h                   |  48 ++---\n drivers/net/ixgbe/Makefile                        |   2 +-\n drivers/net/ixgbe/ixgbe_ethdev.c                  |   5 +-\n drivers/net/ixgbe/ixgbe_rxtx.h                    |   4 +-\n drivers/net/ixgbe/rte_pmd_ixgbe.c                 |  60 +++---\n drivers/net/ixgbe/rte_pmd_ixgbe.h                 |  64 +++---\n drivers/net/mlx5/mlx5_rxtx.h                      |   4 +-\n drivers/net/nfp/nfp_net.c                         |  16 +-\n drivers/net/nfp/nfp_net_pmd.h                     |   2 +-\n drivers/net/null/Makefile                         |   2 +-\n drivers/net/null/rte_eth_null.c                   |   2 +-\n drivers/net/pcap/Makefile                         |   2 +-\n drivers/net/pcap/rte_eth_pcap.c                   |   2 +-\n drivers/net/qede/qede_if.h                        |   2 +-\n drivers/net/ring/rte_eth_ring.c                   |   2 +-\n drivers/net/szedata2/rte_eth_szedata2.c           |   2 +-\n drivers/net/thunderx/nicvf_struct.h               |   2 +-\n drivers/net/vhost/Makefile                        |   2 +-\n drivers/net/vhost/rte_eth_vhost.c                 |   6 +-\n drivers/net/vhost/rte_eth_vhost.h                 |   4 +-\n drivers/net/virtio/Makefile                       |   2 +-\n drivers/net/virtio/virtio_pci.h                   |   2 +-\n drivers/net/virtio/virtio_rxtx.h                  |   6 +-\n drivers/net/vmxnet3/vmxnet3_ring.h                |   4 +-\n lib/librte_bitratestats/Makefile                  |   2 +-\n lib/librte_bitratestats/rte_bitrate.c             |   2 +-\n lib/librte_bitratestats/rte_bitrate.h             |   2 +-\n lib/librte_ether/Makefile                         |   2 +-\n lib/librte_ether/rte_ethdev.c                     | 241 +++++++++++-----------\n lib/librte_ether/rte_ethdev.h                     | 238 ++++++++++-----------\n lib/librte_ether/rte_flow.c                       |   2 +-\n lib/librte_ether/rte_flow_driver.h                |   2 +-\n lib/librte_ether/rte_tm.c                         |  62 +++---\n lib/librte_ether/rte_tm.h                         |  60 +++---\n lib/librte_ether/rte_tm_driver.h                  |   2 +-\n lib/librte_kni/Makefile                           |   2 +-\n lib/librte_kni/rte_kni.h                          |   6 +-\n lib/librte_latencystats/rte_latencystats.c        |  12 +-\n lib/librte_pdump/Makefile                         |   2 +-\n lib/librte_pdump/rte_pdump.c                      |  16 +-\n lib/librte_pdump/rte_pdump.h                      |   4 +-\n lib/librte_port/Makefile                          |   2 +-\n lib/librte_port/rte_port_ethdev.c                 |   6 +-\n lib/librte_port/rte_port_ethdev.h                 |   6 +-\n 92 files changed, 773 insertions(+), 746 deletions(-)",
    "diff": "diff --git a/app/pdump/main.c b/app/pdump/main.c\nindex 3b13753d9..090a50cfc 100644\n--- a/app/pdump/main.c\n+++ b/app/pdump/main.c\n@@ -623,7 +623,7 @@ static void\n create_mp_ring_vdev(void)\n {\n \tint i;\n-\tuint8_t portid;\n+\tuint16_t portid;\n \tstruct pdump_tuples *pt = NULL;\n \tstruct rte_mempool *mbuf_pool = NULL;\n \tchar vdev_args[SIZE];\ndiff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c\nindex ccdf239d6..d9d083888 100644\n--- a/app/test-pmd/cmdline.c\n+++ b/app/test-pmd/cmdline.c\n@@ -4588,7 +4588,7 @@ struct cmd_show_bonding_config_result {\n \tcmdline_fixed_string_t show;\n \tcmdline_fixed_string_t bonding;\n \tcmdline_fixed_string_t config;\n-\tuint8_t port_id;\n+\tportid_t port_id;\n };\n \n static void cmd_show_bonding_config_parsed(void *parsed_result,\n@@ -4597,7 +4597,7 @@ static void cmd_show_bonding_config_parsed(void *parsed_result,\n {\n \tstruct cmd_show_bonding_config_result *res = parsed_result;\n \tint bonding_mode, agg_mode;\n-\tuint8_t slaves[RTE_MAX_ETHPORTS];\n+\tportid_t slaves[RTE_MAX_ETHPORTS];\n \tint num_slaves, num_active_slaves;\n \tint primary_id;\n \tint i;\n@@ -11500,7 +11500,7 @@ struct cmd_vf_vlan_stripq_result {\n \tcmdline_fixed_string_t vf;\n \tcmdline_fixed_string_t vlan;\n \tcmdline_fixed_string_t stripq;\n-\tuint8_t port_id;\n+\tportid_t port_id;\n \tuint16_t vf_id;\n \tcmdline_fixed_string_t on_off;\n };\ndiff --git a/app/test-pmd/config.c b/app/test-pmd/config.c\nindex 3ae3e1cd8..155136dd5 100644\n--- a/app/test-pmd/config.c\n+++ b/app/test-pmd/config.c\n@@ -358,7 +358,7 @@ rx_queue_infos_display(portid_t port_id, uint16_t queue_id)\n \n \trc = rte_eth_rx_queue_info_get(port_id, queue_id, &qinfo);\n \tif (rc != 0) {\n-\t\tprintf(\"Failed to retrieve information for port: %hhu, \"\n+\t\tprintf(\"Failed to retrieve information for port: %u, \"\n \t\t\t\"RX queue: %hu\\nerror desc: %s(%d)\\n\",\n \t\t\tport_id, queue_id, strerror(-rc), rc);\n \t\treturn;\n@@ -391,7 +391,7 @@ tx_queue_infos_display(portid_t port_id, uint16_t queue_id)\n \n \trc = rte_eth_tx_queue_info_get(port_id, queue_id, &qinfo);\n \tif (rc != 0) {\n-\t\tprintf(\"Failed to retrieve information for port: %hhu, \"\n+\t\tprintf(\"Failed to retrieve information for port: %u, \"\n \t\t\t\"TX queue: %hu\\nerror desc: %s(%d)\\n\",\n \t\t\tport_id, queue_id, strerror(-rc), rc);\n \t\treturn;\ndiff --git a/app/test-pmd/ieee1588fwd.c b/app/test-pmd/ieee1588fwd.c\nindex 51170ee3e..91ee78646 100644\n--- a/app/test-pmd/ieee1588fwd.c\n+++ b/app/test-pmd/ieee1588fwd.c\n@@ -86,12 +86,11 @@ port_ieee1588_rx_timestamp_check(portid_t pi, uint32_t index)\n \tstruct timespec timestamp = {0, 0};\n \n \tif (rte_eth_timesync_read_rx_timestamp(pi, &timestamp, index) < 0) {\n-\t\tprintf(\"Port %u RX timestamp registers not valid\\n\",\n-\t\t       (unsigned) pi);\n+\t\tprintf(\"Port %u RX timestamp registers not valid\\n\", pi);\n \t\treturn;\n \t}\n \tprintf(\"Port %u RX timestamp value %lu s %lu ns\\n\",\n-\t       (unsigned) pi, timestamp.tv_sec, timestamp.tv_nsec);\n+\t\tpi, timestamp.tv_sec, timestamp.tv_nsec);\n }\n \n #define MAX_TX_TMST_WAIT_MICROSECS 1000 /**< 1 milli-second */\n@@ -110,12 +109,12 @@ port_ieee1588_tx_timestamp_check(portid_t pi)\n \tif (wait_us >= MAX_TX_TMST_WAIT_MICROSECS) {\n \t\tprintf(\"Port %u TX timestamp registers not valid after \"\n \t\t       \"%u micro-seconds\\n\",\n-\t\t       (unsigned) pi, (unsigned) MAX_TX_TMST_WAIT_MICROSECS);\n+\t\t       pi, MAX_TX_TMST_WAIT_MICROSECS);\n \t\treturn;\n \t}\n \tprintf(\"Port %u TX timestamp value %lu s %lu ns validated after \"\n \t       \"%u micro-second%s\\n\",\n-\t       (unsigned) pi, timestamp.tv_sec, timestamp.tv_nsec, wait_us,\n+\t       pi, timestamp.tv_sec, timestamp.tv_nsec, wait_us,\n \t       (wait_us == 1) ? \"\" : \"s\");\n }\n \n@@ -148,11 +147,11 @@ ieee1588_packet_fwd(struct fwd_stream *fs)\n \t\tif (eth_type == ETHER_TYPE_1588) {\n \t\t\tprintf(\"Port %u Received PTP packet not filtered\"\n \t\t\t       \" by hardware\\n\",\n-\t\t\t       (unsigned) fs->rx_port);\n+\t\t\t       fs->rx_port);\n \t\t} else {\n \t\t\tprintf(\"Port %u Received non PTP packet type=0x%4x \"\n \t\t\t       \"len=%u\\n\",\n-\t\t\t       (unsigned) fs->rx_port, eth_type,\n+\t\t\t       fs->rx_port, eth_type,\n \t\t\t       (unsigned) mb->pkt_len);\n \t\t}\n \t\trte_pktmbuf_free(mb);\n@@ -161,7 +160,7 @@ ieee1588_packet_fwd(struct fwd_stream *fs)\n \tif (eth_type != ETHER_TYPE_1588) {\n \t\tprintf(\"Port %u Received NON PTP packet incorrectly\"\n \t\t       \" detected by hardware\\n\",\n-\t\t       (unsigned) fs->rx_port);\n+\t\t       fs->rx_port);\n \t\trte_pktmbuf_free(mb);\n \t\treturn;\n \t}\n@@ -175,19 +174,19 @@ ieee1588_packet_fwd(struct fwd_stream *fs)\n \tif (ptp_hdr->version != 0x02) {\n \t\tprintf(\"Port %u Received PTP V2 Ethernet frame with wrong PTP\"\n \t\t       \" protocol version 0x%x (should be 0x02)\\n\",\n-\t\t       (unsigned) fs->rx_port, ptp_hdr->version);\n+\t\t       fs->rx_port, ptp_hdr->version);\n \t\trte_pktmbuf_free(mb);\n \t\treturn;\n \t}\n \tif (ptp_hdr->msg_id != PTP_SYNC_MESSAGE) {\n \t\tprintf(\"Port %u Received PTP V2 Ethernet frame with unexpected\"\n \t\t       \" message ID 0x%x (expected 0x0 - PTP_SYNC_MESSAGE)\\n\",\n-\t\t       (unsigned) fs->rx_port, ptp_hdr->msg_id);\n+\t\t       fs->rx_port, ptp_hdr->msg_id);\n \t\trte_pktmbuf_free(mb);\n \t\treturn;\n \t}\n \tprintf(\"Port %u IEEE1588 PTP V2 SYNC Message filtered by hardware\\n\",\n-\t       (unsigned) fs->rx_port);\n+\t       fs->rx_port);\n \n \t/*\n \t * Check that the received PTP packet has been timestamped by the\n@@ -196,7 +195,7 @@ ieee1588_packet_fwd(struct fwd_stream *fs)\n \tif (! (mb->ol_flags & PKT_RX_IEEE1588_TMST)) {\n \t\tprintf(\"Port %u Received PTP packet not timestamped\"\n \t\t       \" by hardware\\n\",\n-\t\t       (unsigned) fs->rx_port);\n+\t\t       fs->rx_port);\n \t\trte_pktmbuf_free(mb);\n \t\treturn;\n \t}\n@@ -216,8 +215,7 @@ ieee1588_packet_fwd(struct fwd_stream *fs)\n \tmb->ol_flags |= PKT_TX_IEEE1588_TMST;\n \tfs->tx_packets += 1;\n \tif (rte_eth_tx_burst(fs->rx_port, fs->tx_queue, &mb, 1) == 0) {\n-\t\tprintf(\"Port %u sent PTP packet dropped\\n\",\n-\t\t       (unsigned) fs->rx_port);\n+\t\tprintf(\"Port %u sent PTP packet dropped\\n\", fs->rx_port);\n \t\tfs->fwd_dropped += 1;\n \t\trte_pktmbuf_free(mb);\n \t\treturn;\ndiff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c\nindex 2f7f70fd6..31287d71d 100644\n--- a/app/test-pmd/parameters.c\n+++ b/app/test-pmd/parameters.c\n@@ -734,7 +734,7 @@ launch_args_parse(int argc, char** argv)\n \t\t\tif (!strcmp(lgopts[opt_idx].name, \"nb-ports\")) {\n \t\t\t\tn = atoi(optarg);\n \t\t\t\tif (n > 0 && n <= nb_ports)\n-\t\t\t\t\tnb_fwd_ports = (uint8_t) n;\n+\t\t\t\t\tnb_fwd_ports = n;\n \t\t\t\telse\n \t\t\t\t\trte_exit(EXIT_FAILURE,\n \t\t\t\t\t\t \"Invalid port %d\\n\", n);\ndiff --git a/app/test-pmd/rxonly.c b/app/test-pmd/rxonly.c\nindex 5ef021905..57df01468 100644\n--- a/app/test-pmd/rxonly.c\n+++ b/app/test-pmd/rxonly.c\n@@ -122,7 +122,7 @@ pkt_burst_receive(struct fwd_stream *fs)\n \t */\n \tif (verbose_level > 0)\n \t\tprintf(\"port %u/queue %u: received %u packets\\n\",\n-\t\t       (unsigned) fs->rx_port,\n+\t\t       fs->rx_port,\n \t\t       (unsigned) fs->rx_queue,\n \t\t       (unsigned) nb_rx);\n \tfor (i = 0; i < nb_rx; i++) {\ndiff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c\nindex e097ee04e..477e2e7ad 100644\n--- a/app/test-pmd/testpmd.c\n+++ b/app/test-pmd/testpmd.c\n@@ -390,7 +390,7 @@ struct gro_status gro_ports[RTE_MAX_ETHPORTS];\n /* Forward function declarations */\n static void map_port_queue_stats_mapping_registers(uint8_t pi, struct rte_port *port);\n static void check_all_ports_link_status(uint32_t port_mask);\n-static int eth_event_callback(uint8_t port_id,\n+static int eth_event_callback(portid_t port_id,\n \t\t\t      enum rte_eth_event_type type,\n \t\t\t      void *param, void *ret_param);\n \n@@ -1816,7 +1816,8 @@ check_all_ports_link_status(uint32_t port_mask)\n {\n #define CHECK_INTERVAL 100 /* 100ms */\n #define MAX_CHECK_TIME 90 /* 9s (90 * 100ms) in total */\n-\tuint8_t portid, count, all_ports_up, print_flag = 0;\n+\tportid_t portid;\n+\tuint8_t count, all_ports_up, print_flag = 0;\n \tstruct rte_eth_link link;\n \n \tprintf(\"Checking link statuses...\\n\");\n@@ -1831,14 +1832,13 @@ check_all_ports_link_status(uint32_t port_mask)\n \t\t\t/* print link status if flag set */\n \t\t\tif (print_flag == 1) {\n \t\t\t\tif (link.link_status)\n-\t\t\t\t\tprintf(\"Port %d Link Up - speed %u \"\n-\t\t\t\t\t\t\"Mbps - %s\\n\", (uint8_t)portid,\n-\t\t\t\t\t\t(unsigned)link.link_speed,\n+\t\t\t\t\tprintf(\n+\t\t\t\t\t\"Port%d Link Up. speed %u Mbps- %s\\n\",\n+\t\t\t\t\tportid, link.link_speed,\n \t\t\t\t(link.link_duplex == ETH_LINK_FULL_DUPLEX) ?\n \t\t\t\t\t(\"full-duplex\") : (\"half-duplex\\n\"));\n \t\t\t\telse\n-\t\t\t\t\tprintf(\"Port %d Link Down\\n\",\n-\t\t\t\t\t\t(uint8_t)portid);\n+\t\t\t\t\tprintf(\"Port %d Link Down\\n\", portid);\n \t\t\t\tcontinue;\n \t\t\t}\n \t\t\t/* clear all_ports_up flag if any link down */\n@@ -1885,7 +1885,7 @@ rmv_event_callback(void *arg)\n \n /* This function is used by the interrupt thread */\n static int\n-eth_event_callback(uint8_t port_id, enum rte_eth_event_type type, void *param,\n+eth_event_callback(portid_t port_id, enum rte_eth_event_type type, void *param,\n \t\t  void *ret_param)\n {\n \tstatic const char * const event_desc[] = {\n@@ -2328,7 +2328,7 @@ int\n main(int argc, char** argv)\n {\n \tint  diag;\n-\tuint8_t port_id;\n+\tportid_t port_id;\n \n \tsignal(SIGINT, signal_handler);\n \tsignal(SIGTERM, signal_handler);\ndiff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h\nindex 1d1ee7587..657c1235c 100644\n--- a/app/test-pmd/testpmd.h\n+++ b/app/test-pmd/testpmd.h\n@@ -78,7 +78,7 @@\n #define UMA_NO_CONFIG  0xFF\n \n typedef uint8_t  lcoreid_t;\n-typedef uint8_t  portid_t;\n+typedef uint16_t portid_t;\n typedef uint16_t queueid_t;\n typedef uint16_t streamid_t;\n \n@@ -283,7 +283,7 @@ enum dcb_mode_enable\n #define MAX_RX_QUEUE_STATS_MAPPINGS 4096 /* MAX_PORT of 32 @ 128 rx_queues/port */\n \n struct queue_stats_mappings {\n-\tuint8_t port_id;\n+\tportid_t port_id;\n \tuint16_t queue_id;\n \tuint8_t stats_counter_id;\n } __rte_cache_aligned;\ndiff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst\nindex 3362f3350..45eb5c4a9 100644\n--- a/doc/guides/rel_notes/deprecation.rst\n+++ b/doc/guides/rel_notes/deprecation.rst\n@@ -76,12 +76,6 @@ Deprecation Notices\n   done by the EAL and not by the ``ethdev`` layer anymore. Users relying on this\n   flag being present only have to remove their checks to follow the change.\n \n-* ABI/API changes are planned for 17.11 in all structures which include port_id\n-  definition such as \"rte_eth_dev_data\", \"rte_port_ethdev_reader_params\",\n-  \"rte_port_ethdev_writer_params\", and so on. The definition of port_id will be\n-  changed from 8 bits to 16 bits in order to support more than 256 ports in\n-  DPDK. All APIs which have port_id parameter will be changed at the same time.\n-\n * ethdev: An ABI change is planned for 17.11 for the structure rte_eth_dev_data.\n   The size of the unique name will increase RTE_ETH_NAME_MAX_LEN from 32 to\n   64 characters to allow using a globally unique identifier (GUID) in this field.\ndiff --git a/doc/guides/rel_notes/release_17_11.rst b/doc/guides/rel_notes/release_17_11.rst\nindex 8bf91bd40..39f75aced 100644\n--- a/doc/guides/rel_notes/release_17_11.rst\n+++ b/doc/guides/rel_notes/release_17_11.rst\n@@ -41,6 +41,11 @@ New Features\n      Also, make sure to start the actual text at the margin.\n      =========================================================\n \n+* **Extended port_id range from uint8_t to uint16_t.**\n+\n+  Increased port_id range from 8 bits to 16 bits in order to support more than\n+  256 ports in dpdk. All ethdev APIs which have port_id as parameter are changed\n+  in the meantime.\n \n Resolved Issues\n ---------------\n@@ -144,7 +149,10 @@ ABI Changes\n    Also, make sure to start the actual text at the margin.\n    =========================================================\n \n+* **Extended port_id range.**\n \n+  The size of the field ``port_id`` in the ``rte_eth_dev_data`` structure\n+  changed, as described in the `New Features` section.\n \n Shared Library Versions\n -----------------------\n@@ -165,19 +173,19 @@ The libraries prepended with a plus sign were incremented in this version.\n .. code-block:: diff\n \n      librte_acl.so.2\n-     librte_bitratestats.so.1\n+     librte_bitratestats.so.2\n      librte_cfgfile.so.2\n      librte_cmdline.so.2\n      librte_cryptodev.so.3\n      librte_distributor.so.1\n      librte_eal.so.5\n-     librte_ethdev.so.7\n+     librte_ethdev.so.8\n      librte_eventdev.so.2\n      librte_gro.so.1\n      librte_hash.so.2\n      librte_ip_frag.so.1\n      librte_jobstats.so.1\n-     librte_kni.so.2\n+     librte_kni.so.3\n      librte_kvargs.so.1\n      librte_latencystats.so.1\n      librte_lpm.so.2\n@@ -186,11 +194,11 @@ The libraries prepended with a plus sign were incremented in this version.\n      librte_meter.so.1\n      librte_metrics.so.1\n      librte_net.so.1\n-     librte_pdump.so.1\n+     librte_pdump.so.2\n      librte_pipeline.so.3\n      librte_pmd_bond.so.1\n      librte_pmd_ring.so.2\n-     librte_port.so.3\n+     librte_port.so.4\n      librte_power.so.1\n      librte_reorder.so.1\n      librte_ring.so.1\ndiff --git a/drivers/net/af_packet/Makefile b/drivers/net/af_packet/Makefile\nindex 70d517c16..4d62b7dbd 100644\n--- a/drivers/net/af_packet/Makefile\n+++ b/drivers/net/af_packet/Makefile\n@@ -40,7 +40,7 @@ LIB = librte_pmd_af_packet.a\n \n EXPORT_MAP := rte_pmd_af_packet_version.map\n \n-LIBABIVER := 1\n+LIBABIVER := 2\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\ndiff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c\nindex 9a47852ca..483b0c107 100644\n--- a/drivers/net/af_packet/rte_eth_af_packet.c\n+++ b/drivers/net/af_packet/rte_eth_af_packet.c\n@@ -75,7 +75,7 @@ struct pkt_rx_queue {\n \tunsigned int framenum;\n \n \tstruct rte_mempool *mb_pool;\n-\tuint8_t in_port;\n+\tuint16_t in_port;\n \n \tvolatile unsigned long rx_pkts;\n \tvolatile unsigned long err_pkts;\ndiff --git a/drivers/net/ark/ark_ethdev.c b/drivers/net/ark/ark_ethdev.c\nindex 6db362b04..893284733 100644\n--- a/drivers/net/ark/ark_ethdev.c\n+++ b/drivers/net/ark/ark_ethdev.c\n@@ -641,7 +641,7 @@ eth_ark_dev_stop(struct rte_eth_dev *dev)\n \tfor (i = 0; i < dev->data->nb_tx_queues; i++) {\n \t\tstatus = eth_ark_tx_queue_stop(dev, i);\n \t\tif (status != 0) {\n-\t\t\tuint8_t port = dev->data->port_id;\n+\t\t\tuint16_t port = dev->data->port_id;\n \t\t\tPMD_DRV_LOG(ERR,\n \t\t\t\t    \"tx_queue stop anomaly\"\n \t\t\t\t    \" port %u, queue %u\\n\",\ndiff --git a/drivers/net/avp/Makefile b/drivers/net/avp/Makefile\nindex cd465aac9..7ffb4d172 100644\n--- a/drivers/net/avp/Makefile\n+++ b/drivers/net/avp/Makefile\n@@ -42,7 +42,7 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)\n \n EXPORT_MAP := rte_pmd_avp_version.map\n \n-LIBABIVER := 1\n+LIBABIVER := 2\n \n # install public header files to enable compilation of the hypervisor level\n # dpdk application\ndiff --git a/drivers/net/avp/avp_ethdev.c b/drivers/net/avp/avp_ethdev.c\nindex c746a0e2c..b5cc955f2 100644\n--- a/drivers/net/avp/avp_ethdev.c\n+++ b/drivers/net/avp/avp_ethdev.c\n@@ -190,7 +190,7 @@ struct avp_dev {\n \tstruct rte_eth_dev_data *dev_data;\n \t/**< Back pointer to ethernet device data */\n \tvolatile uint32_t flags; /**< Device operational flags */\n-\tuint8_t port_id; /**< Ethernet port identifier */\n+\tuint16_t port_id; /**< Ethernet port identifier */\n \tstruct rte_mempool *pool; /**< pkt mbuf mempool */\n \tunsigned int guest_mbuf_size; /**< local pool mbuf size */\n \tunsigned int host_mbuf_size; /**< host mbuf size */\ndiff --git a/drivers/net/bnx2x/Makefile b/drivers/net/bnx2x/Makefile\nindex e12310691..7a1c77523 100644\n--- a/drivers/net/bnx2x/Makefile\n+++ b/drivers/net/bnx2x/Makefile\n@@ -12,7 +12,7 @@ LDLIBS += -lz\n \n EXPORT_MAP := rte_pmd_bnx2x_version.map\n \n-LIBABIVER := 1\n+LIBABIVER := 2\n \n ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)\n CFLAGS += -wd188 #188: enumerated type mixed with another type\ndiff --git a/drivers/net/bnx2x/bnx2x_rxtx.h b/drivers/net/bnx2x/bnx2x_rxtx.h\nindex 2e38ec26a..9600e0f1c 100644\n--- a/drivers/net/bnx2x/bnx2x_rxtx.h\n+++ b/drivers/net/bnx2x/bnx2x_rxtx.h\n@@ -41,7 +41,7 @@ struct bnx2x_rx_queue {\n \tuint16_t                   rx_cq_head;           /**< Index of current rcq bd. */\n \tuint16_t                   rx_cq_tail;           /**< Index of last rcq bd. */\n \tuint16_t                   queue_id;             /**< RX queue index. */\n-\tuint8_t                    port_id;              /**< Device port identifier. */\n+\tuint16_t                   port_id;              /**< Device port identifier. */\n \tstruct bnx2x_softc           *sc;                  /**< Ptr to dev_private data. */\n };\n \n@@ -62,7 +62,7 @@ struct bnx2x_tx_queue {\n \tuint16_t                   nb_tx_avail;          /**< Number of TX descriptors available. */\n \tuint16_t                   nb_tx_pages;          /**< number of TX pages */\n \tuint16_t                   queue_id;             /**< TX queue index. */\n-\tuint8_t                    port_id;              /**< Device port identifier. */\n+\tuint16_t                   port_id;              /**< Device port identifier. */\n \tstruct bnx2x_softc           *sc;                  /**< Ptr to dev_private data */\n };\n \ndiff --git a/drivers/net/bnxt/Makefile b/drivers/net/bnxt/Makefile\nindex b03f65dc9..55b49b538 100644\n--- a/drivers/net/bnxt/Makefile\n+++ b/drivers/net/bnxt/Makefile\n@@ -40,7 +40,7 @@ LIB = librte_pmd_bnxt.a\n \n EXPORT_MAP := rte_pmd_bnxt_version.map\n \n-LIBABIVER := 1\n+LIBABIVER := 2\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\ndiff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h\nindex 405d94deb..26a9018b5 100644\n--- a/drivers/net/bnxt/bnxt.h\n+++ b/drivers/net/bnxt/bnxt.h\n@@ -126,7 +126,7 @@ struct bnxt_pf_info {\n #define BNXT_FIRST_VF_FID\t128\n #define BNXT_PF_RINGS_USED(bp)\tbnxt_get_num_queues(bp)\n #define BNXT_PF_RINGS_AVAIL(bp)\t(bp->pf.max_cp_rings - BNXT_PF_RINGS_USED(bp))\n-\tuint8_t\t\t\tport_id;\n+\tuint16_t\t\tport_id;\n \tuint16_t\t\tfirst_vf_id;\n \tuint16_t\t\tactive_vfs;\n \tuint16_t\t\tmax_vfs;\ndiff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c\nindex c9d11228b..2e817535e 100644\n--- a/drivers/net/bnxt/bnxt_ethdev.c\n+++ b/drivers/net/bnxt/bnxt_ethdev.c\n@@ -489,13 +489,13 @@ static void bnxt_print_link_info(struct rte_eth_dev *eth_dev)\n \n \tif (link->link_status)\n \t\tRTE_LOG(INFO, PMD, \"Port %d Link Up - speed %u Mbps - %s\\n\",\n-\t\t\t(uint8_t)(eth_dev->data->port_id),\n+\t\t\teth_dev->data->port_id,\n \t\t\t(uint32_t)link->link_speed,\n \t\t\t(link->link_duplex == ETH_LINK_FULL_DUPLEX) ?\n \t\t\t(\"full-duplex\") : (\"half-duplex\\n\"));\n \telse\n \t\tRTE_LOG(INFO, PMD, \"Port %d Link Down\\n\",\n-\t\t\t(uint8_t)(eth_dev->data->port_id));\n+\t\t\teth_dev->data->port_id);\n }\n \n static int bnxt_dev_lsc_intr_setup(struct rte_eth_dev *eth_dev)\ndiff --git a/drivers/net/bnxt/bnxt_rxq.h b/drivers/net/bnxt/bnxt_rxq.h\nindex 01aaa007f..cea0785d1 100644\n--- a/drivers/net/bnxt/bnxt_rxq.h\n+++ b/drivers/net/bnxt/bnxt_rxq.h\n@@ -48,7 +48,7 @@ struct bnxt_rx_queue {\n \tuint16_t\t\trx_free_thresh; /* max free RX desc to hold */\n \tuint16_t\t\tqueue_id; /* RX queue index */\n \tuint16_t\t\treg_idx; /* RX queue register index */\n-\tuint8_t\t\t\tport_id; /* Device port identifier */\n+\tuint16_t\t\tport_id; /* Device port identifier */\n \tuint8_t\t\t\tcrc_len; /* 0 if CRC stripped, 4 otherwise */\n \n \tstruct bnxt\t\t*bp;\ndiff --git a/drivers/net/bnxt/bnxt_txq.h b/drivers/net/bnxt/bnxt_txq.h\nindex 16f3a0bdd..f753c10f2 100644\n--- a/drivers/net/bnxt/bnxt_txq.h\n+++ b/drivers/net/bnxt/bnxt_txq.h\n@@ -46,7 +46,7 @@ struct bnxt_tx_queue {\n \tuint16_t\t\ttx_next_rs; /* next desc to set RS bit */\n \tuint16_t\t\tqueue_id; /* TX queue index */\n \tuint16_t\t\treg_idx; /* TX queue register index */\n-\tuint8_t\t\t\tport_id; /* Device port identifier */\n+\tuint16_t\t\tport_id; /* Device port identifier */\n \tuint8_t\t\t\tpthresh; /* Prefetch threshold register */\n \tuint8_t\t\t\ththresh; /* Host threshold register */\n \tuint8_t\t\t\twthresh; /* Write-back threshold reg */\ndiff --git a/drivers/net/bnxt/rte_pmd_bnxt.c b/drivers/net/bnxt/rte_pmd_bnxt.c\nindex c343d9033..63fc27911 100644\n--- a/drivers/net/bnxt/rte_pmd_bnxt.c\n+++ b/drivers/net/bnxt/rte_pmd_bnxt.c\n@@ -67,7 +67,7 @@ int bnxt_rcv_msg_from_vf(struct bnxt *bp, uint16_t vf_id, void *msg)\n \t\ttrue : false;\n }\n \n-int rte_pmd_bnxt_set_tx_loopback(uint8_t port, uint8_t on)\n+int rte_pmd_bnxt_set_tx_loopback(uint16_t port, uint8_t on)\n {\n \tstruct rte_eth_dev *eth_dev;\n \tstruct bnxt *bp;\n@@ -108,7 +108,7 @@ rte_pmd_bnxt_set_all_queues_drop_en_cb(struct bnxt_vnic_info *vnic, void *onptr)\n \tvnic->bd_stall = !(*on);\n }\n \n-int rte_pmd_bnxt_set_all_queues_drop_en(uint8_t port, uint8_t on)\n+int rte_pmd_bnxt_set_all_queues_drop_en(uint16_t port, uint8_t on)\n {\n \tstruct rte_eth_dev *eth_dev;\n \tstruct bnxt *bp;\n@@ -159,7 +159,7 @@ int rte_pmd_bnxt_set_all_queues_drop_en(uint8_t port, uint8_t on)\n \treturn rc;\n }\n \n-int rte_pmd_bnxt_set_vf_mac_addr(uint8_t port, uint16_t vf,\n+int rte_pmd_bnxt_set_vf_mac_addr(uint16_t port, uint16_t vf,\n \t\t\t\tstruct ether_addr *mac_addr)\n {\n \tstruct rte_eth_dev *dev;\n@@ -191,7 +191,7 @@ int rte_pmd_bnxt_set_vf_mac_addr(uint8_t port, uint16_t vf,\n \treturn rc;\n }\n \n-int rte_pmd_bnxt_set_vf_rate_limit(uint8_t port, uint16_t vf,\n+int rte_pmd_bnxt_set_vf_rate_limit(uint16_t port, uint16_t vf,\n \t\t\t\tuint16_t tx_rate, uint64_t q_msk)\n {\n \tstruct rte_eth_dev *eth_dev;\n@@ -241,7 +241,7 @@ int rte_pmd_bnxt_set_vf_rate_limit(uint8_t port, uint16_t vf,\n \treturn rc;\n }\n \n-int rte_pmd_bnxt_set_vf_mac_anti_spoof(uint8_t port, uint16_t vf, uint8_t on)\n+int rte_pmd_bnxt_set_vf_mac_anti_spoof(uint16_t port, uint16_t vf, uint8_t on)\n {\n \tstruct rte_eth_dev_info dev_info;\n \tstruct rte_eth_dev *dev;\n@@ -294,7 +294,7 @@ int rte_pmd_bnxt_set_vf_mac_anti_spoof(uint8_t port, uint16_t vf, uint8_t on)\n \treturn rc;\n }\n \n-int rte_pmd_bnxt_set_vf_vlan_anti_spoof(uint8_t port, uint16_t vf, uint8_t on)\n+int rte_pmd_bnxt_set_vf_vlan_anti_spoof(uint16_t port, uint16_t vf, uint8_t on)\n {\n \tstruct rte_eth_dev_info dev_info;\n \tstruct rte_eth_dev *dev;\n@@ -350,7 +350,7 @@ rte_pmd_bnxt_set_vf_vlan_stripq_cb(struct bnxt_vnic_info *vnic, void *onptr)\n }\n \n int\n-rte_pmd_bnxt_set_vf_vlan_stripq(uint8_t port, uint16_t vf, uint8_t on)\n+rte_pmd_bnxt_set_vf_vlan_stripq(uint16_t port, uint16_t vf, uint8_t on)\n {\n \tstruct rte_eth_dev *dev;\n \tstruct rte_eth_dev_info dev_info;\n@@ -385,7 +385,7 @@ rte_pmd_bnxt_set_vf_vlan_stripq(uint8_t port, uint16_t vf, uint8_t on)\n \treturn rc;\n }\n \n-int rte_pmd_bnxt_set_vf_rxmode(uint8_t port, uint16_t vf,\n+int rte_pmd_bnxt_set_vf_rxmode(uint16_t port, uint16_t vf,\n \t\t\t\tuint16_t rx_mask, uint8_t on)\n {\n \tstruct rte_eth_dev *dev;\n@@ -477,7 +477,7 @@ static int bnxt_set_vf_table(struct bnxt *bp, uint16_t vf)\n \treturn rc;\n }\n \n-int rte_pmd_bnxt_set_vf_vlan_filter(uint8_t port, uint16_t vlan,\n+int rte_pmd_bnxt_set_vf_vlan_filter(uint16_t port, uint16_t vlan,\n \t\t\t\t    uint64_t vf_mask, uint8_t vlan_on)\n {\n \tstruct bnxt_vlan_table_entry *ve;\n@@ -570,7 +570,7 @@ int rte_pmd_bnxt_set_vf_vlan_filter(uint8_t port, uint16_t vlan,\n \treturn rc;\n }\n \n-int rte_pmd_bnxt_get_vf_stats(uint8_t port,\n+int rte_pmd_bnxt_get_vf_stats(uint16_t port,\n \t\t\t      uint16_t vf_id,\n \t\t\t      struct rte_eth_stats *stats)\n {\n@@ -598,7 +598,7 @@ int rte_pmd_bnxt_get_vf_stats(uint8_t port,\n \treturn bnxt_hwrm_func_qstats(bp, bp->pf.first_vf_id + vf_id, stats);\n }\n \n-int rte_pmd_bnxt_reset_vf_stats(uint8_t port,\n+int rte_pmd_bnxt_reset_vf_stats(uint16_t port,\n \t\t\t\tuint16_t vf_id)\n {\n \tstruct rte_eth_dev *dev;\n@@ -625,7 +625,7 @@ int rte_pmd_bnxt_reset_vf_stats(uint8_t port,\n \treturn bnxt_hwrm_func_clr_stats(bp, bp->pf.first_vf_id + vf_id);\n }\n \n-int rte_pmd_bnxt_get_vf_rx_status(uint8_t port, uint16_t vf_id)\n+int rte_pmd_bnxt_get_vf_rx_status(uint16_t port, uint16_t vf_id)\n {\n \tstruct rte_eth_dev *dev;\n \tstruct rte_eth_dev_info dev_info;\n@@ -651,7 +651,7 @@ int rte_pmd_bnxt_get_vf_rx_status(uint8_t port, uint16_t vf_id)\n \treturn bnxt_vf_vnic_count(bp, vf_id);\n }\n \n-int rte_pmd_bnxt_get_vf_tx_drop_count(uint8_t port, uint16_t vf_id,\n+int rte_pmd_bnxt_get_vf_tx_drop_count(uint16_t port, uint16_t vf_id,\n \t\t\t\t      uint64_t *count)\n {\n \tstruct rte_eth_dev *dev;\n@@ -679,7 +679,7 @@ int rte_pmd_bnxt_get_vf_tx_drop_count(uint8_t port, uint16_t vf_id,\n \t\t\t\t\t     count);\n }\n \n-int rte_pmd_bnxt_mac_addr_add(uint8_t port, struct ether_addr *addr,\n+int rte_pmd_bnxt_mac_addr_add(uint16_t port, struct ether_addr *addr,\n \t\t\t\tuint32_t vf_id)\n {\n \tstruct rte_eth_dev *dev;\n@@ -756,7 +756,7 @@ int rte_pmd_bnxt_mac_addr_add(uint8_t port, struct ether_addr *addr,\n }\n \n int\n-rte_pmd_bnxt_set_vf_vlan_insert(uint8_t port, uint16_t vf,\n+rte_pmd_bnxt_set_vf_vlan_insert(uint16_t port, uint16_t vf,\n \t\tuint16_t vlan_id)\n {\n \tstruct rte_eth_dev *dev;\n@@ -793,7 +793,7 @@ rte_pmd_bnxt_set_vf_vlan_insert(uint8_t port, uint16_t vf,\n \treturn rc;\n }\n \n-int rte_pmd_bnxt_set_vf_persist_stats(uint8_t port, uint16_t vf, uint8_t on)\n+int rte_pmd_bnxt_set_vf_persist_stats(uint16_t port, uint16_t vf, uint8_t on)\n {\n \tstruct rte_eth_dev_info dev_info;\n \tstruct rte_eth_dev *dev;\ndiff --git a/drivers/net/bnxt/rte_pmd_bnxt.h b/drivers/net/bnxt/rte_pmd_bnxt.h\nindex c4c4770e3..f881d30d6 100644\n--- a/drivers/net/bnxt/rte_pmd_bnxt.h\n+++ b/drivers/net/bnxt/rte_pmd_bnxt.h\n@@ -78,7 +78,7 @@ struct rte_pmd_bnxt_mb_event_param {\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_bnxt_set_vf_mac_anti_spoof(uint8_t port, uint16_t vf, uint8_t on);\n+int rte_pmd_bnxt_set_vf_mac_anti_spoof(uint16_t port, uint16_t vf, uint8_t on);\n \n /**\n  * Set the VF MAC address.\n@@ -94,7 +94,7 @@ int rte_pmd_bnxt_set_vf_mac_anti_spoof(uint8_t port, uint16_t vf, uint8_t on);\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if *vf* or *mac_addr* is invalid.\n  */\n-int rte_pmd_bnxt_set_vf_mac_addr(uint8_t port, uint16_t vf,\n+int rte_pmd_bnxt_set_vf_mac_addr(uint16_t port, uint16_t vf,\n \t\tstruct ether_addr *mac_addr);\n \n /**\n@@ -115,7 +115,7 @@ int rte_pmd_bnxt_set_vf_mac_addr(uint8_t port, uint16_t vf,\n  *   - (-EINVAL) if bad parameter.\n  */\n int\n-rte_pmd_bnxt_set_vf_vlan_stripq(uint8_t port, uint16_t vf, uint8_t on);\n+rte_pmd_bnxt_set_vf_vlan_stripq(uint16_t port, uint16_t vf, uint8_t on);\n \n /**\n  * Enable/Disable vf vlan insert\n@@ -134,7 +134,7 @@ rte_pmd_bnxt_set_vf_vlan_stripq(uint8_t port, uint16_t vf, uint8_t on);\n  *   - (-EINVAL) if bad parameter.\n  */\n int\n-rte_pmd_bnxt_set_vf_vlan_insert(uint8_t port, uint16_t vf,\n+rte_pmd_bnxt_set_vf_vlan_insert(uint16_t port, uint16_t vf,\n \t\tuint16_t vlan_id);\n \n /**\n@@ -156,7 +156,7 @@ rte_pmd_bnxt_set_vf_vlan_insert(uint8_t port, uint16_t vf,\n  *   - (-ENODEV) if *port_id* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_bnxt_set_vf_vlan_filter(uint8_t port, uint16_t vlan,\n+int rte_pmd_bnxt_set_vf_vlan_filter(uint16_t port, uint16_t vlan,\n \t\t\t\t    uint64_t vf_mask, uint8_t vlan_on);\n \n /**\n@@ -173,7 +173,7 @@ int rte_pmd_bnxt_set_vf_vlan_filter(uint8_t port, uint16_t vlan,\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_bnxt_set_tx_loopback(uint8_t port, uint8_t on);\n+int rte_pmd_bnxt_set_tx_loopback(uint16_t port, uint8_t on);\n \n /**\n  * set all queues drop enable bit\n@@ -189,7 +189,7 @@ int rte_pmd_bnxt_set_tx_loopback(uint8_t port, uint8_t on);\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_bnxt_set_all_queues_drop_en(uint8_t port, uint8_t on);\n+int rte_pmd_bnxt_set_all_queues_drop_en(uint16_t port, uint8_t on);\n \n /**\n  * Set the VF rate limit.\n@@ -207,7 +207,7 @@ int rte_pmd_bnxt_set_all_queues_drop_en(uint8_t port, uint8_t on);\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if *vf* or *mac_addr* is invalid.\n  */\n-int rte_pmd_bnxt_set_vf_rate_limit(uint8_t port, uint16_t vf,\n+int rte_pmd_bnxt_set_vf_rate_limit(uint16_t port, uint16_t vf,\n \t\t\t\tuint16_t tx_rate, uint64_t q_msk);\n \n /**\n@@ -226,7 +226,7 @@ int rte_pmd_bnxt_set_vf_rate_limit(uint8_t port, uint16_t vf,\n  *   - (-EINVAL) if bad parameter.\n  */\n \n-int rte_pmd_bnxt_get_vf_stats(uint8_t port,\n+int rte_pmd_bnxt_get_vf_stats(uint16_t port,\n \t\t\t      uint16_t vf_id,\n \t\t\t      struct rte_eth_stats *stats);\n \n@@ -242,7 +242,7 @@ int rte_pmd_bnxt_get_vf_stats(uint8_t port,\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_bnxt_reset_vf_stats(uint8_t port,\n+int rte_pmd_bnxt_reset_vf_stats(uint16_t port,\n \t\t\t\tuint16_t vf_id);\n \n /**\n@@ -261,7 +261,7 @@ int rte_pmd_bnxt_reset_vf_stats(uint8_t port,\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_bnxt_set_vf_vlan_anti_spoof(uint8_t port, uint16_t vf, uint8_t on);\n+int rte_pmd_bnxt_set_vf_vlan_anti_spoof(uint16_t port, uint16_t vf, uint8_t on);\n \n /**\n  * Set RX L2 Filtering mode of a VF of an Ethernet device.\n@@ -280,7 +280,7 @@ int rte_pmd_bnxt_set_vf_vlan_anti_spoof(uint8_t port, uint16_t vf, uint8_t on);\n  *   - (-ENODEV) if *port_id* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_bnxt_set_vf_rxmode(uint8_t port, uint16_t vf,\n+int rte_pmd_bnxt_set_vf_rxmode(uint16_t port, uint16_t vf,\n \t\t\t\tuint16_t rx_mask, uint8_t on);\n \n /**\n@@ -297,7 +297,7 @@ int rte_pmd_bnxt_set_vf_rxmode(uint8_t port, uint16_t vf,\n  *   - (-ENOMEM) on an allocation failure\n  *   - (-1) firmware interface error\n  */\n-int rte_pmd_bnxt_get_vf_rx_status(uint8_t port, uint16_t vf_id);\n+int rte_pmd_bnxt_get_vf_rx_status(uint16_t port, uint16_t vf_id);\n \n /**\n  * Queries the TX drop counter for the function\n@@ -313,7 +313,7 @@ int rte_pmd_bnxt_get_vf_rx_status(uint8_t port, uint16_t vf_id);\n  *   - (-EINVAL) invalid vf_id specified.\n  *   - (-ENOTSUP) Ethernet device is not a PF\n  */\n-int rte_pmd_bnxt_get_vf_tx_drop_count(uint8_t port, uint16_t vf_id,\n+int rte_pmd_bnxt_get_vf_tx_drop_count(uint16_t port, uint16_t vf_id,\n \t\t\t\t      uint64_t *count);\n \n /**\n@@ -331,7 +331,7 @@ int rte_pmd_bnxt_get_vf_tx_drop_count(uint8_t port, uint16_t vf_id,\n  *   - (-ENOTSUP) Ethernet device is not a PF\n  *   - (-ENOMEM) on an allocation failure\n  */\n-int rte_pmd_bnxt_mac_addr_add(uint8_t port, struct ether_addr *mac_addr,\n+int rte_pmd_bnxt_mac_addr_add(uint16_t port, struct ether_addr *mac_addr,\n \t\t\t\tuint32_t vf_id);\n \n /**\n@@ -350,5 +350,5 @@ int rte_pmd_bnxt_mac_addr_add(uint8_t port, struct ether_addr *mac_addr,\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_bnxt_set_vf_persist_stats(uint8_t port, uint16_t vf, uint8_t on);\n+int rte_pmd_bnxt_set_vf_persist_stats(uint16_t port, uint16_t vf, uint8_t on);\n #endif /* _PMD_BNXT_H_ */\ndiff --git a/drivers/net/bonding/Makefile b/drivers/net/bonding/Makefile\nindex 910c932da..ffc0c3cf7 100644\n--- a/drivers/net/bonding/Makefile\n+++ b/drivers/net/bonding/Makefile\n@@ -41,7 +41,7 @@ CFLAGS += $(WERROR_FLAGS)\n \n EXPORT_MAP := rte_eth_bond_version.map\n \n-LIBABIVER := 1\n+LIBABIVER := 2\n \n #\n # all source are stored in SRCS-y\ndiff --git a/drivers/net/bonding/rte_eth_bond.h b/drivers/net/bonding/rte_eth_bond.h\nindex 8efbf0713..87ff29173 100644\n--- a/drivers/net/bonding/rte_eth_bond.h\n+++ b/drivers/net/bonding/rte_eth_bond.h\n@@ -151,7 +151,7 @@ rte_eth_bond_free(const char *name);\n  *\t0 on success, negative value otherwise\n  */\n int\n-rte_eth_bond_slave_add(uint8_t bonded_port_id, uint8_t slave_port_id);\n+rte_eth_bond_slave_add(uint16_t bonded_port_id, uint16_t slave_port_id);\n \n /**\n  * Remove a slave rte_eth_dev device from the bonded device\n@@ -163,7 +163,7 @@ rte_eth_bond_slave_add(uint8_t bonded_port_id, uint8_t slave_port_id);\n  *\t0 on success, negative value otherwise\n  */\n int\n-rte_eth_bond_slave_remove(uint8_t bonded_port_id, uint8_t slave_port_id);\n+rte_eth_bond_slave_remove(uint16_t bonded_port_id, uint16_t slave_port_id);\n \n /**\n  * Set link bonding mode of bonded device\n@@ -175,7 +175,7 @@ rte_eth_bond_slave_remove(uint8_t bonded_port_id, uint8_t slave_port_id);\n  *\t0 on success, negative value otherwise\n  */\n int\n-rte_eth_bond_mode_set(uint8_t bonded_port_id, uint8_t mode);\n+rte_eth_bond_mode_set(uint16_t bonded_port_id, uint8_t mode);\n \n /**\n  * Get link bonding mode of bonded device\n@@ -186,7 +186,7 @@ rte_eth_bond_mode_set(uint8_t bonded_port_id, uint8_t mode);\n  *\tlink bonding mode on success, negative value otherwise\n  */\n int\n-rte_eth_bond_mode_get(uint8_t bonded_port_id);\n+rte_eth_bond_mode_get(uint16_t bonded_port_id);\n \n /**\n  * Set slave rte_eth_dev as primary slave of bonded device\n@@ -198,7 +198,7 @@ rte_eth_bond_mode_get(uint8_t bonded_port_id);\n  *\t0 on success, negative value otherwise\n  */\n int\n-rte_eth_bond_primary_set(uint8_t bonded_port_id, uint8_t slave_port_id);\n+rte_eth_bond_primary_set(uint16_t bonded_port_id, uint16_t slave_port_id);\n \n /**\n  * Get primary slave of bonded device\n@@ -209,7 +209,7 @@ rte_eth_bond_primary_set(uint8_t bonded_port_id, uint8_t slave_port_id);\n  *\tPort Id of primary slave on success, -1 on failure\n  */\n int\n-rte_eth_bond_primary_get(uint8_t bonded_port_id);\n+rte_eth_bond_primary_get(uint16_t bonded_port_id);\n \n /**\n  * Populate an array with list of the slaves port id's of the bonded device\n@@ -223,7 +223,8 @@ rte_eth_bond_primary_get(uint8_t bonded_port_id);\n  *\tnegative value otherwise\n  */\n int\n-rte_eth_bond_slaves_get(uint8_t bonded_port_id, uint8_t slaves[], uint8_t len);\n+rte_eth_bond_slaves_get(uint16_t bonded_port_id, uint16_t slaves[],\n+\t\t\tuint16_t len);\n \n /**\n  * Populate an array with list of the active slaves port id's of the bonded\n@@ -238,8 +239,8 @@ rte_eth_bond_slaves_get(uint8_t bonded_port_id, uint8_t slaves[], uint8_t len);\n  *\tnegative value otherwise\n  */\n int\n-rte_eth_bond_active_slaves_get(uint8_t bonded_port_id, uint8_t slaves[],\n-\t\tuint8_t len);\n+rte_eth_bond_active_slaves_get(uint16_t bonded_port_id, uint16_t slaves[],\n+\t\t\t\tuint16_t len);\n \n /**\n  * Set explicit MAC address to use on bonded device and it's slaves.\n@@ -252,7 +253,7 @@ rte_eth_bond_active_slaves_get(uint8_t bonded_port_id, uint8_t slaves[],\n  *\t0 on success, negative value otherwise\n  */\n int\n-rte_eth_bond_mac_address_set(uint8_t bonded_port_id,\n+rte_eth_bond_mac_address_set(uint16_t bonded_port_id,\n \t\tstruct ether_addr *mac_addr);\n \n /**\n@@ -265,7 +266,7 @@ rte_eth_bond_mac_address_set(uint8_t bonded_port_id,\n  *\t0 on success, negative value otherwise\n  */\n int\n-rte_eth_bond_mac_address_reset(uint8_t bonded_port_id);\n+rte_eth_bond_mac_address_reset(uint16_t bonded_port_id);\n \n /**\n  * Set the transmit policy for bonded device to use when it is operating in\n@@ -279,7 +280,7 @@ rte_eth_bond_mac_address_reset(uint8_t bonded_port_id);\n  *\t0 on success, negative value otherwise.\n  */\n int\n-rte_eth_bond_xmit_policy_set(uint8_t bonded_port_id, uint8_t policy);\n+rte_eth_bond_xmit_policy_set(uint16_t bonded_port_id, uint8_t policy);\n \n /**\n  * Get the transmit policy set on bonded device for balance mode operation\n@@ -290,7 +291,7 @@ rte_eth_bond_xmit_policy_set(uint8_t bonded_port_id, uint8_t policy);\n  *\tBalance transmit policy on success, negative value otherwise.\n  */\n int\n-rte_eth_bond_xmit_policy_get(uint8_t bonded_port_id);\n+rte_eth_bond_xmit_policy_get(uint16_t bonded_port_id);\n \n /**\n  * Set the link monitoring frequency (in ms) for monitoring the link status of\n@@ -304,7 +305,7 @@ rte_eth_bond_xmit_policy_get(uint8_t bonded_port_id);\n  */\n \n int\n-rte_eth_bond_link_monitoring_set(uint8_t bonded_port_id, uint32_t internal_ms);\n+rte_eth_bond_link_monitoring_set(uint16_t bonded_port_id, uint32_t internal_ms);\n \n /**\n  * Get the current link monitoring frequency (in ms) for monitoring of the link\n@@ -316,7 +317,7 @@ rte_eth_bond_link_monitoring_set(uint8_t bonded_port_id, uint32_t internal_ms);\n  *\tMonitoring interval on success, negative value otherwise.\n  */\n int\n-rte_eth_bond_link_monitoring_get(uint8_t bonded_port_id);\n+rte_eth_bond_link_monitoring_get(uint16_t bonded_port_id);\n \n \n /**\n@@ -330,7 +331,8 @@ rte_eth_bond_link_monitoring_get(uint8_t bonded_port_id);\n  *  0 on success, negative value otherwise.\n  */\n int\n-rte_eth_bond_link_down_prop_delay_set(uint8_t bonded_port_id, uint32_t delay_ms);\n+rte_eth_bond_link_down_prop_delay_set(uint16_t bonded_port_id,\n+\t\t\t\t       uint32_t delay_ms);\n \n /**\n  * Get the period in milliseconds set for delaying the disabling of a bonded\n@@ -342,7 +344,7 @@ rte_eth_bond_link_down_prop_delay_set(uint8_t bonded_port_id, uint32_t delay_ms)\n  *  Delay period on success, negative value otherwise.\n  */\n int\n-rte_eth_bond_link_down_prop_delay_get(uint8_t bonded_port_id);\n+rte_eth_bond_link_down_prop_delay_get(uint16_t bonded_port_id);\n \n /**\n  * Set the period in milliseconds for delaying the enabling of a bonded link\n@@ -355,7 +357,8 @@ rte_eth_bond_link_down_prop_delay_get(uint8_t bonded_port_id);\n  *  0 on success, negative value otherwise.\n  */\n int\n-rte_eth_bond_link_up_prop_delay_set(uint8_t bonded_port_id, uint32_t delay_ms);\n+rte_eth_bond_link_up_prop_delay_set(uint16_t bonded_port_id,\n+\t\t\t\t    uint32_t delay_ms);\n \n /**\n  * Get the period in milliseconds set for delaying the enabling of a bonded\n@@ -367,7 +370,7 @@ rte_eth_bond_link_up_prop_delay_set(uint8_t bonded_port_id, uint32_t delay_ms);\n  *  Delay period on success, negative value otherwise.\n  */\n int\n-rte_eth_bond_link_up_prop_delay_get(uint8_t bonded_port_id);\n+rte_eth_bond_link_up_prop_delay_get(uint16_t bonded_port_id);\n \n \n #ifdef __cplusplus\ndiff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c\nindex c2b9e053c..c1873aa13 100644\n--- a/drivers/net/bonding/rte_eth_bond_8023ad.c\n+++ b/drivers/net/bonding/rte_eth_bond_8023ad.c\n@@ -209,7 +209,7 @@ set_warning_flags(struct port *port, uint16_t flags)\n }\n \n static void\n-show_warnings(uint8_t slave_id)\n+show_warnings(uint16_t slave_id)\n {\n \tstruct port *port = &mode_8023ad_ports[slave_id];\n \tuint8_t warnings;\n@@ -278,7 +278,7 @@ record_default(struct port *port)\n  * @param port\t\t\tPort on which LACPDU was received.\n  */\n static void\n-rx_machine(struct bond_dev_private *internals, uint8_t slave_id,\n+rx_machine(struct bond_dev_private *internals, uint16_t slave_id,\n \t\tstruct lacpdu *lacp)\n {\n \tstruct port *agg, *port = &mode_8023ad_ports[slave_id];\n@@ -399,7 +399,7 @@ rx_machine(struct bond_dev_private *internals, uint8_t slave_id,\n  * @param port\t\t\tPort to handle state machine.\n  */\n static void\n-periodic_machine(struct bond_dev_private *internals, uint8_t slave_id)\n+periodic_machine(struct bond_dev_private *internals, uint16_t slave_id)\n {\n \tstruct port *port = &mode_8023ad_ports[slave_id];\n \t/* Calculate if either site is LACP enabled */\n@@ -461,7 +461,7 @@ periodic_machine(struct bond_dev_private *internals, uint8_t slave_id)\n  * @param port\t\t\tPort to handle state machine.\n  */\n static void\n-mux_machine(struct bond_dev_private *internals, uint8_t slave_id)\n+mux_machine(struct bond_dev_private *internals, uint16_t slave_id)\n {\n \tstruct port *port = &mode_8023ad_ports[slave_id];\n \n@@ -564,7 +564,7 @@ mux_machine(struct bond_dev_private *internals, uint8_t slave_id)\n  * @param port\n  */\n static void\n-tx_machine(struct bond_dev_private *internals, uint8_t slave_id)\n+tx_machine(struct bond_dev_private *internals, uint16_t slave_id)\n {\n \tstruct port *agg, *port = &mode_8023ad_ports[slave_id];\n \n@@ -688,11 +688,11 @@ static void\n selection_logic(struct bond_dev_private *internals, uint8_t slave_id)\n {\n \tstruct port *agg, *port;\n-\tuint8_t slaves_count, new_agg_id, i, j = 0;\n-\tuint8_t *slaves;\n+\tuint16_t slaves_count, new_agg_id, i, j = 0;\n+\tuint16_t *slaves;\n \tuint64_t agg_bandwidth[8] = {0};\n \tuint64_t agg_count[8] = {0};\n-\tuint8_t default_slave = 0;\n+\tuint16_t default_slave = 0;\n \tuint8_t mode_count_id, mode_band_id;\n \tstruct rte_eth_link link_info;\n \n@@ -923,7 +923,8 @@ bond_mode_8023ad_periodic_cb(void *arg)\n }\n \n void\n-bond_mode_8023ad_activate_slave(struct rte_eth_dev *bond_dev, uint8_t slave_id)\n+bond_mode_8023ad_activate_slave(struct rte_eth_dev *bond_dev,\n+\t\t\t\tuint16_t slave_id)\n {\n \tstruct bond_dev_private *internals = bond_dev->data->dev_private;\n \n@@ -951,7 +952,7 @@ bond_mode_8023ad_activate_slave(struct rte_eth_dev *bond_dev, uint8_t slave_id)\n \tmemcpy(&port->actor, &initial, sizeof(struct port_params));\n \t/* Standard requires that port ID must be grater than 0.\n \t * Add 1 do get corresponding port_number */\n-\tport->actor.port_number = rte_cpu_to_be_16((uint16_t)slave_id + 1);\n+\tport->actor.port_number = rte_cpu_to_be_16(slave_id + 1);\n \n \tmemcpy(&port->partner, &initial, sizeof(struct port_params));\n \n@@ -1022,12 +1023,12 @@ bond_mode_8023ad_activate_slave(struct rte_eth_dev *bond_dev, uint8_t slave_id)\n \n int\n bond_mode_8023ad_deactivate_slave(struct rte_eth_dev *bond_dev,\n-\t\tuint8_t slave_id)\n+\t\tuint16_t slave_id)\n {\n \tstruct bond_dev_private *internals = bond_dev->data->dev_private;\n \tvoid *pkt = NULL;\n \tstruct port *port;\n-\tuint8_t i;\n+\tuint16_t i;\n \n \t/* Given slave must be in active list */\n \tRTE_ASSERT(find_slave_by_id(internals->active_slaves,\n@@ -1066,7 +1067,7 @@ bond_mode_8023ad_mac_address_update(struct rte_eth_dev *bond_dev)\n \tstruct bond_dev_private *internals = bond_dev->data->dev_private;\n \tstruct ether_addr slave_addr;\n \tstruct port *slave, *agg_slave;\n-\tuint8_t slave_id, i, j;\n+\tuint16_t slave_id, i, j;\n \n \tbond_mode_8023ad_stop(bond_dev);\n \n@@ -1214,7 +1215,7 @@ bond_mode_8023ad_stop(struct rte_eth_dev *bond_dev)\n \n void\n bond_mode_8023ad_handle_slow_pkt(struct bond_dev_private *internals,\n-\tuint8_t slave_id, struct rte_mbuf *pkt)\n+\t\t\t\t  uint16_t slave_id, struct rte_mbuf *pkt)\n {\n \tstruct mode8023ad_private *mode4 = &internals->mode4;\n \tstruct port *port = &mode_8023ad_ports[slave_id];\n@@ -1295,7 +1296,7 @@ bond_mode_8023ad_handle_slow_pkt(struct bond_dev_private *internals,\n }\n \n int\n-rte_eth_bond_8023ad_conf_get(uint8_t port_id,\n+rte_eth_bond_8023ad_conf_get(uint16_t port_id,\n \t\tstruct rte_eth_bond_8023ad_conf *conf)\n {\n \tstruct rte_eth_dev *bond_dev;\n@@ -1312,7 +1313,7 @@ rte_eth_bond_8023ad_conf_get(uint8_t port_id,\n }\n \n int\n-rte_eth_bond_8023ad_agg_selection_set(uint8_t port_id,\n+rte_eth_bond_8023ad_agg_selection_set(uint16_t port_id,\n \t\tenum rte_bond_8023ad_agg_selection agg_selection)\n {\n \tstruct rte_eth_dev *bond_dev;\n@@ -1334,7 +1335,7 @@ rte_eth_bond_8023ad_agg_selection_set(uint8_t port_id,\n \treturn 0;\n }\n \n-int rte_eth_bond_8023ad_agg_selection_get(uint8_t port_id)\n+int rte_eth_bond_8023ad_agg_selection_get(uint16_t port_id)\n {\n \tstruct rte_eth_dev *bond_dev;\n \tstruct bond_dev_private *internals;\n@@ -1355,7 +1356,7 @@ int rte_eth_bond_8023ad_agg_selection_get(uint8_t port_id)\n \n \n static int\n-bond_8023ad_setup_validate(uint8_t port_id,\n+bond_8023ad_setup_validate(uint16_t port_id,\n \t\tstruct rte_eth_bond_8023ad_conf *conf)\n {\n \tif (valid_bonded_port_id(port_id) != 0)\n@@ -1379,8 +1380,9 @@ bond_8023ad_setup_validate(uint8_t port_id,\n \treturn 0;\n }\n \n+\n int\n-rte_eth_bond_8023ad_setup(uint8_t port_id,\n+rte_eth_bond_8023ad_setup(uint16_t port_id,\n \t\tstruct rte_eth_bond_8023ad_conf *conf)\n {\n \tstruct rte_eth_dev *bond_dev;\n@@ -1401,7 +1403,7 @@ rte_eth_bond_8023ad_setup(uint8_t port_id,\n \n \n int\n-rte_eth_bond_8023ad_slave_info(uint8_t port_id, uint8_t slave_id,\n+rte_eth_bond_8023ad_slave_info(uint16_t port_id, uint16_t slave_id,\n \t\tstruct rte_eth_bond_8023ad_slave_info *info)\n {\n \tstruct rte_eth_dev *bond_dev;\n@@ -1434,7 +1436,7 @@ rte_eth_bond_8023ad_slave_info(uint8_t port_id, uint8_t slave_id,\n }\n \n static int\n-bond_8023ad_ext_validate(uint8_t port_id, uint8_t slave_id)\n+bond_8023ad_ext_validate(uint16_t port_id, uint16_t slave_id)\n {\n \tstruct rte_eth_dev *bond_dev;\n \tstruct bond_dev_private *internals;\n@@ -1462,7 +1464,8 @@ bond_8023ad_ext_validate(uint8_t port_id, uint8_t slave_id)\n }\n \n int\n-rte_eth_bond_8023ad_ext_collect(uint8_t port_id, uint8_t slave_id, int enabled)\n+rte_eth_bond_8023ad_ext_collect(uint16_t port_id, uint16_t slave_id,\n+\t\t\t\tint enabled)\n {\n \tstruct port *port;\n \tint res;\n@@ -1482,7 +1485,8 @@ rte_eth_bond_8023ad_ext_collect(uint8_t port_id, uint8_t slave_id, int enabled)\n }\n \n int\n-rte_eth_bond_8023ad_ext_distrib(uint8_t port_id, uint8_t slave_id, int enabled)\n+rte_eth_bond_8023ad_ext_distrib(uint16_t port_id, uint16_t slave_id,\n+\t\t\t\tint enabled)\n {\n \tstruct port *port;\n \tint res;\n@@ -1502,7 +1506,7 @@ rte_eth_bond_8023ad_ext_distrib(uint8_t port_id, uint8_t slave_id, int enabled)\n }\n \n int\n-rte_eth_bond_8023ad_ext_distrib_get(uint8_t port_id, uint8_t slave_id)\n+rte_eth_bond_8023ad_ext_distrib_get(uint16_t port_id, uint16_t slave_id)\n {\n \tstruct port *port;\n \tint err;\n@@ -1516,7 +1520,7 @@ rte_eth_bond_8023ad_ext_distrib_get(uint8_t port_id, uint8_t slave_id)\n }\n \n int\n-rte_eth_bond_8023ad_ext_collect_get(uint8_t port_id, uint8_t slave_id)\n+rte_eth_bond_8023ad_ext_collect_get(uint16_t port_id, uint16_t slave_id)\n {\n \tstruct port *port;\n \tint err;\n@@ -1530,7 +1534,7 @@ rte_eth_bond_8023ad_ext_collect_get(uint8_t port_id, uint8_t slave_id)\n }\n \n int\n-rte_eth_bond_8023ad_ext_slowtx(uint8_t port_id, uint8_t slave_id,\n+rte_eth_bond_8023ad_ext_slowtx(uint16_t port_id, uint16_t slave_id,\n \t\tstruct rte_mbuf *lacp_pkt)\n {\n \tstruct port *port;\n@@ -1591,7 +1595,7 @@ bond_mode_8023ad_ext_periodic_cb(void *arg)\n }\n \n int\n-rte_eth_bond_8023ad_dedicated_queues_enable(uint8_t port)\n+rte_eth_bond_8023ad_dedicated_queues_enable(uint16_t port)\n {\n \tint retval = 0;\n \tstruct rte_eth_dev *dev = &rte_eth_devices[port];\n@@ -1615,7 +1619,7 @@ rte_eth_bond_8023ad_dedicated_queues_enable(uint8_t port)\n }\n \n int\n-rte_eth_bond_8023ad_dedicated_queues_disable(uint8_t port)\n+rte_eth_bond_8023ad_dedicated_queues_disable(uint16_t port)\n {\n \tint retval = 0;\n \tstruct rte_eth_dev *dev = &rte_eth_devices[port];\ndiff --git a/drivers/net/bonding/rte_eth_bond_8023ad.h b/drivers/net/bonding/rte_eth_bond_8023ad.h\nindex d609745e0..2874336d3 100644\n--- a/drivers/net/bonding/rte_eth_bond_8023ad.h\n+++ b/drivers/net/bonding/rte_eth_bond_8023ad.h\n@@ -64,7 +64,7 @@ extern \"C\" {\n #define MARKER_TLV_TYPE_INFO                0x01\n #define MARKER_TLV_TYPE_RESP                0x02\n \n-typedef void (*rte_eth_bond_8023ad_ext_slowrx_fn)(uint8_t slave_id,\n+typedef void (*rte_eth_bond_8023ad_ext_slowrx_fn)(uint16_t slave_id,\n \t\t\t\t\t\t  struct rte_mbuf *lacp_pkt);\n \n enum rte_bond_8023ad_selection {\n@@ -176,7 +176,7 @@ struct rte_eth_bond_8023ad_slave_info {\n \tstruct port_params actor;\n \tuint8_t partner_state;\n \tstruct port_params partner;\n-\tuint8_t agg_port_id;\n+\tuint16_t agg_port_id;\n };\n \n /**\n@@ -192,7 +192,7 @@ struct rte_eth_bond_8023ad_slave_info {\n  *   -EINVAL if conf is NULL\n  */\n int\n-rte_eth_bond_8023ad_conf_get(uint8_t port_id,\n+rte_eth_bond_8023ad_conf_get(uint16_t port_id,\n \t\tstruct rte_eth_bond_8023ad_conf *conf);\n \n /**\n@@ -207,7 +207,7 @@ rte_eth_bond_8023ad_conf_get(uint8_t port_id,\n  *   -EINVAL if configuration is invalid.\n  */\n int\n-rte_eth_bond_8023ad_setup(uint8_t port_id,\n+rte_eth_bond_8023ad_setup(uint16_t port_id,\n \t\tstruct rte_eth_bond_8023ad_conf *conf);\n \n /**\n@@ -223,7 +223,7 @@ rte_eth_bond_8023ad_setup(uint8_t port_id,\n  *       bonded device or is not inactive).\n  */\n int\n-rte_eth_bond_8023ad_slave_info(uint8_t port_id, uint8_t slave_id,\n+rte_eth_bond_8023ad_slave_info(uint16_t port_id, uint16_t slave_id,\n \t\tstruct rte_eth_bond_8023ad_slave_info *conf);\n \n #ifdef __cplusplus\n@@ -241,7 +241,8 @@ rte_eth_bond_8023ad_slave_info(uint8_t port_id, uint8_t slave_id,\n  *   -EINVAL if slave is not valid.\n  */\n int\n-rte_eth_bond_8023ad_ext_collect(uint8_t port_id, uint8_t slave_id, int enabled);\n+rte_eth_bond_8023ad_ext_collect(uint16_t port_id, uint16_t slave_id,\n+\t\t\t\tint enabled);\n \n /**\n  * Get COLLECTING flag from slave port actor state.\n@@ -254,7 +255,7 @@ rte_eth_bond_8023ad_ext_collect(uint8_t port_id, uint8_t slave_id, int enabled);\n  *   -EINVAL if slave is not valid.\n  */\n int\n-rte_eth_bond_8023ad_ext_collect_get(uint8_t port_id, uint8_t slave_id);\n+rte_eth_bond_8023ad_ext_collect_get(uint16_t port_id, uint16_t slave_id);\n \n /**\n  * Configure a slave port to start distributing.\n@@ -267,7 +268,8 @@ rte_eth_bond_8023ad_ext_collect_get(uint8_t port_id, uint8_t slave_id);\n  *   -EINVAL if slave is not valid.\n  */\n int\n-rte_eth_bond_8023ad_ext_distrib(uint8_t port_id, uint8_t slave_id, int enabled);\n+rte_eth_bond_8023ad_ext_distrib(uint16_t port_id, uint16_t slave_id,\n+\t\t\t\tint enabled);\n \n /**\n  * Get DISTRIBUTING flag from slave port actor state.\n@@ -280,7 +282,7 @@ rte_eth_bond_8023ad_ext_distrib(uint8_t port_id, uint8_t slave_id, int enabled);\n  *   -EINVAL if slave is not valid.\n  */\n int\n-rte_eth_bond_8023ad_ext_distrib_get(uint8_t port_id, uint8_t slave_id);\n+rte_eth_bond_8023ad_ext_distrib_get(uint16_t port_id, uint16_t slave_id);\n \n /**\n  * LACPDU transmit path for external 802.3ad state machine.  Caller retains\n@@ -294,7 +296,7 @@ rte_eth_bond_8023ad_ext_distrib_get(uint8_t port_id, uint8_t slave_id);\n  *   0 on success, negative value otherwise.\n  */\n int\n-rte_eth_bond_8023ad_ext_slowtx(uint8_t port_id, uint8_t slave_id,\n+rte_eth_bond_8023ad_ext_slowtx(uint16_t port_id, uint16_t slave_id,\n \t\tstruct rte_mbuf *lacp_pkt);\n \n /**\n@@ -320,7 +322,7 @@ rte_eth_bond_8023ad_ext_slowtx(uint8_t port_id, uint8_t slave_id,\n  *   0 on success, negative value otherwise.\n  */\n int\n-rte_eth_bond_8023ad_dedicated_queues_enable(uint8_t port_id);\n+rte_eth_bond_8023ad_dedicated_queues_enable(uint16_t port_id);\n \n /**\n  * Disable slow queue on slaves\n@@ -337,7 +339,7 @@ rte_eth_bond_8023ad_dedicated_queues_enable(uint8_t port_id);\n  *\n  */\n int\n-rte_eth_bond_8023ad_dedicated_queues_disable(uint8_t port_id);\n+rte_eth_bond_8023ad_dedicated_queues_disable(uint16_t port_id);\n \n /*\n  * Get aggregator mode for 8023ad\n@@ -347,7 +349,7 @@ rte_eth_bond_8023ad_dedicated_queues_disable(uint8_t port_id);\n  *   agregator mode on success, negative value otherwise\n  */\n int\n-rte_eth_bond_8023ad_agg_selection_get(uint8_t port_id);\n+rte_eth_bond_8023ad_agg_selection_get(uint16_t port_id);\n \n /**\n  * Set aggregator mode for 8023ad\n@@ -356,6 +358,6 @@ rte_eth_bond_8023ad_agg_selection_get(uint8_t port_id);\n  *   0 on success, negative value otherwise\n  */\n int\n-rte_eth_bond_8023ad_agg_selection_set(uint8_t port_id,\n+rte_eth_bond_8023ad_agg_selection_set(uint16_t port_id,\n \t\tenum rte_bond_8023ad_agg_selection agg_selection);\n #endif /* RTE_ETH_BOND_8023AD_H_ */\ndiff --git a/drivers/net/bonding/rte_eth_bond_8023ad_private.h b/drivers/net/bonding/rte_eth_bond_8023ad_private.h\nindex d46e44a84..433c7000d 100644\n--- a/drivers/net/bonding/rte_eth_bond_8023ad_private.h\n+++ b/drivers/net/bonding/rte_eth_bond_8023ad_private.h\n@@ -279,7 +279,7 @@ bond_mode_8023ad_stop(struct rte_eth_dev *dev);\n  */\n void\n bond_mode_8023ad_handle_slow_pkt(struct bond_dev_private *internals,\n-\tuint8_t slave_id, struct rte_mbuf *pkt);\n+\t\t\t\t uint16_t slave_id, struct rte_mbuf *pkt);\n \n /**\n  * @internal\n@@ -293,7 +293,7 @@ bond_mode_8023ad_handle_slow_pkt(struct bond_dev_private *internals,\n  *  0 on success, negative value otherwise.\n  */\n void\n-bond_mode_8023ad_activate_slave(struct rte_eth_dev *dev, uint8_t port_id);\n+bond_mode_8023ad_activate_slave(struct rte_eth_dev *dev, uint16_t port_id);\n \n /**\n  * @internal\n@@ -307,7 +307,7 @@ bond_mode_8023ad_activate_slave(struct rte_eth_dev *dev, uint8_t port_id);\n  *  0 on success, negative value otherwise.\n  */\n int\n-bond_mode_8023ad_deactivate_slave(struct rte_eth_dev *dev, uint8_t slave_pos);\n+bond_mode_8023ad_deactivate_slave(struct rte_eth_dev *dev, uint16_t slave_pos);\n \n /**\n  * Updates state when MAC was changed on bonded device or one of its slaves.\n@@ -318,12 +318,12 @@ bond_mode_8023ad_mac_address_update(struct rte_eth_dev *bond_dev);\n \n int\n bond_ethdev_8023ad_flow_verify(struct rte_eth_dev *bond_dev,\n-\t\tuint8_t slave_port);\n+\t\tuint16_t slave_port);\n \n int\n-bond_ethdev_8023ad_flow_set(struct rte_eth_dev *bond_dev, uint8_t slave_port);\n+bond_ethdev_8023ad_flow_set(struct rte_eth_dev *bond_dev, uint16_t slave_port);\n \n int\n-bond_8023ad_slow_pkt_hw_filter_supported(uint8_t port_id);\n+bond_8023ad_slow_pkt_hw_filter_supported(uint16_t port_id);\n \n #endif /* RTE_ETH_BOND_8023AD_H_ */\ndiff --git a/drivers/net/bonding/rte_eth_bond_alb.c b/drivers/net/bonding/rte_eth_bond_alb.c\nindex d9d37495d..f7efbb78e 100644\n--- a/drivers/net/bonding/rte_eth_bond_alb.c\n+++ b/drivers/net/bonding/rte_eth_bond_alb.c\n@@ -148,7 +148,7 @@ void bond_mode_alb_arp_recv(struct ether_hdr *eth_h, uint16_t offset,\n \trte_spinlock_unlock(&internals->mode6.lock);\n }\n \n-uint8_t\n+uint16_t\n bond_mode_alb_arp_xmit(struct ether_hdr *eth_h, uint16_t offset,\n \t\tstruct bond_dev_private *internals)\n {\n@@ -220,13 +220,13 @@ bond_mode_alb_arp_xmit(struct ether_hdr *eth_h, uint16_t offset,\n \treturn internals->current_primary_port;\n }\n \n-uint8_t\n+uint16_t\n bond_mode_alb_arp_upd(struct client_data *client_info,\n \t\tstruct rte_mbuf *pkt, struct bond_dev_private *internals)\n {\n \tstruct ether_hdr *eth_h;\n \tstruct arp_hdr *arp_h;\n-\tuint8_t slave_idx;\n+\tuint16_t slave_idx;\n \n \trte_spinlock_lock(&internals->mode6.lock);\n \teth_h = rte_pktmbuf_mtod(pkt, struct ether_hdr *);\ndiff --git a/drivers/net/bonding/rte_eth_bond_alb.h b/drivers/net/bonding/rte_eth_bond_alb.h\nindex fd7c3aeb4..9f17f7c85 100644\n--- a/drivers/net/bonding/rte_eth_bond_alb.h\n+++ b/drivers/net/bonding/rte_eth_bond_alb.h\n@@ -51,7 +51,7 @@ struct client_data {\n \tuint32_t cli_ip;\n \t/**< Client IP address */\n \n-\tuint8_t slave_idx;\n+\tuint16_t slave_idx;\n \t/**< Index of slave on which we connect with that client */\n \tuint8_t in_use;\n \t/**< Flag indicating if entry in client table is currently used */\n@@ -113,7 +113,7 @@ bond_mode_alb_arp_recv(struct ether_hdr *eth_h, uint16_t offset,\n  * @return\n  * Index of slave on which packet should be sent.\n  */\n-uint8_t\n+uint16_t\n bond_mode_alb_arp_xmit(struct ether_hdr *eth_h, uint16_t offset,\n \t\tstruct bond_dev_private *internals);\n \n@@ -127,7 +127,7 @@ bond_mode_alb_arp_xmit(struct ether_hdr *eth_h, uint16_t offset,\n  * @return\n  * Index of slawe on which packet should be sent.\n  */\n-uint8_t\n+uint16_t\n bond_mode_alb_arp_upd(struct client_data *client_info,\n \t\tstruct rte_mbuf *pkt, struct bond_dev_private *internals);\n \ndiff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c\nindex de1d9e0db..529aae34e 100644\n--- a/drivers/net/bonding/rte_eth_bond_api.c\n+++ b/drivers/net/bonding/rte_eth_bond_api.c\n@@ -56,14 +56,14 @@ check_for_bonded_ethdev(const struct rte_eth_dev *eth_dev)\n }\n \n int\n-valid_bonded_port_id(uint8_t port_id)\n+valid_bonded_port_id(uint16_t port_id)\n {\n \tRTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -1);\n \treturn check_for_bonded_ethdev(&rte_eth_devices[port_id]);\n }\n \n int\n-valid_slave_port_id(uint8_t port_id, uint8_t mode)\n+valid_slave_port_id(uint16_t port_id, uint8_t mode)\n {\n \tRTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -1);\n \n@@ -80,7 +80,7 @@ valid_slave_port_id(uint8_t port_id, uint8_t mode)\n }\n \n void\n-activate_slave(struct rte_eth_dev *eth_dev, uint8_t port_id)\n+activate_slave(struct rte_eth_dev *eth_dev, uint16_t port_id)\n {\n \tstruct bond_dev_private *internals = eth_dev->data->dev_private;\n \tuint8_t active_count = internals->active_slave_count;\n@@ -107,11 +107,11 @@ activate_slave(struct rte_eth_dev *eth_dev, uint8_t port_id)\n }\n \n void\n-deactivate_slave(struct rte_eth_dev *eth_dev, uint8_t port_id)\n+deactivate_slave(struct rte_eth_dev *eth_dev, uint16_t port_id)\n {\n-\tuint8_t slave_pos;\n+\tuint16_t slave_pos;\n \tstruct bond_dev_private *internals = eth_dev->data->dev_private;\n-\tuint8_t active_count = internals->active_slave_count;\n+\tuint16_t active_count = internals->active_slave_count;\n \n \tif (internals->mode == BONDING_MODE_8023AD) {\n \t\tbond_mode_8023ad_stop(eth_dev);\n@@ -153,7 +153,7 @@ rte_eth_bond_create(const char *name, uint8_t mode, uint8_t socket_id)\n {\n \tstruct bond_dev_private *internals;\n \tchar devargs[52];\n-\tuint8_t port_id;\n+\tuint16_t port_id;\n \tint ret;\n \n \tif (name == NULL) {\n@@ -193,7 +193,7 @@ rte_eth_bond_free(const char *name)\n }\n \n static int\n-slave_vlan_filter_set(uint8_t bonded_port_id, uint8_t slave_port_id)\n+slave_vlan_filter_set(uint16_t bonded_port_id, uint16_t slave_port_id)\n {\n \tstruct rte_eth_dev *bonded_eth_dev;\n \tstruct bond_dev_private *internals;\n@@ -233,7 +233,7 @@ slave_vlan_filter_set(uint8_t bonded_port_id, uint8_t slave_port_id)\n }\n \n static int\n-__eth_bond_slave_add_lock_free(uint8_t bonded_port_id, uint8_t slave_port_id)\n+__eth_bond_slave_add_lock_free(uint16_t bonded_port_id, uint16_t slave_port_id)\n {\n \tstruct rte_eth_dev *bonded_eth_dev, *slave_eth_dev;\n \tstruct bond_dev_private *internals;\n@@ -363,7 +363,7 @@ __eth_bond_slave_add_lock_free(uint8_t bonded_port_id, uint8_t slave_port_id)\n }\n \n int\n-rte_eth_bond_slave_add(uint8_t bonded_port_id, uint8_t slave_port_id)\n+rte_eth_bond_slave_add(uint16_t bonded_port_id, uint16_t slave_port_id)\n {\n \tstruct rte_eth_dev *bonded_eth_dev;\n \tstruct bond_dev_private *internals;\n@@ -387,7 +387,8 @@ rte_eth_bond_slave_add(uint8_t bonded_port_id, uint8_t slave_port_id)\n }\n \n static int\n-__eth_bond_slave_remove_lock_free(uint8_t bonded_port_id, uint8_t slave_port_id)\n+__eth_bond_slave_remove_lock_free(uint16_t bonded_port_id,\n+\t\t\t\t   uint16_t slave_port_id)\n {\n \tstruct rte_eth_dev *bonded_eth_dev;\n \tstruct bond_dev_private *internals;\n@@ -466,7 +467,7 @@ __eth_bond_slave_remove_lock_free(uint8_t bonded_port_id, uint8_t slave_port_id)\n }\n \n int\n-rte_eth_bond_slave_remove(uint8_t bonded_port_id, uint8_t slave_port_id)\n+rte_eth_bond_slave_remove(uint16_t bonded_port_id, uint16_t slave_port_id)\n {\n \tstruct rte_eth_dev *bonded_eth_dev;\n \tstruct bond_dev_private *internals;\n@@ -488,7 +489,7 @@ rte_eth_bond_slave_remove(uint8_t bonded_port_id, uint8_t slave_port_id)\n }\n \n int\n-rte_eth_bond_mode_set(uint8_t bonded_port_id, uint8_t mode)\n+rte_eth_bond_mode_set(uint16_t bonded_port_id, uint8_t mode)\n {\n \tif (valid_bonded_port_id(bonded_port_id) != 0)\n \t\treturn -1;\n@@ -497,7 +498,7 @@ rte_eth_bond_mode_set(uint8_t bonded_port_id, uint8_t mode)\n }\n \n int\n-rte_eth_bond_mode_get(uint8_t bonded_port_id)\n+rte_eth_bond_mode_get(uint16_t bonded_port_id)\n {\n \tstruct bond_dev_private *internals;\n \n@@ -510,7 +511,7 @@ rte_eth_bond_mode_get(uint8_t bonded_port_id)\n }\n \n int\n-rte_eth_bond_primary_set(uint8_t bonded_port_id, uint8_t slave_port_id)\n+rte_eth_bond_primary_set(uint16_t bonded_port_id, uint16_t slave_port_id)\n {\n \tstruct bond_dev_private *internals;\n \n@@ -531,7 +532,7 @@ rte_eth_bond_primary_set(uint8_t bonded_port_id, uint8_t slave_port_id)\n }\n \n int\n-rte_eth_bond_primary_get(uint8_t bonded_port_id)\n+rte_eth_bond_primary_get(uint16_t bonded_port_id)\n {\n \tstruct bond_dev_private *internals;\n \n@@ -547,7 +548,8 @@ rte_eth_bond_primary_get(uint8_t bonded_port_id)\n }\n \n int\n-rte_eth_bond_slaves_get(uint8_t bonded_port_id, uint8_t slaves[], uint8_t len)\n+rte_eth_bond_slaves_get(uint16_t bonded_port_id, uint16_t slaves[],\n+\t\t\tuint16_t len)\n {\n \tstruct bond_dev_private *internals;\n \tuint8_t i;\n@@ -570,8 +572,8 @@ rte_eth_bond_slaves_get(uint8_t bonded_port_id, uint8_t slaves[], uint8_t len)\n }\n \n int\n-rte_eth_bond_active_slaves_get(uint8_t bonded_port_id, uint8_t slaves[],\n-\t\tuint8_t len)\n+rte_eth_bond_active_slaves_get(uint16_t bonded_port_id, uint16_t slaves[],\n+\t\tuint16_t len)\n {\n \tstruct bond_dev_private *internals;\n \n@@ -586,13 +588,14 @@ rte_eth_bond_active_slaves_get(uint8_t bonded_port_id, uint8_t slaves[],\n \tif (internals->active_slave_count > len)\n \t\treturn -1;\n \n-\tmemcpy(slaves, internals->active_slaves, internals->active_slave_count);\n+\tmemcpy(slaves, internals->active_slaves,\n+\tinternals->active_slave_count * sizeof(internals->active_slaves[0]));\n \n \treturn internals->active_slave_count;\n }\n \n int\n-rte_eth_bond_mac_address_set(uint8_t bonded_port_id,\n+rte_eth_bond_mac_address_set(uint16_t bonded_port_id,\n \t\tstruct ether_addr *mac_addr)\n {\n \tstruct rte_eth_dev *bonded_eth_dev;\n@@ -618,7 +621,7 @@ rte_eth_bond_mac_address_set(uint8_t bonded_port_id,\n }\n \n int\n-rte_eth_bond_mac_address_reset(uint8_t bonded_port_id)\n+rte_eth_bond_mac_address_reset(uint16_t bonded_port_id)\n {\n \tstruct rte_eth_dev *bonded_eth_dev;\n \tstruct bond_dev_private *internals;\n@@ -647,7 +650,7 @@ rte_eth_bond_mac_address_reset(uint8_t bonded_port_id)\n }\n \n int\n-rte_eth_bond_xmit_policy_set(uint8_t bonded_port_id, uint8_t policy)\n+rte_eth_bond_xmit_policy_set(uint16_t bonded_port_id, uint8_t policy)\n {\n \tstruct bond_dev_private *internals;\n \n@@ -677,7 +680,7 @@ rte_eth_bond_xmit_policy_set(uint8_t bonded_port_id, uint8_t policy)\n }\n \n int\n-rte_eth_bond_xmit_policy_get(uint8_t bonded_port_id)\n+rte_eth_bond_xmit_policy_get(uint16_t bonded_port_id)\n {\n \tstruct bond_dev_private *internals;\n \n@@ -690,7 +693,7 @@ rte_eth_bond_xmit_policy_get(uint8_t bonded_port_id)\n }\n \n int\n-rte_eth_bond_link_monitoring_set(uint8_t bonded_port_id, uint32_t internal_ms)\n+rte_eth_bond_link_monitoring_set(uint16_t bonded_port_id, uint32_t internal_ms)\n {\n \tstruct bond_dev_private *internals;\n \n@@ -704,7 +707,7 @@ rte_eth_bond_link_monitoring_set(uint8_t bonded_port_id, uint32_t internal_ms)\n }\n \n int\n-rte_eth_bond_link_monitoring_get(uint8_t bonded_port_id)\n+rte_eth_bond_link_monitoring_get(uint16_t bonded_port_id)\n {\n \tstruct bond_dev_private *internals;\n \n@@ -717,7 +720,8 @@ rte_eth_bond_link_monitoring_get(uint8_t bonded_port_id)\n }\n \n int\n-rte_eth_bond_link_down_prop_delay_set(uint8_t bonded_port_id, uint32_t delay_ms)\n+rte_eth_bond_link_down_prop_delay_set(uint16_t bonded_port_id,\n+\t\t\t\t       uint32_t delay_ms)\n \n {\n \tstruct bond_dev_private *internals;\n@@ -732,7 +736,7 @@ rte_eth_bond_link_down_prop_delay_set(uint8_t bonded_port_id, uint32_t delay_ms)\n }\n \n int\n-rte_eth_bond_link_down_prop_delay_get(uint8_t bonded_port_id)\n+rte_eth_bond_link_down_prop_delay_get(uint16_t bonded_port_id)\n {\n \tstruct bond_dev_private *internals;\n \n@@ -745,7 +749,7 @@ rte_eth_bond_link_down_prop_delay_get(uint8_t bonded_port_id)\n }\n \n int\n-rte_eth_bond_link_up_prop_delay_set(uint8_t bonded_port_id, uint32_t delay_ms)\n+rte_eth_bond_link_up_prop_delay_set(uint16_t bonded_port_id, uint32_t delay_ms)\n \n {\n \tstruct bond_dev_private *internals;\n@@ -760,7 +764,7 @@ rte_eth_bond_link_up_prop_delay_set(uint8_t bonded_port_id, uint32_t delay_ms)\n }\n \n int\n-rte_eth_bond_link_up_prop_delay_get(uint8_t bonded_port_id)\n+rte_eth_bond_link_up_prop_delay_get(uint16_t bonded_port_id)\n {\n \tstruct bond_dev_private *internals;\n \ndiff --git a/drivers/net/bonding/rte_eth_bond_args.c b/drivers/net/bonding/rte_eth_bond_args.c\nindex bb634c62e..04d1f4e8f 100644\n--- a/drivers/net/bonding/rte_eth_bond_args.c\n+++ b/drivers/net/bonding/rte_eth_bond_args.c\n@@ -153,7 +153,7 @@ bond_ethdev_parse_slave_port_kvarg(const char *key,\n \t\t\treturn -1;\n \t\t} else\n \t\t\tslave_ports->slaves[slave_ports->slave_count++] =\n-\t\t\t\t\t(uint8_t)port_id;\n+\t\t\t\t\tport_id;\n \t}\n \treturn 0;\n }\ndiff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c\nindex 3ee70baa0..2d680e3fb 100644\n--- a/drivers/net/bonding/rte_eth_bond_pmd.c\n+++ b/drivers/net/bonding/rte_eth_bond_pmd.c\n@@ -174,7 +174,7 @@ const struct rte_flow_attr flow_attr_8023ad = {\n \n int\n bond_ethdev_8023ad_flow_verify(struct rte_eth_dev *bond_dev,\n-\t\tuint8_t slave_port) {\n+\t\tuint16_t slave_port) {\n \tstruct rte_flow_error error;\n \tstruct bond_dev_private *internals = (struct bond_dev_private *)\n \t\t\t(bond_dev->data->dev_private);\n@@ -202,12 +202,12 @@ bond_ethdev_8023ad_flow_verify(struct rte_eth_dev *bond_dev,\n }\n \n int\n-bond_8023ad_slow_pkt_hw_filter_supported(uint8_t port_id) {\n+bond_8023ad_slow_pkt_hw_filter_supported(uint16_t port_id) {\n \tstruct rte_eth_dev *bond_dev = &rte_eth_devices[port_id];\n \tstruct bond_dev_private *internals = (struct bond_dev_private *)\n \t\t\t(bond_dev->data->dev_private);\n \tstruct rte_eth_dev_info bond_info, slave_info;\n-\tuint8_t idx;\n+\tuint16_t idx;\n \n \t/* Verify if all slaves in bonding supports flow director and */\n \tif (internals->slave_count > 0) {\n@@ -230,7 +230,7 @@ bond_8023ad_slow_pkt_hw_filter_supported(uint8_t port_id) {\n }\n \n int\n-bond_ethdev_8023ad_flow_set(struct rte_eth_dev *bond_dev, uint8_t slave_port) {\n+bond_ethdev_8023ad_flow_set(struct rte_eth_dev *bond_dev, uint16_t slave_port) {\n \n \tstruct rte_flow_error error;\n \tstruct bond_dev_private *internals = (struct bond_dev_private *)\n@@ -270,10 +270,10 @@ bond_ethdev_rx_burst_8023ad_fast_queue(void *queue, struct rte_mbuf **bufs,\n \tstruct bond_rx_queue *bd_rx_q = (struct bond_rx_queue *)queue;\n \tstruct bond_dev_private *internals = bd_rx_q->dev_private;\n \tuint16_t num_rx_total = 0;\t/* Total number of received packets */\n-\tuint8_t slaves[RTE_MAX_ETHPORTS];\n-\tuint8_t slave_count;\n+\tuint16_t slaves[RTE_MAX_ETHPORTS];\n+\tuint16_t slave_count;\n \n-\tuint8_t i, idx;\n+\tuint16_t i, idx;\n \n \t/* Copy slave list to protect against slave up/down changes during tx\n \t * bursting */\n@@ -302,8 +302,8 @@ bond_ethdev_tx_burst_8023ad_fast_queue(void *queue, struct rte_mbuf **bufs,\n \tstruct bond_dev_private *internals;\n \tstruct bond_tx_queue *bd_tx_q;\n \n-\tuint8_t num_of_slaves;\n-\tuint8_t slaves[RTE_MAX_ETHPORTS];\n+\tuint16_t num_of_slaves;\n+\tuint16_t slaves[RTE_MAX_ETHPORTS];\n \t /* positions in slaves, not ID */\n \tuint8_t distributing_offsets[RTE_MAX_ETHPORTS];\n \tuint8_t distributing_count;\n@@ -394,8 +394,8 @@ bond_ethdev_rx_burst_8023ad(void *queue, struct rte_mbuf **bufs,\n \n \tconst uint16_t ether_type_slow_be = rte_be_to_cpu_16(ETHER_TYPE_SLOW);\n \tuint16_t num_rx_total = 0;\t/* Total number of received packets */\n-\tuint8_t slaves[RTE_MAX_ETHPORTS];\n-\tuint8_t slave_count, idx;\n+\tuint16_t slaves[RTE_MAX_ETHPORTS];\n+\tuint16_t slave_count, idx;\n \n \tuint8_t collecting;  /* current slave collecting status */\n \tconst uint8_t promisc = internals->promiscuous_en;\n@@ -673,8 +673,8 @@ bond_ethdev_tx_burst_round_robin(void *queue, struct rte_mbuf **bufs,\n \tstruct rte_mbuf *slave_bufs[RTE_MAX_ETHPORTS][nb_pkts];\n \tuint16_t slave_nb_pkts[RTE_MAX_ETHPORTS] = { 0 };\n \n-\tuint8_t num_of_slaves;\n-\tuint8_t slaves[RTE_MAX_ETHPORTS];\n+\tuint16_t num_of_slaves;\n+\tuint16_t slaves[RTE_MAX_ETHPORTS];\n \n \tuint16_t num_tx_total = 0, num_tx_slave;\n \n@@ -904,7 +904,7 @@ bandwidth_cmp(const void *a, const void *b)\n }\n \n static void\n-bandwidth_left(uint8_t port_id, uint64_t load, uint8_t update_idx,\n+bandwidth_left(uint16_t port_id, uint64_t load, uint8_t update_idx,\n \t\tstruct bwg_slave *bwg_slave)\n {\n \tstruct rte_eth_link link_status;\n@@ -970,10 +970,10 @@ bond_ethdev_tx_burst_tlb(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)\n \tstruct rte_eth_dev *primary_port =\n \t\t\t&rte_eth_devices[internals->primary_port];\n \tuint16_t num_tx_total = 0;\n-\tuint8_t i, j;\n+\tuint16_t i, j;\n \n-\tuint8_t num_of_slaves = internals->active_slave_count;\n-\tuint8_t slaves[RTE_MAX_ETHPORTS];\n+\tuint16_t num_of_slaves = internals->active_slave_count;\n+\tuint16_t slaves[RTE_MAX_ETHPORTS];\n \n \tstruct ether_hdr *ether_hdr;\n \tstruct ether_addr primary_slave_addr;\n@@ -1059,7 +1059,7 @@ bond_ethdev_tx_burst_alb(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)\n \n \tuint16_t num_send, num_not_send = 0;\n \tuint16_t num_tx_total = 0;\n-\tuint8_t slave_idx;\n+\tuint16_t slave_idx;\n \n \tint i, j;\n \n@@ -1178,8 +1178,8 @@ bond_ethdev_tx_burst_balance(void *queue, struct rte_mbuf **bufs,\n \tstruct bond_dev_private *internals;\n \tstruct bond_tx_queue *bd_tx_q;\n \n-\tuint8_t num_of_slaves;\n-\tuint8_t slaves[RTE_MAX_ETHPORTS];\n+\tuint16_t num_of_slaves;\n+\tuint16_t slaves[RTE_MAX_ETHPORTS];\n \n \tuint16_t num_tx_total = 0, num_tx_slave = 0, tx_fail_total = 0;\n \n@@ -1239,8 +1239,8 @@ bond_ethdev_tx_burst_8023ad(void *queue, struct rte_mbuf **bufs,\n \tstruct bond_dev_private *internals;\n \tstruct bond_tx_queue *bd_tx_q;\n \n-\tuint8_t num_of_slaves;\n-\tuint8_t slaves[RTE_MAX_ETHPORTS];\n+\tuint16_t num_of_slaves;\n+\tuint16_t slaves[RTE_MAX_ETHPORTS];\n \t /* positions in slaves, not ID */\n \tuint8_t distributing_offsets[RTE_MAX_ETHPORTS];\n \tuint8_t distributing_count;\n@@ -1333,7 +1333,7 @@ bond_ethdev_tx_burst_broadcast(void *queue, struct rte_mbuf **bufs,\n \tstruct bond_tx_queue *bd_tx_q;\n \n \tuint8_t tx_failed_flag = 0, num_of_slaves;\n-\tuint8_t slaves[RTE_MAX_ETHPORTS];\n+\tuint16_t slaves[RTE_MAX_ETHPORTS];\n \n \tuint16_t max_nb_of_tx_pkts = 0;\n \n@@ -1861,7 +1861,7 @@ slave_add(struct bond_dev_private *internals,\n \n void\n bond_ethdev_primary_set(struct bond_dev_private *internals,\n-\t\tuint8_t slave_port_id)\n+\t\tuint16_t slave_port_id)\n {\n \tint i;\n \n@@ -2125,7 +2125,7 @@ static int\n bond_ethdev_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on)\n {\n \tint res;\n-\tuint8_t i;\n+\tuint16_t i;\n \tstruct bond_dev_private *internals = dev->data->dev_private;\n \n \t/* don't do this while a slave is being added */\n@@ -2137,7 +2137,7 @@ bond_ethdev_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on)\n \t\trte_bitmap_clear(internals->vlan_filter_bmp, vlan_id);\n \n \tfor (i = 0; i < internals->slave_count; i++) {\n-\t\tuint8_t port_id = internals->slaves[i].port_id;\n+\t\tuint16_t port_id = internals->slaves[i].port_id;\n \n \t\tres = rte_eth_dev_vlan_filter(port_id, vlan_id, on);\n \t\tif (res == ENOTSUP)\n@@ -2277,7 +2277,7 @@ bond_ethdev_slave_link_status_change_monitor(void *cb_arg)\n static int\n bond_ethdev_link_update(struct rte_eth_dev *ethdev, int wait_to_complete)\n {\n-\tvoid (*link_update)(uint8_t port_id, struct rte_eth_link *eth_link);\n+\tvoid (*link_update)(uint16_t port_id, struct rte_eth_link *eth_link);\n \n \tstruct bond_dev_private *bond_ctx;\n \tstruct rte_eth_link slave_link;\n@@ -2466,7 +2466,7 @@ bond_ethdev_delayed_lsc_propagation(void *arg)\n }\n \n int\n-bond_ethdev_lsc_event_callback(uint8_t port_id, enum rte_eth_event_type type,\n+bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type,\n \t\tvoid *param, void *ret_param __rte_unused)\n {\n \tstruct rte_eth_dev *bonded_eth_dev;\n@@ -2951,7 +2951,7 @@ bond_ethdev_configure(struct rte_eth_dev *dev)\n \tstruct bond_dev_private *internals = dev->data->dev_private;\n \tstruct rte_kvargs *kvlist = internals->kvlist;\n \tint arg_count;\n-\tuint8_t port_id = dev - rte_eth_devices;\n+\tuint16_t port_id = dev - rte_eth_devices;\n \tuint8_t agg_mode;\n \n \tstatic const uint8_t default_rss_key[40] = {\n@@ -3086,7 +3086,7 @@ bond_ethdev_configure(struct rte_eth_dev *dev)\n \t/* Parse/set primary slave port id*/\n \targ_count = rte_kvargs_count(kvlist, PMD_BOND_PRIMARY_SLAVE_KVARG);\n \tif (arg_count == 1) {\n-\t\tuint8_t primary_slave_port_id;\n+\t\tuint16_t primary_slave_port_id;\n \n \t\tif (rte_kvargs_process(kvlist,\n \t\t\t\tPMD_BOND_PRIMARY_SLAVE_KVARG,\n@@ -3099,7 +3099,7 @@ bond_ethdev_configure(struct rte_eth_dev *dev)\n \t\t}\n \n \t\t/* Set balance mode transmit policy*/\n-\t\tif (rte_eth_bond_primary_set(port_id, (uint8_t)primary_slave_port_id)\n+\t\tif (rte_eth_bond_primary_set(port_id, primary_slave_port_id)\n \t\t\t\t!= 0) {\n \t\t\tRTE_LOG(ERR, EAL,\n \t\t\t\t\t\"Failed to set primary slave port %d on bonded device %s\\n\",\ndiff --git a/drivers/net/bonding/rte_eth_bond_private.h b/drivers/net/bonding/rte_eth_bond_private.h\nindex 1fe6ff880..1392da98d 100644\n--- a/drivers/net/bonding/rte_eth_bond_private.h\n+++ b/drivers/net/bonding/rte_eth_bond_private.h\n@@ -93,12 +93,12 @@ struct bond_tx_queue {\n \n /** Bonded slave devices structure */\n struct bond_ethdev_slave_ports {\n-\tuint8_t slaves[RTE_MAX_ETHPORTS];\t/**< Slave port id array */\n-\tuint8_t slave_count;\t\t\t\t/**< Number of slaves */\n+\tuint16_t slaves[RTE_MAX_ETHPORTS];\t/**< Slave port id array */\n+\tuint16_t slave_count;\t\t\t\t/**< Number of slaves */\n };\n \n struct bond_slave_details {\n-\tuint8_t port_id;\n+\tuint16_t port_id;\n \n \tuint8_t link_status_poll_enabled;\n \tuint8_t link_status_wait_to_complete;\n@@ -114,14 +114,14 @@ typedef uint16_t (*xmit_hash_t)(const struct rte_mbuf *buf, uint8_t slave_count)\n \n /** Link Bonding PMD device private configuration Structure */\n struct bond_dev_private {\n-\tuint8_t port_id;\t\t\t\t\t/**< Port Id of Bonded Port */\n+\tuint16_t port_id;\t\t\t/**< Port Id of Bonded Port */\n \tuint8_t mode;\t\t\t\t\t\t/**< Link Bonding Mode */\n \n \trte_spinlock_t lock;\n \n-\tuint8_t primary_port;\t\t\t\t/**< Primary Slave Port */\n-\tuint8_t current_primary_port;\t\t/**< Primary Slave Port */\n-\tuint8_t user_defined_primary_port;\n+\tuint16_t primary_port;\t\t\t/**< Primary Slave Port */\n+\tuint16_t current_primary_port;\t\t/**< Primary Slave Port */\n+\tuint16_t user_defined_primary_port;\n \t/**< Flag for whether primary port is user defined or not */\n \n \tuint8_t balance_xmit_policy;\n@@ -144,16 +144,17 @@ struct bond_dev_private {\n \tuint16_t nb_rx_queues;\t\t\t/**< Total number of rx queues */\n \tuint16_t nb_tx_queues;\t\t\t/**< Total number of tx queues*/\n \n-\tuint8_t active_slave;\t\t/**< Next active_slave to poll */\n-\tuint8_t active_slave_count;\t\t/**< Number of active slaves */\n-\tuint8_t active_slaves[RTE_MAX_ETHPORTS];\t/**< Active slave list */\n+\tuint16_t active_slave;\t\t/**< Next active_slave to poll */\n+\tuint16_t active_slave_count;\t\t/**< Number of active slaves */\n+\tuint16_t active_slaves[RTE_MAX_ETHPORTS];    /**< Active slave list */\n \n-\tuint8_t slave_count;\t\t\t/**< Number of bonded slaves */\n+\tuint16_t slave_count;\t\t\t/**< Number of bonded slaves */\n \tstruct bond_slave_details slaves[RTE_MAX_ETHPORTS];\n \t/**< Arary of bonded slaves details */\n \n \tstruct mode8023ad_private mode4;\n-\tuint8_t tlb_slaves_order[RTE_MAX_ETHPORTS]; /* TLB active slaves send order */\n+\tuint16_t tlb_slaves_order[RTE_MAX_ETHPORTS];\n+\t/**< TLB active slaves send order */\n \tstruct mode_alb_private mode6;\n \n \tuint32_t rx_offload_capa;            /** Rx offload capability */\n@@ -186,10 +187,10 @@ check_for_bonded_ethdev(const struct rte_eth_dev *eth_dev);\n \n /* Search given slave array to find position of given id.\n  * Return slave pos or slaves_count if not found. */\n-static inline uint8_t\n-find_slave_by_id(uint8_t *slaves, uint8_t slaves_count, uint8_t slave_id) {\n+static inline uint16_t\n+find_slave_by_id(uint16_t *slaves, uint16_t slaves_count, uint16_t slave_id) {\n \n-\tuint8_t pos;\n+\tuint16_t pos;\n \tfor (pos = 0; pos < slaves_count; pos++) {\n \t\tif (slave_id == slaves[pos])\n \t\t\tbreak;\n@@ -199,19 +200,19 @@ find_slave_by_id(uint8_t *slaves, uint8_t slaves_count, uint8_t slave_id) {\n }\n \n int\n-valid_port_id(uint8_t port_id);\n+valid_port_id(uint16_t port_id);\n \n int\n-valid_bonded_port_id(uint8_t port_id);\n+valid_bonded_port_id(uint16_t port_id);\n \n int\n-valid_slave_port_id(uint8_t port_id, uint8_t mode);\n+valid_slave_port_id(uint16_t port_id, uint8_t mode);\n \n void\n-deactivate_slave(struct rte_eth_dev *eth_dev, uint8_t port_id);\n+deactivate_slave(struct rte_eth_dev *eth_dev, uint16_t port_id);\n \n void\n-activate_slave(struct rte_eth_dev *eth_dev, uint8_t port_id);\n+activate_slave(struct rte_eth_dev *eth_dev, uint16_t port_id);\n \n void\n link_properties_set(struct rte_eth_dev *bonded_eth_dev,\n@@ -255,10 +256,10 @@ xmit_l34_hash(const struct rte_mbuf *buf, uint8_t slave_count);\n \n void\n bond_ethdev_primary_set(struct bond_dev_private *internals,\n-\t\tuint8_t slave_port_id);\n+\t\tuint16_t slave_port_id);\n \n int\n-bond_ethdev_lsc_event_callback(uint8_t port_id, enum rte_eth_event_type type,\n+bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type,\n \t\tvoid *param, void *ret_param);\n \n int\ndiff --git a/drivers/net/e1000/Makefile b/drivers/net/e1000/Makefile\nindex ffdf36d37..a94ac7605 100644\n--- a/drivers/net/e1000/Makefile\n+++ b/drivers/net/e1000/Makefile\n@@ -41,7 +41,7 @@ CFLAGS += $(WERROR_FLAGS)\n \n EXPORT_MAP := rte_pmd_e1000_version.map\n \n-LIBABIVER := 1\n+LIBABIVER := 2\n \n ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)\n #\ndiff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c\nindex 3d4ab9368..a59947d78 100644\n--- a/drivers/net/e1000/em_ethdev.c\n+++ b/drivers/net/e1000/em_ethdev.c\n@@ -1624,7 +1624,7 @@ eth_em_interrupt_action(struct rte_eth_dev *dev,\n \trte_em_dev_atomic_read_link_status(dev, &link);\n \tif (link.link_status) {\n \t\tPMD_INIT_LOG(INFO, \" Port %d: Link Up - speed %u Mbps - %s\",\n-\t\t\t     dev->data->port_id, (unsigned)link.link_speed,\n+\t\t\t     dev->data->port_id, link.link_speed,\n \t\t\t     link.link_duplex == ETH_LINK_FULL_DUPLEX ?\n \t\t\t     \"full-duplex\" : \"half-duplex\");\n \t} else {\ndiff --git a/drivers/net/e1000/em_rxtx.c b/drivers/net/e1000/em_rxtx.c\nindex 31819c5bd..06ba68e39 100644\n--- a/drivers/net/e1000/em_rxtx.c\n+++ b/drivers/net/e1000/em_rxtx.c\n@@ -119,7 +119,7 @@ struct em_rx_queue {\n \tuint16_t            nb_rx_hold; /**< number of held free RX desc. */\n \tuint16_t            rx_free_thresh; /**< max free RX desc to hold. */\n \tuint16_t            queue_id;   /**< RX queue index. */\n-\tuint8_t             port_id;    /**< Device port identifier. */\n+\tuint16_t            port_id;    /**< Device port identifier. */\n \tuint8_t             pthresh;    /**< Prefetch threshold register. */\n \tuint8_t             hthresh;    /**< Host threshold register. */\n \tuint8_t             wthresh;    /**< Write-back threshold register. */\n@@ -186,7 +186,7 @@ struct em_tx_queue {\n \t/** Total number of TX descriptors ready to be allocated. */\n \tuint16_t               nb_tx_free;\n \tuint16_t               queue_id; /**< TX queue index. */\n-\tuint8_t                port_id;  /**< Device port identifier. */\n+\tuint16_t               port_id;  /**< Device port identifier. */\n \tuint8_t                pthresh;  /**< Prefetch threshold register. */\n \tuint8_t                hthresh;  /**< Host threshold register. */\n \tuint8_t                wthresh;  /**< Write-back threshold register. */\ndiff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c\nindex 1c80a2a1b..a800d9c2b 100644\n--- a/drivers/net/e1000/igb_rxtx.c\n+++ b/drivers/net/e1000/igb_rxtx.c\n@@ -122,7 +122,7 @@ struct igb_rx_queue {\n \tuint16_t            rx_free_thresh; /**< max free RX desc to hold. */\n \tuint16_t            queue_id;   /**< RX queue index. */\n \tuint16_t            reg_idx;    /**< RX queue register index. */\n-\tuint8_t             port_id;    /**< Device port identifier. */\n+\tuint16_t            port_id;    /**< Device port identifier. */\n \tuint8_t             pthresh;    /**< Prefetch threshold register. */\n \tuint8_t             hthresh;    /**< Host threshold register. */\n \tuint8_t             wthresh;    /**< Write-back threshold register. */\n@@ -191,7 +191,7 @@ struct igb_tx_queue {\n \t/**< Index of first used TX descriptor. */\n \tuint16_t               queue_id; /**< TX queue index. */\n \tuint16_t               reg_idx;  /**< TX queue register index. */\n-\tuint8_t                port_id;  /**< Device port identifier. */\n+\tuint16_t               port_id;  /**< Device port identifier. */\n \tuint8_t                pthresh;  /**< Prefetch threshold register. */\n \tuint8_t                hthresh;  /**< Host threshold register. */\n \tuint8_t                wthresh;  /**< Write-back threshold register. */\ndiff --git a/drivers/net/failsafe/Makefile b/drivers/net/failsafe/Makefile\nindex d516d3621..e6bfad728 100644\n--- a/drivers/net/failsafe/Makefile\n+++ b/drivers/net/failsafe/Makefile\n@@ -36,7 +36,7 @@ LIB = librte_pmd_failsafe.a\n \n EXPORT_MAP := rte_pmd_failsafe_version.map\n \n-LIBABIVER := 1\n+LIBABIVER := 2\n \n # Sources are stored in SRCS-y\n SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe.c\ndiff --git a/drivers/net/failsafe/failsafe_ether.c b/drivers/net/failsafe/failsafe_ether.c\nindex a3a8cce95..1c8a9337e 100644\n--- a/drivers/net/failsafe/failsafe_ether.c\n+++ b/drivers/net/failsafe/failsafe_ether.c\n@@ -400,7 +400,7 @@ failsafe_eth_dev_state_sync(struct rte_eth_dev *dev)\n }\n \n int\n-failsafe_eth_rmv_event_callback(uint8_t port_id __rte_unused,\n+failsafe_eth_rmv_event_callback(uint16_t port_id __rte_unused,\n \t\t\t\tenum rte_eth_event_type event __rte_unused,\n \t\t\t\tvoid *cb_arg, void *out __rte_unused)\n {\n@@ -419,7 +419,7 @@ failsafe_eth_rmv_event_callback(uint8_t port_id __rte_unused,\n }\n \n int\n-failsafe_eth_lsc_event_callback(uint8_t port_id __rte_unused,\n+failsafe_eth_lsc_event_callback(uint16_t port_id __rte_unused,\n \t\t\t\tenum rte_eth_event_type event __rte_unused,\n \t\t\t\tvoid *cb_arg, void *out __rte_unused)\n {\ndiff --git a/drivers/net/failsafe/failsafe_private.h b/drivers/net/failsafe/failsafe_private.h\nindex 0361cf434..4ae6e6c5f 100644\n--- a/drivers/net/failsafe/failsafe_private.h\n+++ b/drivers/net/failsafe/failsafe_private.h\n@@ -180,10 +180,10 @@ int failsafe_eal_uninit(struct rte_eth_dev *dev);\n \n int failsafe_eth_dev_state_sync(struct rte_eth_dev *dev);\n void failsafe_dev_remove(struct rte_eth_dev *dev);\n-int failsafe_eth_rmv_event_callback(uint8_t port_id,\n+int failsafe_eth_rmv_event_callback(uint16_t port_id,\n \t\t\t\t    enum rte_eth_event_type type,\n \t\t\t\t    void *arg, void *out);\n-int failsafe_eth_lsc_event_callback(uint8_t port_id,\n+int failsafe_eth_lsc_event_callback(uint16_t port_id,\n \t\t\t\t    enum rte_eth_event_type event,\n \t\t\t\t    void *cb_arg, void *out);\n \ndiff --git a/drivers/net/fm10k/Makefile b/drivers/net/fm10k/Makefile\nindex e0024f052..5034064e4 100644\n--- a/drivers/net/fm10k/Makefile\n+++ b/drivers/net/fm10k/Makefile\n@@ -41,7 +41,7 @@ CFLAGS += $(WERROR_FLAGS)\n \n EXPORT_MAP := rte_pmd_fm10k_version.map\n \n-LIBABIVER := 1\n+LIBABIVER := 2\n \n ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)\n #\ndiff --git a/drivers/net/fm10k/fm10k.h b/drivers/net/fm10k/fm10k.h\nindex 8e1a95062..060982b10 100644\n--- a/drivers/net/fm10k/fm10k.h\n+++ b/drivers/net/fm10k/fm10k.h\n@@ -204,7 +204,7 @@ struct fm10k_rx_queue {\n \tuint16_t rxrearm_nb;     /* number of remaining to be re-armed */\n \tuint16_t rxrearm_start;  /* the idx we start the re-arming from */\n \tuint16_t rx_using_sse; /* indicates that vector RX is in use */\n-\tuint8_t port_id;\n+\tuint16_t port_id;\n \tuint8_t drop_en;\n \tuint8_t rx_deferred_start; /* don't start this queue in dev start. */\n \tuint16_t rx_ftag_en; /* indicates FTAG RX supported */\n@@ -241,7 +241,7 @@ struct fm10k_tx_queue {\n \tvolatile uint32_t *tail_ptr;\n \tuint32_t txq_flags; /* Holds flags for this TXq */\n \tuint16_t nb_desc;\n-\tuint8_t port_id;\n+\tuint16_t port_id;\n \tuint8_t tx_deferred_start; /** don't start this queue in dev start. */\n \tuint16_t queue_id;\n \tuint16_t tx_ftag_en; /* indicates FTAG TX supported */\n@@ -289,7 +289,7 @@ static inline uint16_t fifo_remove(struct fifo *fifo)\n }\n \n static inline void\n-fm10k_pktmbuf_reset(struct rte_mbuf *mb, uint8_t in_port)\n+fm10k_pktmbuf_reset(struct rte_mbuf *mb, uint16_t in_port)\n {\n \trte_mbuf_refcnt_set(mb, 1);\n \tmb->next = NULL;\ndiff --git a/drivers/net/i40e/Makefile b/drivers/net/i40e/Makefile\nindex 55c79a60a..1290d7f32 100644\n--- a/drivers/net/i40e/Makefile\n+++ b/drivers/net/i40e/Makefile\n@@ -42,7 +42,7 @@ CFLAGS += -DX722_A0_SUPPORT\n \n EXPORT_MAP := rte_pmd_i40e_version.map\n \n-LIBABIVER := 1\n+LIBABIVER := 2\n \n #\n # Add extra flags for base driver files (also known as shared code)\ndiff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c\nindex f12aefa5d..c4c6aec1d 100644\n--- a/drivers/net/i40e/i40e_ethdev.c\n+++ b/drivers/net/i40e/i40e_ethdev.c\n@@ -1920,8 +1920,9 @@ i40e_dev_start(struct rte_eth_dev *dev)\n \thw->adapter_stopped = 0;\n \n \tif (dev->data->dev_conf.link_speeds & ETH_LINK_SPEED_FIXED) {\n-\t\tPMD_INIT_LOG(ERR, \"Invalid link_speeds for port %hhu; autonegotiation disabled\",\n-\t\t\t     dev->data->port_id);\n+\t\tPMD_INIT_LOG(ERR,\n+\t\t\"Invalid link_speeds for port %u, autonegotiation disabled\",\n+\t\t\t      dev->data->port_id);\n \t\treturn -EINVAL;\n \t}\n \ndiff --git a/drivers/net/i40e/i40e_rxtx.h b/drivers/net/i40e/i40e_rxtx.h\nindex 20084d649..ff2ab8575 100644\n--- a/drivers/net/i40e/i40e_rxtx.h\n+++ b/drivers/net/i40e/i40e_rxtx.h\n@@ -121,7 +121,7 @@ struct i40e_rx_queue {\n \tuint16_t rxrearm_start;\t/**< the idx we start the re-arming from */\n \tuint64_t mbuf_initializer; /**< value to init mbufs */\n \n-\tuint8_t port_id; /**< device port ID */\n+\tuint16_t port_id; /**< device port ID */\n \tuint8_t crc_len; /**< 0 if CRC stripped, 4 otherwise */\n \tuint16_t queue_id; /**< RX queue index */\n \tuint16_t reg_idx; /**< RX queue register index */\n@@ -167,7 +167,7 @@ struct i40e_tx_queue {\n \tuint8_t pthresh; /**< Prefetch threshold register. */\n \tuint8_t hthresh; /**< Host threshold register. */\n \tuint8_t wthresh; /**< Write-back threshold reg. */\n-\tuint8_t port_id; /**< Device port identifier. */\n+\tuint16_t port_id; /**< Device port identifier. */\n \tuint16_t queue_id; /**< TX queue index. */\n \tuint16_t reg_idx;\n \tuint32_t txq_flags;\ndiff --git a/drivers/net/i40e/rte_pmd_i40e.c b/drivers/net/i40e/rte_pmd_i40e.c\nindex f12b7f4a1..3728d39b9 100644\n--- a/drivers/net/i40e/rte_pmd_i40e.c\n+++ b/drivers/net/i40e/rte_pmd_i40e.c\n@@ -41,7 +41,7 @@\n #include \"rte_pmd_i40e.h\"\n \n int\n-rte_pmd_i40e_ping_vfs(uint8_t port, uint16_t vf)\n+rte_pmd_i40e_ping_vfs(uint16_t port, uint16_t vf)\n {\n \tstruct rte_eth_dev *dev;\n \tstruct i40e_pf *pf;\n@@ -66,7 +66,7 @@ rte_pmd_i40e_ping_vfs(uint8_t port, uint16_t vf)\n }\n \n int\n-rte_pmd_i40e_set_vf_mac_anti_spoof(uint8_t port, uint16_t vf_id, uint8_t on)\n+rte_pmd_i40e_set_vf_mac_anti_spoof(uint16_t port, uint16_t vf_id, uint8_t on)\n {\n \tstruct rte_eth_dev *dev;\n \tstruct i40e_pf *pf;\n@@ -170,7 +170,7 @@ i40e_add_rm_all_vlan_filter(struct i40e_vsi *vsi, uint8_t add)\n }\n \n int\n-rte_pmd_i40e_set_vf_vlan_anti_spoof(uint8_t port, uint16_t vf_id, uint8_t on)\n+rte_pmd_i40e_set_vf_vlan_anti_spoof(uint16_t port, uint16_t vf_id, uint8_t on)\n {\n \tstruct rte_eth_dev *dev;\n \tstruct i40e_pf *pf;\n@@ -430,7 +430,7 @@ i40e_vsi_set_tx_loopback(struct i40e_vsi *vsi, uint8_t on)\n }\n \n int\n-rte_pmd_i40e_set_tx_loopback(uint8_t port, uint8_t on)\n+rte_pmd_i40e_set_tx_loopback(uint16_t port, uint8_t on)\n {\n \tstruct rte_eth_dev *dev;\n \tstruct i40e_pf *pf;\n@@ -473,7 +473,7 @@ rte_pmd_i40e_set_tx_loopback(uint8_t port, uint8_t on)\n }\n \n int\n-rte_pmd_i40e_set_vf_unicast_promisc(uint8_t port, uint16_t vf_id, uint8_t on)\n+rte_pmd_i40e_set_vf_unicast_promisc(uint16_t port, uint16_t vf_id, uint8_t on)\n {\n \tstruct rte_eth_dev *dev;\n \tstruct i40e_pf *pf;\n@@ -514,7 +514,7 @@ rte_pmd_i40e_set_vf_unicast_promisc(uint8_t port, uint16_t vf_id, uint8_t on)\n }\n \n int\n-rte_pmd_i40e_set_vf_multicast_promisc(uint8_t port, uint16_t vf_id, uint8_t on)\n+rte_pmd_i40e_set_vf_multicast_promisc(uint16_t port, uint16_t vf_id, uint8_t on)\n {\n \tstruct rte_eth_dev *dev;\n \tstruct i40e_pf *pf;\n@@ -555,7 +555,7 @@ rte_pmd_i40e_set_vf_multicast_promisc(uint8_t port, uint16_t vf_id, uint8_t on)\n }\n \n int\n-rte_pmd_i40e_set_vf_mac_addr(uint8_t port, uint16_t vf_id,\n+rte_pmd_i40e_set_vf_mac_addr(uint16_t port, uint16_t vf_id,\n \t\t\t     struct ether_addr *mac_addr)\n {\n \tstruct i40e_mac_filter *f;\n@@ -598,7 +598,7 @@ rte_pmd_i40e_set_vf_mac_addr(uint8_t port, uint16_t vf_id,\n \n /* Set vlan strip on/off for specific VF from host */\n int\n-rte_pmd_i40e_set_vf_vlan_stripq(uint8_t port, uint16_t vf_id, uint8_t on)\n+rte_pmd_i40e_set_vf_vlan_stripq(uint16_t port, uint16_t vf_id, uint8_t on)\n {\n \tstruct rte_eth_dev *dev;\n \tstruct i40e_pf *pf;\n@@ -633,7 +633,7 @@ rte_pmd_i40e_set_vf_vlan_stripq(uint8_t port, uint16_t vf_id, uint8_t on)\n \treturn ret;\n }\n \n-int rte_pmd_i40e_set_vf_vlan_insert(uint8_t port, uint16_t vf_id,\n+int rte_pmd_i40e_set_vf_vlan_insert(uint16_t port, uint16_t vf_id,\n \t\t\t\t    uint16_t vlan_id)\n {\n \tstruct rte_eth_dev *dev;\n@@ -698,7 +698,7 @@ int rte_pmd_i40e_set_vf_vlan_insert(uint8_t port, uint16_t vf_id,\n \treturn ret;\n }\n \n-int rte_pmd_i40e_set_vf_broadcast(uint8_t port, uint16_t vf_id,\n+int rte_pmd_i40e_set_vf_broadcast(uint16_t port, uint16_t vf_id,\n \t\t\t\t  uint8_t on)\n {\n \tstruct rte_eth_dev *dev;\n@@ -764,7 +764,7 @@ int rte_pmd_i40e_set_vf_broadcast(uint8_t port, uint16_t vf_id,\n \treturn ret;\n }\n \n-int rte_pmd_i40e_set_vf_vlan_tag(uint8_t port, uint16_t vf_id, uint8_t on)\n+int rte_pmd_i40e_set_vf_vlan_tag(uint16_t port, uint16_t vf_id, uint8_t on)\n {\n \tstruct rte_eth_dev *dev;\n \tstruct i40e_pf *pf;\n@@ -858,7 +858,7 @@ i40e_vlan_filter_count(struct i40e_vsi *vsi)\n \treturn count;\n }\n \n-int rte_pmd_i40e_set_vf_vlan_filter(uint8_t port, uint16_t vlan_id,\n+int rte_pmd_i40e_set_vf_vlan_filter(uint16_t port, uint16_t vlan_id,\n \t\t\t\t    uint64_t vf_mask, uint8_t on)\n {\n \tstruct rte_eth_dev *dev;\n@@ -941,7 +941,7 @@ int rte_pmd_i40e_set_vf_vlan_filter(uint8_t port, uint16_t vlan_id,\n }\n \n int\n-rte_pmd_i40e_get_vf_stats(uint8_t port,\n+rte_pmd_i40e_get_vf_stats(uint16_t port,\n \t\t\t  uint16_t vf_id,\n \t\t\t  struct rte_eth_stats *stats)\n {\n@@ -986,7 +986,7 @@ rte_pmd_i40e_get_vf_stats(uint8_t port,\n }\n \n int\n-rte_pmd_i40e_reset_vf_stats(uint8_t port,\n+rte_pmd_i40e_reset_vf_stats(uint16_t port,\n \t\t\t    uint16_t vf_id)\n {\n \tstruct rte_eth_dev *dev;\n@@ -1020,7 +1020,7 @@ rte_pmd_i40e_reset_vf_stats(uint8_t port,\n }\n \n int\n-rte_pmd_i40e_set_vf_max_bw(uint8_t port, uint16_t vf_id, uint32_t bw)\n+rte_pmd_i40e_set_vf_max_bw(uint16_t port, uint16_t vf_id, uint32_t bw)\n {\n \tstruct rte_eth_dev *dev;\n \tstruct i40e_pf *pf;\n@@ -1109,7 +1109,7 @@ rte_pmd_i40e_set_vf_max_bw(uint8_t port, uint16_t vf_id, uint32_t bw)\n }\n \n int\n-rte_pmd_i40e_set_vf_tc_bw_alloc(uint8_t port, uint16_t vf_id,\n+rte_pmd_i40e_set_vf_tc_bw_alloc(uint16_t port, uint16_t vf_id,\n \t\t\t\tuint8_t tc_num, uint8_t *bw_weight)\n {\n \tstruct rte_eth_dev *dev;\n@@ -1223,7 +1223,7 @@ rte_pmd_i40e_set_vf_tc_bw_alloc(uint8_t port, uint16_t vf_id,\n }\n \n int\n-rte_pmd_i40e_set_vf_tc_max_bw(uint8_t port, uint16_t vf_id,\n+rte_pmd_i40e_set_vf_tc_max_bw(uint16_t port, uint16_t vf_id,\n \t\t\t      uint8_t tc_no, uint32_t bw)\n {\n \tstruct rte_eth_dev *dev;\n@@ -1341,7 +1341,7 @@ rte_pmd_i40e_set_vf_tc_max_bw(uint8_t port, uint16_t vf_id,\n }\n \n int\n-rte_pmd_i40e_set_tc_strict_prio(uint8_t port, uint8_t tc_map)\n+rte_pmd_i40e_set_tc_strict_prio(uint16_t port, uint8_t tc_map)\n {\n \tstruct rte_eth_dev *dev;\n \tstruct i40e_pf *pf;\n@@ -1513,7 +1513,7 @@ i40e_add_rm_profile_info(struct i40e_hw *hw, uint8_t *profile_info_sec)\n \n /* Check if the profile info exists */\n static int\n-i40e_check_profile_info(uint8_t port, uint8_t *profile_info_sec)\n+i40e_check_profile_info(uint16_t port, uint8_t *profile_info_sec)\n {\n \tstruct rte_eth_dev *dev = &rte_eth_devices[port];\n \tstruct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n@@ -1557,7 +1557,7 @@ i40e_check_profile_info(uint8_t port, uint8_t *profile_info_sec)\n }\n \n int\n-rte_pmd_i40e_process_ddp_package(uint8_t port, uint8_t *buff,\n+rte_pmd_i40e_process_ddp_package(uint16_t port, uint8_t *buff,\n \t\t\t\t uint32_t size,\n \t\t\t\t enum rte_pmd_i40e_package_op op)\n {\n@@ -1863,7 +1863,7 @@ int rte_pmd_i40e_get_ddp_info(uint8_t *pkg_buff, uint32_t pkg_size,\n }\n \n int\n-rte_pmd_i40e_get_ddp_list(uint8_t port, uint8_t *buff, uint32_t size)\n+rte_pmd_i40e_get_ddp_list(uint16_t port, uint8_t *buff, uint32_t size)\n {\n \tstruct rte_eth_dev *dev;\n \tstruct i40e_hw *hw;\n@@ -1991,7 +1991,7 @@ static int check_invalid_ptype_mapping(\n \n int\n rte_pmd_i40e_ptype_mapping_update(\n-\t\t\tuint8_t port,\n+\t\t\tuint16_t port,\n \t\t\tstruct rte_pmd_i40e_ptype_mapping *mapping_items,\n \t\t\tuint16_t count,\n \t\t\tuint8_t exclusive)\n@@ -2027,7 +2027,7 @@ rte_pmd_i40e_ptype_mapping_update(\n \treturn 0;\n }\n \n-int rte_pmd_i40e_ptype_mapping_reset(uint8_t port)\n+int rte_pmd_i40e_ptype_mapping_reset(uint16_t port)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -2044,7 +2044,7 @@ int rte_pmd_i40e_ptype_mapping_reset(uint8_t port)\n }\n \n int rte_pmd_i40e_ptype_mapping_get(\n-\t\t\tuint8_t port,\n+\t\t\tuint16_t port,\n \t\t\tstruct rte_pmd_i40e_ptype_mapping *mapping_items,\n \t\t\tuint16_t size,\n \t\t\tuint16_t *count,\n@@ -2078,7 +2078,7 @@ int rte_pmd_i40e_ptype_mapping_get(\n \treturn 0;\n }\n \n-int rte_pmd_i40e_ptype_mapping_replace(uint8_t port,\n+int rte_pmd_i40e_ptype_mapping_replace(uint16_t port,\n \t\t\t\t       uint32_t target,\n \t\t\t\t       uint8_t mask,\n \t\t\t\t       uint32_t pkt_type)\ndiff --git a/drivers/net/i40e/rte_pmd_i40e.h b/drivers/net/i40e/rte_pmd_i40e.h\nindex 356fa89d7..7f32a59b1 100644\n--- a/drivers/net/i40e/rte_pmd_i40e.h\n+++ b/drivers/net/i40e/rte_pmd_i40e.h\n@@ -157,7 +157,7 @@ struct rte_pmd_i40e_ptype_mapping {\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if *vf* invalid.\n  */\n-int rte_pmd_i40e_ping_vfs(uint8_t port, uint16_t vf);\n+int rte_pmd_i40e_ping_vfs(uint16_t port, uint16_t vf);\n \n /**\n  * Enable/Disable VF MAC anti spoofing.\n@@ -174,7 +174,7 @@ int rte_pmd_i40e_ping_vfs(uint8_t port, uint16_t vf);\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_i40e_set_vf_mac_anti_spoof(uint8_t port,\n+int rte_pmd_i40e_set_vf_mac_anti_spoof(uint16_t port,\n \t\t\t\t       uint16_t vf_id,\n \t\t\t\t       uint8_t on);\n \n@@ -193,7 +193,7 @@ int rte_pmd_i40e_set_vf_mac_anti_spoof(uint8_t port,\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_i40e_set_vf_vlan_anti_spoof(uint8_t port,\n+int rte_pmd_i40e_set_vf_vlan_anti_spoof(uint16_t port,\n \t\t\t\t\tuint16_t vf_id,\n \t\t\t\t\tuint8_t on);\n \n@@ -210,7 +210,7 @@ int rte_pmd_i40e_set_vf_vlan_anti_spoof(uint8_t port,\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_i40e_set_tx_loopback(uint8_t port,\n+int rte_pmd_i40e_set_tx_loopback(uint16_t port,\n \t\t\t\t uint8_t on);\n \n /**\n@@ -228,7 +228,7 @@ int rte_pmd_i40e_set_tx_loopback(uint8_t port,\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_i40e_set_vf_unicast_promisc(uint8_t port,\n+int rte_pmd_i40e_set_vf_unicast_promisc(uint16_t port,\n \t\t\t\t\tuint16_t vf_id,\n \t\t\t\t\tuint8_t on);\n \n@@ -247,7 +247,7 @@ int rte_pmd_i40e_set_vf_unicast_promisc(uint8_t port,\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_i40e_set_vf_multicast_promisc(uint8_t port,\n+int rte_pmd_i40e_set_vf_multicast_promisc(uint16_t port,\n \t\t\t\t\t  uint16_t vf_id,\n \t\t\t\t\t  uint8_t on);\n \n@@ -271,7 +271,7 @@ int rte_pmd_i40e_set_vf_multicast_promisc(uint8_t port,\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if *vf* or *mac_addr* is invalid.\n  */\n-int rte_pmd_i40e_set_vf_mac_addr(uint8_t port, uint16_t vf_id,\n+int rte_pmd_i40e_set_vf_mac_addr(uint16_t port, uint16_t vf_id,\n \t\t\t\t struct ether_addr *mac_addr);\n \n /**\n@@ -291,7 +291,7 @@ int rte_pmd_i40e_set_vf_mac_addr(uint8_t port, uint16_t vf_id,\n  *   - (-EINVAL) if bad parameter.\n  */\n int\n-rte_pmd_i40e_set_vf_vlan_stripq(uint8_t port, uint16_t vf, uint8_t on);\n+rte_pmd_i40e_set_vf_vlan_stripq(uint16_t port, uint16_t vf, uint8_t on);\n \n /**\n  * Enable/Disable vf vlan insert\n@@ -309,7 +309,7 @@ rte_pmd_i40e_set_vf_vlan_stripq(uint8_t port, uint16_t vf, uint8_t on);\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_i40e_set_vf_vlan_insert(uint8_t port, uint16_t vf_id,\n+int rte_pmd_i40e_set_vf_vlan_insert(uint16_t port, uint16_t vf_id,\n \t\t\t\t    uint16_t vlan_id);\n \n /**\n@@ -328,7 +328,7 @@ int rte_pmd_i40e_set_vf_vlan_insert(uint8_t port, uint16_t vf_id,\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_i40e_set_vf_broadcast(uint8_t port, uint16_t vf_id,\n+int rte_pmd_i40e_set_vf_broadcast(uint16_t port, uint16_t vf_id,\n \t\t\t\t  uint8_t on);\n \n /**\n@@ -347,7 +347,7 @@ int rte_pmd_i40e_set_vf_broadcast(uint8_t port, uint16_t vf_id,\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_i40e_set_vf_vlan_tag(uint8_t port, uint16_t vf_id, uint8_t on);\n+int rte_pmd_i40e_set_vf_vlan_tag(uint16_t port, uint16_t vf_id, uint8_t on);\n \n /**\n  * Enable/Disable VF VLAN filter\n@@ -368,7 +368,7 @@ int rte_pmd_i40e_set_vf_vlan_tag(uint8_t port, uint16_t vf_id, uint8_t on);\n  *   - (-EINVAL) if bad parameter.\n  *   - (-ENOTSUP) not supported by firmware.\n  */\n-int rte_pmd_i40e_set_vf_vlan_filter(uint8_t port, uint16_t vlan_id,\n+int rte_pmd_i40e_set_vf_vlan_filter(uint16_t port, uint16_t vlan_id,\n \t\t\t\t    uint64_t vf_mask, uint8_t on);\n \n /**\n@@ -393,7 +393,7 @@ int rte_pmd_i40e_set_vf_vlan_filter(uint8_t port, uint16_t vlan_id,\n  *   - (-EINVAL) if bad parameter.\n  */\n \n-int rte_pmd_i40e_get_vf_stats(uint8_t port,\n+int rte_pmd_i40e_get_vf_stats(uint16_t port,\n \t\t\t      uint16_t vf_id,\n \t\t\t      struct rte_eth_stats *stats);\n \n@@ -409,7 +409,7 @@ int rte_pmd_i40e_get_vf_stats(uint8_t port,\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_i40e_reset_vf_stats(uint8_t port,\n+int rte_pmd_i40e_reset_vf_stats(uint16_t port,\n \t\t\t\tuint16_t vf_id);\n \n /**\n@@ -434,7 +434,7 @@ int rte_pmd_i40e_reset_vf_stats(uint8_t port,\n  *   - (-EINVAL) if bad parameter.\n  *   - (-ENOTSUP) not supported by firmware.\n  */\n-int rte_pmd_i40e_set_vf_max_bw(uint8_t port,\n+int rte_pmd_i40e_set_vf_max_bw(uint16_t port,\n \t\t\t       uint16_t vf_id,\n \t\t\t       uint32_t bw);\n \n@@ -459,7 +459,7 @@ int rte_pmd_i40e_set_vf_max_bw(uint8_t port,\n  *   - (-EINVAL) if bad parameter.\n  *   - (-ENOTSUP) not supported by firmware.\n  */\n-int rte_pmd_i40e_set_vf_tc_bw_alloc(uint8_t port,\n+int rte_pmd_i40e_set_vf_tc_bw_alloc(uint16_t port,\n \t\t\t\t    uint16_t vf_id,\n \t\t\t\t    uint8_t tc_num,\n \t\t\t\t    uint8_t *bw_weight);\n@@ -484,7 +484,7 @@ int rte_pmd_i40e_set_vf_tc_bw_alloc(uint8_t port,\n  *   - (-EINVAL) if bad parameter.\n  *   - (-ENOTSUP) not supported by firmware.\n  */\n-int rte_pmd_i40e_set_vf_tc_max_bw(uint8_t port,\n+int rte_pmd_i40e_set_vf_tc_max_bw(uint16_t port,\n \t\t\t\t  uint16_t vf_id,\n \t\t\t\t  uint8_t tc_no,\n \t\t\t\t  uint32_t bw);\n@@ -502,7 +502,7 @@ int rte_pmd_i40e_set_vf_tc_max_bw(uint8_t port,\n  *   - (-EINVAL) if bad parameter.\n  *   - (-ENOTSUP) not supported by firmware.\n  */\n-int rte_pmd_i40e_set_tc_strict_prio(uint8_t port, uint8_t tc_map);\n+int rte_pmd_i40e_set_tc_strict_prio(uint16_t port, uint8_t tc_map);\n \n /**\n  * Load/Unload a ddp package\n@@ -523,7 +523,7 @@ int rte_pmd_i40e_set_tc_strict_prio(uint8_t port, uint8_t tc_map);\n  *   - (-EACCES) if profile does not exist.\n  *   - (-ENOTSUP) if operation not supported.\n  */\n-int rte_pmd_i40e_process_ddp_package(uint8_t port, uint8_t *buff,\n+int rte_pmd_i40e_process_ddp_package(uint16_t port, uint8_t *buff,\n \t\t\t\t     uint32_t size,\n \t\t\t\t     enum rte_pmd_i40e_package_op op);\n \n@@ -561,7 +561,7 @@ int rte_pmd_i40e_get_ddp_info(uint8_t *pkg, uint32_t pkg_size,\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_i40e_get_ddp_list(uint8_t port, uint8_t *buff, uint32_t size);\n+int rte_pmd_i40e_get_ddp_list(uint16_t port, uint8_t *buff, uint32_t size);\n \n /**\n  * Update hardware defined ptype to software defined packet type\n@@ -581,7 +581,7 @@ int rte_pmd_i40e_get_ddp_list(uint8_t port, uint8_t *buff, uint32_t size);\n  *\tset other PTYPEs maps to PTYPE_UNKNOWN.\n  */\n int rte_pmd_i40e_ptype_mapping_update(\n-\t\t\tuint8_t port,\n+\t\t\tuint16_t port,\n \t\t\tstruct rte_pmd_i40e_ptype_mapping *mapping_items,\n \t\t\tuint16_t count,\n \t\t\tuint8_t exclusive);\n@@ -593,7 +593,7 @@ int rte_pmd_i40e_ptype_mapping_update(\n  * @param port\n  *    pointer to port identifier of the device\n  */\n-int rte_pmd_i40e_ptype_mapping_reset(uint8_t port);\n+int rte_pmd_i40e_ptype_mapping_reset(uint16_t port);\n \n /**\n  * Get hardware defined ptype to software defined ptype\n@@ -612,7 +612,7 @@ int rte_pmd_i40e_ptype_mapping_reset(uint8_t port);\n  *    -(!0) only return mapping items which packet_type != RTE_PTYPE_UNKNOWN.\n  */\n int rte_pmd_i40e_ptype_mapping_get(\n-\t\t\tuint8_t port,\n+\t\t\tuint16_t port,\n \t\t\tstruct rte_pmd_i40e_ptype_mapping *mapping_items,\n \t\t\tuint16_t size,\n \t\t\tuint16_t *count,\n@@ -632,7 +632,7 @@ int rte_pmd_i40e_ptype_mapping_get(\n  * @param pkt_type\n  *    the new packet type to overwrite\n  */\n-int rte_pmd_i40e_ptype_mapping_replace(uint8_t port,\n+int rte_pmd_i40e_ptype_mapping_replace(uint16_t port,\n \t\t\t\t       uint32_t target,\n \t\t\t\t       uint8_t mask,\n \t\t\t\t       uint32_t pkt_type);\ndiff --git a/drivers/net/ixgbe/Makefile b/drivers/net/ixgbe/Makefile\nindex 5e57cb353..18ad4feca 100644\n--- a/drivers/net/ixgbe/Makefile\n+++ b/drivers/net/ixgbe/Makefile\n@@ -41,7 +41,7 @@ CFLAGS += $(WERROR_FLAGS)\n \n EXPORT_MAP := rte_pmd_ixgbe_version.map\n \n-LIBABIVER := 1\n+LIBABIVER := 2\n \n ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)\n #\ndiff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c\nindex 9ca5cbcd3..d873c409f 100644\n--- a/drivers/net/ixgbe/ixgbe_ethdev.c\n+++ b/drivers/net/ixgbe/ixgbe_ethdev.c\n@@ -2508,8 +2508,9 @@ ixgbe_dev_start(struct rte_eth_dev *dev)\n \t*    - fixed speed: TODO implement\n \t*/\n \tif (dev->data->dev_conf.link_speeds & ETH_LINK_SPEED_FIXED) {\n-\t\tPMD_INIT_LOG(ERR, \"Invalid link_speeds for port %hhu; fix speed not supported\",\n-\t\t\t     dev->data->port_id);\n+\t\tPMD_INIT_LOG(ERR,\n+\t\t\"Invalid link_speeds for port %u, fix speed not supported\",\n+\t\t\t\tdev->data->port_id);\n \t\treturn -EINVAL;\n \t}\n \ndiff --git a/drivers/net/ixgbe/ixgbe_rxtx.h b/drivers/net/ixgbe/ixgbe_rxtx.h\nindex 85feb0bdc..81c527fad 100644\n--- a/drivers/net/ixgbe/ixgbe_rxtx.h\n+++ b/drivers/net/ixgbe/ixgbe_rxtx.h\n@@ -148,7 +148,7 @@ struct ixgbe_rx_queue {\n \tuint16_t            queue_id; /**< RX queue index. */\n \tuint16_t            reg_idx;  /**< RX queue register index. */\n \tuint16_t            pkt_type_mask;  /**< Packet type mask for different NICs. */\n-\tuint8_t             port_id;  /**< Device port identifier. */\n+\tuint16_t            port_id;  /**< Device port identifier. */\n \tuint8_t             crc_len;  /**< 0 if CRC stripped, 4 otherwise. */\n \tuint8_t             drop_en;  /**< If not 0, set SRRCTL.Drop_En. */\n \tuint8_t             rx_deferred_start; /**< not in global dev start. */\n@@ -237,7 +237,7 @@ struct ixgbe_tx_queue {\n \tuint16_t tx_next_rs; /**< next desc to set RS bit */\n \tuint16_t            queue_id;      /**< TX queue index. */\n \tuint16_t            reg_idx;       /**< TX queue register index. */\n-\tuint8_t             port_id;       /**< Device port identifier. */\n+\tuint16_t            port_id;       /**< Device port identifier. */\n \tuint8_t             pthresh;       /**< Prefetch threshold register. */\n \tuint8_t             hthresh;       /**< Host threshold register. */\n \tuint8_t             wthresh;       /**< Write-back threshold reg. */\ndiff --git a/drivers/net/ixgbe/rte_pmd_ixgbe.c b/drivers/net/ixgbe/rte_pmd_ixgbe.c\nindex 79897ff64..f12737857 100644\n--- a/drivers/net/ixgbe/rte_pmd_ixgbe.c\n+++ b/drivers/net/ixgbe/rte_pmd_ixgbe.c\n@@ -38,7 +38,7 @@\n #include \"rte_pmd_ixgbe.h\"\n \n int\n-rte_pmd_ixgbe_set_vf_mac_addr(uint8_t port, uint16_t vf,\n+rte_pmd_ixgbe_set_vf_mac_addr(uint16_t port, uint16_t vf,\n \t\t\t      struct ether_addr *mac_addr)\n {\n \tstruct ixgbe_hw *hw;\n@@ -73,7 +73,7 @@ rte_pmd_ixgbe_set_vf_mac_addr(uint8_t port, uint16_t vf,\n }\n \n int\n-rte_pmd_ixgbe_ping_vf(uint8_t port, uint16_t vf)\n+rte_pmd_ixgbe_ping_vf(uint16_t port, uint16_t vf)\n {\n \tstruct ixgbe_hw *hw;\n \tstruct ixgbe_vf_info *vfinfo;\n@@ -105,7 +105,7 @@ rte_pmd_ixgbe_ping_vf(uint8_t port, uint16_t vf)\n }\n \n int\n-rte_pmd_ixgbe_set_vf_vlan_anti_spoof(uint8_t port, uint16_t vf, uint8_t on)\n+rte_pmd_ixgbe_set_vf_vlan_anti_spoof(uint16_t port, uint16_t vf, uint8_t on)\n {\n \tstruct ixgbe_hw *hw;\n \tstruct ixgbe_mac_info *mac;\n@@ -135,7 +135,7 @@ rte_pmd_ixgbe_set_vf_vlan_anti_spoof(uint8_t port, uint16_t vf, uint8_t on)\n }\n \n int\n-rte_pmd_ixgbe_set_vf_mac_anti_spoof(uint8_t port, uint16_t vf, uint8_t on)\n+rte_pmd_ixgbe_set_vf_mac_anti_spoof(uint16_t port, uint16_t vf, uint8_t on)\n {\n \tstruct ixgbe_hw *hw;\n \tstruct ixgbe_mac_info *mac;\n@@ -164,7 +164,7 @@ rte_pmd_ixgbe_set_vf_mac_anti_spoof(uint8_t port, uint16_t vf, uint8_t on)\n }\n \n int\n-rte_pmd_ixgbe_set_vf_vlan_insert(uint8_t port, uint16_t vf, uint16_t vlan_id)\n+rte_pmd_ixgbe_set_vf_vlan_insert(uint16_t port, uint16_t vf, uint16_t vlan_id)\n {\n \tstruct ixgbe_hw *hw;\n \tuint32_t ctrl;\n@@ -200,7 +200,7 @@ rte_pmd_ixgbe_set_vf_vlan_insert(uint8_t port, uint16_t vf, uint16_t vlan_id)\n }\n \n int\n-rte_pmd_ixgbe_set_tx_loopback(uint8_t port, uint8_t on)\n+rte_pmd_ixgbe_set_tx_loopback(uint16_t port, uint8_t on)\n {\n \tstruct ixgbe_hw *hw;\n \tuint32_t ctrl;\n@@ -230,7 +230,7 @@ rte_pmd_ixgbe_set_tx_loopback(uint8_t port, uint8_t on)\n }\n \n int\n-rte_pmd_ixgbe_set_all_queues_drop_en(uint8_t port, uint8_t on)\n+rte_pmd_ixgbe_set_all_queues_drop_en(uint16_t port, uint8_t on)\n {\n \tstruct ixgbe_hw *hw;\n \tuint32_t reg_value;\n@@ -260,7 +260,7 @@ rte_pmd_ixgbe_set_all_queues_drop_en(uint8_t port, uint8_t on)\n }\n \n int\n-rte_pmd_ixgbe_set_vf_split_drop_en(uint8_t port, uint16_t vf, uint8_t on)\n+rte_pmd_ixgbe_set_vf_split_drop_en(uint16_t port, uint16_t vf, uint8_t on)\n {\n \tstruct ixgbe_hw *hw;\n \tuint32_t reg_value;\n@@ -295,7 +295,7 @@ rte_pmd_ixgbe_set_vf_split_drop_en(uint8_t port, uint16_t vf, uint8_t on)\n }\n \n int\n-rte_pmd_ixgbe_set_vf_vlan_stripq(uint8_t port, uint16_t vf, uint8_t on)\n+rte_pmd_ixgbe_set_vf_vlan_stripq(uint16_t port, uint16_t vf, uint8_t on)\n {\n \tstruct rte_eth_dev *dev;\n \tstruct rte_pci_device *pci_dev;\n@@ -342,7 +342,7 @@ rte_pmd_ixgbe_set_vf_vlan_stripq(uint8_t port, uint16_t vf, uint8_t on)\n }\n \n int\n-rte_pmd_ixgbe_set_vf_rxmode(uint8_t port, uint16_t vf,\n+rte_pmd_ixgbe_set_vf_rxmode(uint16_t port, uint16_t vf,\n \t\t\t    uint16_t rx_mask, uint8_t on)\n {\n \tint val = 0;\n@@ -389,7 +389,7 @@ rte_pmd_ixgbe_set_vf_rxmode(uint8_t port, uint16_t vf,\n }\n \n int\n-rte_pmd_ixgbe_set_vf_rx(uint8_t port, uint16_t vf, uint8_t on)\n+rte_pmd_ixgbe_set_vf_rx(uint16_t port, uint16_t vf, uint8_t on)\n {\n \tstruct rte_eth_dev *dev;\n \tstruct rte_pci_device *pci_dev;\n@@ -439,7 +439,7 @@ rte_pmd_ixgbe_set_vf_rx(uint8_t port, uint16_t vf, uint8_t on)\n }\n \n int\n-rte_pmd_ixgbe_set_vf_tx(uint8_t port, uint16_t vf, uint8_t on)\n+rte_pmd_ixgbe_set_vf_tx(uint16_t port, uint16_t vf, uint8_t on)\n {\n \tstruct rte_eth_dev *dev;\n \tstruct rte_pci_device *pci_dev;\n@@ -489,7 +489,7 @@ rte_pmd_ixgbe_set_vf_tx(uint8_t port, uint16_t vf, uint8_t on)\n }\n \n int\n-rte_pmd_ixgbe_set_vf_vlan_filter(uint8_t port, uint16_t vlan,\n+rte_pmd_ixgbe_set_vf_vlan_filter(uint16_t port, uint16_t vlan,\n \t\t\t\t uint64_t vf_mask, uint8_t vlan_on)\n {\n \tstruct rte_eth_dev *dev;\n@@ -524,7 +524,7 @@ rte_pmd_ixgbe_set_vf_vlan_filter(uint8_t port, uint16_t vlan,\n }\n \n int\n-rte_pmd_ixgbe_set_vf_rate_limit(uint8_t port, uint16_t vf,\n+rte_pmd_ixgbe_set_vf_rate_limit(uint16_t port, uint16_t vf,\n \t\t\t\tuint16_t tx_rate, uint64_t q_msk)\n {\n \tstruct rte_eth_dev *dev;\n@@ -540,7 +540,7 @@ rte_pmd_ixgbe_set_vf_rate_limit(uint8_t port, uint16_t vf,\n }\n \n int\n-rte_pmd_ixgbe_macsec_enable(uint8_t port, uint8_t en, uint8_t rp)\n+rte_pmd_ixgbe_macsec_enable(uint16_t port, uint8_t en, uint8_t rp)\n {\n \tstruct ixgbe_hw *hw;\n \tstruct rte_eth_dev *dev;\n@@ -623,7 +623,7 @@ rte_pmd_ixgbe_macsec_enable(uint8_t port, uint8_t en, uint8_t rp)\n }\n \n int\n-rte_pmd_ixgbe_macsec_disable(uint8_t port)\n+rte_pmd_ixgbe_macsec_disable(uint16_t port)\n {\n \tstruct ixgbe_hw *hw;\n \tstruct rte_eth_dev *dev;\n@@ -687,7 +687,7 @@ rte_pmd_ixgbe_macsec_disable(uint8_t port)\n }\n \n int\n-rte_pmd_ixgbe_macsec_config_txsc(uint8_t port, uint8_t *mac)\n+rte_pmd_ixgbe_macsec_config_txsc(uint16_t port, uint8_t *mac)\n {\n \tstruct ixgbe_hw *hw;\n \tstruct rte_eth_dev *dev;\n@@ -712,7 +712,7 @@ rte_pmd_ixgbe_macsec_config_txsc(uint8_t port, uint8_t *mac)\n }\n \n int\n-rte_pmd_ixgbe_macsec_config_rxsc(uint8_t port, uint8_t *mac, uint16_t pi)\n+rte_pmd_ixgbe_macsec_config_rxsc(uint16_t port, uint8_t *mac, uint16_t pi)\n {\n \tstruct ixgbe_hw *hw;\n \tstruct rte_eth_dev *dev;\n@@ -738,7 +738,7 @@ rte_pmd_ixgbe_macsec_config_rxsc(uint8_t port, uint8_t *mac, uint16_t pi)\n }\n \n int\n-rte_pmd_ixgbe_macsec_select_txsa(uint8_t port, uint8_t idx, uint8_t an,\n+rte_pmd_ixgbe_macsec_select_txsa(uint16_t port, uint8_t idx, uint8_t an,\n \t\t\t\t uint32_t pn, uint8_t *key)\n {\n \tstruct ixgbe_hw *hw;\n@@ -794,7 +794,7 @@ rte_pmd_ixgbe_macsec_select_txsa(uint8_t port, uint8_t idx, uint8_t an,\n }\n \n int\n-rte_pmd_ixgbe_macsec_select_rxsa(uint8_t port, uint8_t idx, uint8_t an,\n+rte_pmd_ixgbe_macsec_select_rxsa(uint16_t port, uint8_t idx, uint8_t an,\n \t\t\t\t uint32_t pn, uint8_t *key)\n {\n \tstruct ixgbe_hw *hw;\n@@ -837,7 +837,7 @@ rte_pmd_ixgbe_macsec_select_rxsa(uint8_t port, uint8_t idx, uint8_t an,\n }\n \n int\n-rte_pmd_ixgbe_set_tc_bw_alloc(uint8_t port,\n+rte_pmd_ixgbe_set_tc_bw_alloc(uint16_t port,\n \t\t\t      uint8_t tc_num,\n \t\t\t      uint8_t *bw_weight)\n {\n@@ -911,7 +911,7 @@ rte_pmd_ixgbe_set_tc_bw_alloc(uint8_t port,\n \n #ifdef RTE_LIBRTE_IXGBE_BYPASS\n int\n-rte_pmd_ixgbe_bypass_init(uint8_t port_id)\n+rte_pmd_ixgbe_bypass_init(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -926,7 +926,7 @@ rte_pmd_ixgbe_bypass_init(uint8_t port_id)\n }\n \n int\n-rte_pmd_ixgbe_bypass_state_show(uint8_t port_id, uint32_t *state)\n+rte_pmd_ixgbe_bypass_state_show(uint16_t port_id, uint32_t *state)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -940,7 +940,7 @@ rte_pmd_ixgbe_bypass_state_show(uint8_t port_id, uint32_t *state)\n }\n \n int\n-rte_pmd_ixgbe_bypass_state_set(uint8_t port_id, uint32_t *new_state)\n+rte_pmd_ixgbe_bypass_state_set(uint16_t port_id, uint32_t *new_state)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -954,7 +954,7 @@ rte_pmd_ixgbe_bypass_state_set(uint8_t port_id, uint32_t *new_state)\n }\n \n int\n-rte_pmd_ixgbe_bypass_event_show(uint8_t port_id,\n+rte_pmd_ixgbe_bypass_event_show(uint16_t port_id,\n \t\t\t\tuint32_t event,\n \t\t\t\tuint32_t *state)\n {\n@@ -970,7 +970,7 @@ rte_pmd_ixgbe_bypass_event_show(uint8_t port_id,\n }\n \n int\n-rte_pmd_ixgbe_bypass_event_store(uint8_t port_id,\n+rte_pmd_ixgbe_bypass_event_store(uint16_t port_id,\n \t\t\t\t uint32_t event,\n \t\t\t\t uint32_t state)\n {\n@@ -986,7 +986,7 @@ rte_pmd_ixgbe_bypass_event_store(uint8_t port_id,\n }\n \n int\n-rte_pmd_ixgbe_bypass_wd_timeout_store(uint8_t port_id, uint32_t timeout)\n+rte_pmd_ixgbe_bypass_wd_timeout_store(uint16_t port_id, uint32_t timeout)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -1000,7 +1000,7 @@ rte_pmd_ixgbe_bypass_wd_timeout_store(uint8_t port_id, uint32_t timeout)\n }\n \n int\n-rte_pmd_ixgbe_bypass_ver_show(uint8_t port_id, uint32_t *ver)\n+rte_pmd_ixgbe_bypass_ver_show(uint16_t port_id, uint32_t *ver)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -1014,7 +1014,7 @@ rte_pmd_ixgbe_bypass_ver_show(uint8_t port_id, uint32_t *ver)\n }\n \n int\n-rte_pmd_ixgbe_bypass_wd_timeout_show(uint8_t port_id, uint32_t *wd_timeout)\n+rte_pmd_ixgbe_bypass_wd_timeout_show(uint16_t port_id, uint32_t *wd_timeout)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -1028,7 +1028,7 @@ rte_pmd_ixgbe_bypass_wd_timeout_show(uint8_t port_id, uint32_t *wd_timeout)\n }\n \n int\n-rte_pmd_ixgbe_bypass_wd_reset(uint8_t port_id)\n+rte_pmd_ixgbe_bypass_wd_reset(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \ndiff --git a/drivers/net/ixgbe/rte_pmd_ixgbe.h b/drivers/net/ixgbe/rte_pmd_ixgbe.h\nindex d33c285db..81b18f876 100644\n--- a/drivers/net/ixgbe/rte_pmd_ixgbe.h\n+++ b/drivers/net/ixgbe/rte_pmd_ixgbe.h\n@@ -53,7 +53,7 @@\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if *vf* invalid.\n  */\n-int rte_pmd_ixgbe_ping_vf(uint8_t port, uint16_t vf);\n+int rte_pmd_ixgbe_ping_vf(uint16_t port, uint16_t vf);\n \n /**\n  * Set the VF MAC address.\n@@ -69,7 +69,7 @@ int rte_pmd_ixgbe_ping_vf(uint8_t port, uint16_t vf);\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if *vf* or *mac_addr* is invalid.\n  */\n-int rte_pmd_ixgbe_set_vf_mac_addr(uint8_t port, uint16_t vf,\n+int rte_pmd_ixgbe_set_vf_mac_addr(uint16_t port, uint16_t vf,\n \t\tstruct ether_addr *mac_addr);\n \n /**\n@@ -87,7 +87,8 @@ int rte_pmd_ixgbe_set_vf_mac_addr(uint8_t port, uint16_t vf,\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_ixgbe_set_vf_vlan_anti_spoof(uint8_t port, uint16_t vf, uint8_t on);\n+int rte_pmd_ixgbe_set_vf_vlan_anti_spoof(uint16_t port, uint16_t vf,\n+\t\t\t\t\t uint8_t on);\n \n /**\n  * Enable/Disable VF MAC anti spoofing.\n@@ -104,7 +105,7 @@ int rte_pmd_ixgbe_set_vf_vlan_anti_spoof(uint8_t port, uint16_t vf, uint8_t on);\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_ixgbe_set_vf_mac_anti_spoof(uint8_t port, uint16_t vf, uint8_t on);\n+int rte_pmd_ixgbe_set_vf_mac_anti_spoof(uint16_t port, uint16_t vf, uint8_t on);\n \n /**\n  * Enable/Disable vf vlan insert\n@@ -122,7 +123,7 @@ int rte_pmd_ixgbe_set_vf_mac_anti_spoof(uint8_t port, uint16_t vf, uint8_t on);\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_ixgbe_set_vf_vlan_insert(uint8_t port, uint16_t vf,\n+int rte_pmd_ixgbe_set_vf_vlan_insert(uint16_t port, uint16_t vf,\n \t\tuint16_t vlan_id);\n \n /**\n@@ -139,7 +140,7 @@ int rte_pmd_ixgbe_set_vf_vlan_insert(uint8_t port, uint16_t vf,\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_ixgbe_set_tx_loopback(uint8_t port, uint8_t on);\n+int rte_pmd_ixgbe_set_tx_loopback(uint16_t port, uint8_t on);\n \n /**\n  * set all queues drop enable bit\n@@ -155,7 +156,7 @@ int rte_pmd_ixgbe_set_tx_loopback(uint8_t port, uint8_t on);\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_ixgbe_set_all_queues_drop_en(uint8_t port, uint8_t on);\n+int rte_pmd_ixgbe_set_all_queues_drop_en(uint16_t port, uint8_t on);\n \n /**\n  * set drop enable bit in the VF split rx control register\n@@ -174,7 +175,7 @@ int rte_pmd_ixgbe_set_all_queues_drop_en(uint8_t port, uint8_t on);\n  *   - (-EINVAL) if bad parameter.\n  */\n \n-int rte_pmd_ixgbe_set_vf_split_drop_en(uint8_t port, uint16_t vf, uint8_t on);\n+int rte_pmd_ixgbe_set_vf_split_drop_en(uint16_t port, uint16_t vf, uint8_t on);\n \n /**\n  * Enable/Disable vf vlan strip for all queues in a pool\n@@ -194,7 +195,7 @@ int rte_pmd_ixgbe_set_vf_split_drop_en(uint8_t port, uint16_t vf, uint8_t on);\n  *   - (-EINVAL) if bad parameter.\n  */\n int\n-rte_pmd_ixgbe_set_vf_vlan_stripq(uint8_t port, uint16_t vf, uint8_t on);\n+rte_pmd_ixgbe_set_vf_vlan_stripq(uint16_t port, uint16_t vf, uint8_t on);\n \n /**\n  * Enable MACsec offload.\n@@ -212,7 +213,7 @@ rte_pmd_ixgbe_set_vf_vlan_stripq(uint8_t port, uint16_t vf, uint8_t on);\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-ENOTSUP) if hardware doesn't support this feature.\n  */\n-int rte_pmd_ixgbe_macsec_enable(uint8_t port, uint8_t en, uint8_t rp);\n+int rte_pmd_ixgbe_macsec_enable(uint16_t port, uint8_t en, uint8_t rp);\n \n /**\n  * Disable MACsec offload.\n@@ -224,7 +225,7 @@ int rte_pmd_ixgbe_macsec_enable(uint8_t port, uint8_t en, uint8_t rp);\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-ENOTSUP) if hardware doesn't support this feature.\n  */\n-int rte_pmd_ixgbe_macsec_disable(uint8_t port);\n+int rte_pmd_ixgbe_macsec_disable(uint16_t port);\n \n /**\n  * Configure Tx SC (Secure Connection).\n@@ -238,7 +239,7 @@ int rte_pmd_ixgbe_macsec_disable(uint8_t port);\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-ENOTSUP) if hardware doesn't support this feature.\n  */\n-int rte_pmd_ixgbe_macsec_config_txsc(uint8_t port, uint8_t *mac);\n+int rte_pmd_ixgbe_macsec_config_txsc(uint16_t port, uint8_t *mac);\n \n /**\n  * Configure Rx SC (Secure Connection).\n@@ -254,7 +255,7 @@ int rte_pmd_ixgbe_macsec_config_txsc(uint8_t port, uint8_t *mac);\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-ENOTSUP) if hardware doesn't support this feature.\n  */\n-int rte_pmd_ixgbe_macsec_config_rxsc(uint8_t port, uint8_t *mac, uint16_t pi);\n+int rte_pmd_ixgbe_macsec_config_rxsc(uint16_t port, uint8_t *mac, uint16_t pi);\n \n /**\n  * Enable Tx SA (Secure Association).\n@@ -275,7 +276,7 @@ int rte_pmd_ixgbe_macsec_config_rxsc(uint8_t port, uint8_t *mac, uint16_t pi);\n  *   - (-ENOTSUP) if hardware doesn't support this feature.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_ixgbe_macsec_select_txsa(uint8_t port, uint8_t idx, uint8_t an,\n+int rte_pmd_ixgbe_macsec_select_txsa(uint16_t port, uint8_t idx, uint8_t an,\n \t\tuint32_t pn, uint8_t *key);\n \n /**\n@@ -297,7 +298,7 @@ int rte_pmd_ixgbe_macsec_select_txsa(uint8_t port, uint8_t idx, uint8_t an,\n  *   - (-ENOTSUP) if hardware doesn't support this feature.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_ixgbe_macsec_select_rxsa(uint8_t port, uint8_t idx, uint8_t an,\n+int rte_pmd_ixgbe_macsec_select_rxsa(uint16_t port, uint8_t idx, uint8_t an,\n \t\tuint32_t pn, uint8_t *key);\n \n /**\n@@ -323,7 +324,8 @@ int rte_pmd_ixgbe_macsec_select_rxsa(uint8_t port, uint8_t idx, uint8_t an,\n *   - (-EINVAL) if bad parameter.\n */\n int\n-rte_pmd_ixgbe_set_vf_rxmode(uint8_t port, uint16_t vf, uint16_t rx_mask, uint8_t on);\n+rte_pmd_ixgbe_set_vf_rxmode(uint16_t port, uint16_t vf, uint16_t rx_mask,\n+\t\t\t     uint8_t on);\n \n /**\n * Enable or disable a VF traffic receive of an Ethernet device.\n@@ -342,7 +344,7 @@ rte_pmd_ixgbe_set_vf_rxmode(uint8_t port, uint16_t vf, uint16_t rx_mask, uint8_t\n *   - (-EINVAL) if bad parameter.\n */\n int\n-rte_pmd_ixgbe_set_vf_rx(uint8_t port, uint16_t vf, uint8_t on);\n+rte_pmd_ixgbe_set_vf_rx(uint16_t port, uint16_t vf, uint8_t on);\n \n /**\n * Enable or disable a VF traffic transmit of the Ethernet device.\n@@ -361,7 +363,7 @@ rte_pmd_ixgbe_set_vf_rx(uint8_t port, uint16_t vf, uint8_t on);\n *   - (-EINVAL) if bad parameter.\n */\n int\n-rte_pmd_ixgbe_set_vf_tx(uint8_t port, uint16_t vf, uint8_t on);\n+rte_pmd_ixgbe_set_vf_tx(uint16_t port, uint16_t vf, uint8_t on);\n \n /**\n * Enable/Disable hardware VF VLAN filtering by an Ethernet device of\n@@ -383,7 +385,8 @@ rte_pmd_ixgbe_set_vf_tx(uint8_t port, uint16_t vf, uint8_t on);\n *   - (-EINVAL) if bad parameter.\n */\n int\n-rte_pmd_ixgbe_set_vf_vlan_filter(uint8_t port, uint16_t vlan, uint64_t vf_mask, uint8_t vlan_on);\n+rte_pmd_ixgbe_set_vf_vlan_filter(uint16_t port, uint16_t vlan,\n+\t\t\t\t uint64_t vf_mask, uint8_t vlan_on);\n \n /**\n  * Set the rate limitation for a vf on an Ethernet device.\n@@ -402,7 +405,8 @@ rte_pmd_ixgbe_set_vf_vlan_filter(uint8_t port, uint16_t vlan, uint64_t vf_mask,\n  *   - (-ENODEV) if *port_id* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_ixgbe_set_vf_rate_limit(uint8_t port, uint16_t vf, uint16_t tx_rate, uint64_t q_msk);\n+int rte_pmd_ixgbe_set_vf_rate_limit(uint16_t port, uint16_t vf,\n+\t\t\t\t     uint16_t tx_rate, uint64_t q_msk);\n \n /**\n  * Set all the TCs' bandwidth weight.\n@@ -423,7 +427,7 @@ int rte_pmd_ixgbe_set_vf_rate_limit(uint8_t port, uint16_t vf, uint16_t tx_rate,\n  *   - (-EINVAL) if bad parameter.\n  *   - (-ENOTSUP) not supported by firmware.\n  */\n-int rte_pmd_ixgbe_set_tc_bw_alloc(uint8_t port,\n+int rte_pmd_ixgbe_set_tc_bw_alloc(uint16_t port,\n \t\t\t\t  uint8_t tc_num,\n \t\t\t\t  uint8_t *bw_weight);\n \n@@ -439,7 +443,7 @@ int rte_pmd_ixgbe_set_tc_bw_alloc(uint8_t port,\n  *   - (-ENOTSUP) if hardware doesn't support.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_ixgbe_bypass_init(uint8_t port);\n+int rte_pmd_ixgbe_bypass_init(uint16_t port);\n \n /**\n  * Return bypass state.\n@@ -456,7 +460,7 @@ int rte_pmd_ixgbe_bypass_init(uint8_t port);\n  *   - (-ENOTSUP) if hardware doesn't support.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_ixgbe_bypass_state_show(uint8_t port, uint32_t *state);\n+int rte_pmd_ixgbe_bypass_state_show(uint16_t port, uint32_t *state);\n \n /**\n  * Set bypass state\n@@ -473,7 +477,7 @@ int rte_pmd_ixgbe_bypass_state_show(uint8_t port, uint32_t *state);\n  *   - (-ENOTSUP) if hardware doesn't support.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_ixgbe_bypass_state_set(uint8_t port, uint32_t *new_state);\n+int rte_pmd_ixgbe_bypass_state_set(uint16_t port, uint32_t *new_state);\n \n /**\n  * Return bypass state when given event occurs.\n@@ -497,7 +501,7 @@ int rte_pmd_ixgbe_bypass_state_set(uint8_t port, uint32_t *new_state);\n  *   - (-ENOTSUP) if hardware doesn't support.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_ixgbe_bypass_event_show(uint8_t port,\n+int rte_pmd_ixgbe_bypass_event_show(uint16_t port,\n \t\t\t\t    uint32_t event,\n \t\t\t\t    uint32_t *state);\n \n@@ -523,7 +527,7 @@ int rte_pmd_ixgbe_bypass_event_show(uint8_t port,\n  *   - (-ENOTSUP) if hardware doesn't support.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_ixgbe_bypass_event_store(uint8_t port,\n+int rte_pmd_ixgbe_bypass_event_store(uint16_t port,\n \t\t\t\t     uint32_t event,\n \t\t\t\t     uint32_t state);\n \n@@ -547,7 +551,7 @@ int rte_pmd_ixgbe_bypass_event_store(uint8_t port,\n  *   - (-ENOTSUP) if hardware doesn't support.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_ixgbe_bypass_wd_timeout_store(uint8_t port, uint32_t timeout);\n+int rte_pmd_ixgbe_bypass_wd_timeout_store(uint16_t port, uint32_t timeout);\n \n /**\n  * Get bypass firmware version.\n@@ -561,7 +565,7 @@ int rte_pmd_ixgbe_bypass_wd_timeout_store(uint8_t port, uint32_t timeout);\n  *   - (-ENOTSUP) if hardware doesn't support.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_ixgbe_bypass_ver_show(uint8_t port, uint32_t *ver);\n+int rte_pmd_ixgbe_bypass_ver_show(uint16_t port, uint32_t *ver);\n \n /**\n  * Return bypass watchdog timeout in seconds\n@@ -583,7 +587,7 @@ int rte_pmd_ixgbe_bypass_ver_show(uint8_t port, uint32_t *ver);\n  *   - (-ENOTSUP) if hardware doesn't support.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_ixgbe_bypass_wd_timeout_show(uint8_t port, uint32_t *wd_timeout);\n+int rte_pmd_ixgbe_bypass_wd_timeout_show(uint16_t port, uint32_t *wd_timeout);\n \n /**\n  * Reset bypass watchdog timer\n@@ -595,7 +599,7 @@ int rte_pmd_ixgbe_bypass_wd_timeout_show(uint8_t port, uint32_t *wd_timeout);\n  *   - (-ENOTSUP) if hardware doesn't support.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_pmd_ixgbe_bypass_wd_reset(uint8_t port);\n+int rte_pmd_ixgbe_bypass_wd_reset(uint16_t port);\n \n \n /**\ndiff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h\nindex 7de1d1086..238a64f43 100644\n--- a/drivers/net/mlx5/mlx5_rxtx.h\n+++ b/drivers/net/mlx5/mlx5_rxtx.h\n@@ -112,14 +112,14 @@ struct rxq {\n \tunsigned int sges_n:2; /* Log 2 of SGEs (max buffers per packet). */\n \tunsigned int cqe_n:4; /* Log 2 of CQ elements. */\n \tunsigned int elts_n:4; /* Log 2 of Mbufs. */\n-\tunsigned int port_id:8;\n \tunsigned int rss_hash:1; /* RSS hash result is enabled. */\n \tunsigned int mark:1; /* Marked flow available on the queue. */\n \tunsigned int pending_err:1; /* CQE error needs to be handled. */\n \tunsigned int trim_elts:1; /* Whether elts needs clean-up. */\n-\tunsigned int :6; /* Remaining bits. */\n+\tunsigned int :14; /* Remaining bits. */\n \tvolatile uint32_t *rq_db;\n \tvolatile uint32_t *cq_db;\n+\tuint16_t port_id;\n \tuint16_t rq_ci;\n \tuint16_t rq_pi;\n \tuint16_t cq_ci;\ndiff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c\nindex 92b03c4cb..f1b968fc2 100644\n--- a/drivers/net/nfp/nfp_net.c\n+++ b/drivers/net/nfp/nfp_net.c\n@@ -1240,12 +1240,12 @@ nfp_net_dev_link_status_print(struct rte_eth_dev *dev)\n \tnfp_net_dev_atomic_read_link_status(dev, &link);\n \tif (link.link_status)\n \t\tRTE_LOG(INFO, PMD, \"Port %d: Link Up - speed %u Mbps - %s\\n\",\n-\t\t\t(int)(dev->data->port_id), (unsigned)link.link_speed,\n+\t\t\tdev->data->port_id, link.link_speed,\n \t\t\tlink.link_duplex == ETH_LINK_FULL_DUPLEX\n \t\t\t? \"full-duplex\" : \"half-duplex\");\n \telse\n \t\tRTE_LOG(INFO, PMD, \" Port %d: Link Down\\n\",\n-\t\t\t(int)(dev->data->port_id));\n+\t\t\tdev->data->port_id);\n \n \tRTE_LOG(INFO, PMD, \"PCI Address: %04d:%02d:%02d:%d\\n\",\n \t\tpci_dev->addr.domain, pci_dev->addr.bus,\n@@ -1549,7 +1549,7 @@ nfp_net_tx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,\n \t\t\t\"tx_free_thresh must be less than the number of TX \"\n \t\t\t\"descriptors. (tx_free_thresh=%u port=%d \"\n \t\t\t\"queue=%d)\\n\", (unsigned int)tx_free_thresh,\n-\t\t\t(int)dev->data->port_id, (int)queue_idx);\n+\t\t\tdev->data->port_id, (int)queue_idx);\n \t\treturn -(EINVAL);\n \t}\n \n@@ -1847,9 +1847,9 @@ nfp_net_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)\n \t\t */\n \t\tnew_mb = rte_pktmbuf_alloc(rxq->mem_pool);\n \t\tif (unlikely(new_mb == NULL)) {\n-\t\t\tRTE_LOG_DP(DEBUG, PMD, \"RX mbuf alloc failed port_id=%u \"\n-\t\t\t\t\"queue_id=%u\\n\", (unsigned)rxq->port_id,\n-\t\t\t\t(unsigned)rxq->qidx);\n+\t\t\tRTE_LOG_DP(DEBUG, PMD,\n+\t\t\t\"RX mbuf alloc failed port_id=%u queue_id=%u\\n\",\n+\t\t\t\trxq->port_id, (unsigned int)rxq->qidx);\n \t\t\tnfp_net_mbuf_alloc_failed(rxq);\n \t\t\tbreak;\n \t\t}\n@@ -1933,7 +1933,7 @@ nfp_net_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)\n \t\treturn nb_hold;\n \n \tPMD_RX_LOG(DEBUG, \"RX  port_id=%u queue_id=%u, %d packets received\\n\",\n-\t\t   (unsigned)rxq->port_id, (unsigned)rxq->qidx, nb_hold);\n+\t\t   rxq->port_id, (unsigned int)rxq->qidx, nb_hold);\n \n \tnb_hold += rxq->nb_rx_hold;\n \n@@ -1944,7 +1944,7 @@ nfp_net_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)\n \trte_wmb();\n \tif (nb_hold > rxq->rx_free_thresh) {\n \t\tPMD_RX_LOG(DEBUG, \"port=%u queue=%u nb_hold=%u avail=%u\\n\",\n-\t\t\t   (unsigned)rxq->port_id, (unsigned)rxq->qidx,\n+\t\t\t   rxq->port_id, (unsigned int)rxq->qidx,\n \t\t\t   (unsigned)nb_hold, (unsigned)avail);\n \t\tnfp_qcp_ptr_add(rxq->qcp_fl, NFP_QCP_WRITE_PTR, nb_hold);\n \t\tnb_hold = 0;\ndiff --git a/drivers/net/nfp/nfp_net_pmd.h b/drivers/net/nfp/nfp_net_pmd.h\nindex eec56bc1c..828d0d35b 100644\n--- a/drivers/net/nfp/nfp_net_pmd.h\n+++ b/drivers/net/nfp/nfp_net_pmd.h\n@@ -250,7 +250,7 @@ struct nfp_net_txq {\n \tuint32_t tx_hthresh;   /* not used by now. Future? */\n \tuint32_t tx_wthresh;   /* not used by now. Future? */\n \tuint32_t txq_flags;    /* not used by now. Future? */\n-\tuint8_t  port_id;\n+\tuint16_t port_id;\n \tint qidx;\n \tint tx_qcidx;\n \t__le64 dma;\ndiff --git a/drivers/net/null/Makefile b/drivers/net/null/Makefile\nindex 77810bced..fdd7c5813 100644\n--- a/drivers/net/null/Makefile\n+++ b/drivers/net/null/Makefile\n@@ -41,7 +41,7 @@ CFLAGS += $(WERROR_FLAGS)\n \n EXPORT_MAP := rte_pmd_null_version.map\n \n-LIBABIVER := 2\n+LIBABIVER := 3\n \n #\n # all source are stored in SRCS-y\ndiff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c\nindex 5aef0591e..fa9313dec 100644\n--- a/drivers/net/null/rte_eth_null.c\n+++ b/drivers/net/null/rte_eth_null.c\n@@ -68,7 +68,7 @@ struct null_queue {\n struct pmd_internals {\n \tunsigned packet_size;\n \tunsigned packet_copy;\n-\tuint8_t port_id;\n+\tuint16_t port_id;\n \n \tstruct null_queue rx_null_queues[RTE_MAX_QUEUES_PER_PORT];\n \tstruct null_queue tx_null_queues[RTE_MAX_QUEUES_PER_PORT];\ndiff --git a/drivers/net/pcap/Makefile b/drivers/net/pcap/Makefile\nindex 7ebd0bef2..f731b126e 100644\n--- a/drivers/net/pcap/Makefile\n+++ b/drivers/net/pcap/Makefile\n@@ -43,7 +43,7 @@ LDLIBS += -lpcap\n \n EXPORT_MAP := rte_pmd_pcap_version.map\n \n-LIBABIVER := 1\n+LIBABIVER := 2\n \n #\n # all source are stored in SRCS-y\ndiff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c\nindex defb3b419..b51f16cbd 100644\n--- a/drivers/net/pcap/rte_eth_pcap.c\n+++ b/drivers/net/pcap/rte_eth_pcap.c\n@@ -75,7 +75,7 @@ struct queue_stat {\n \n struct pcap_rx_queue {\n \tpcap_t *pcap;\n-\tuint8_t in_port;\n+\tuint16_t in_port;\n \tstruct rte_mempool *mb_pool;\n \tstruct queue_stat rx_stat;\n \tchar name[PATH_MAX];\ndiff --git a/drivers/net/qede/qede_if.h b/drivers/net/qede/qede_if.h\nindex 9864bb448..96f0d351d 100644\n--- a/drivers/net/qede/qede_if.h\n+++ b/drivers/net/qede/qede_if.h\n@@ -97,7 +97,7 @@ struct qed_link_output {\n \tuint32_t speed;\t\t/* In Mb/s */\n \tuint32_t adv_speed;\t/* Speed mask */\n \tuint8_t duplex;\t\t/* In DUPLEX defs */\n-\tuint8_t port;\t\t/* In PORT defs */\n+\tuint16_t port;\t\t/* In PORT defs */\n \tbool autoneg;\n \tuint32_t pause_config;\n };\ndiff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c\nindex 464d3d384..e3fa7b0e2 100644\n--- a/drivers/net/ring/rte_eth_ring.c\n+++ b/drivers/net/ring/rte_eth_ring.c\n@@ -394,7 +394,7 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],\n \t};\n \tchar args_str[32] = { 0 };\n \tchar ring_name[32] = { 0 };\n-\tuint8_t port_id = RTE_MAX_ETHPORTS;\n+\tuint16_t port_id = RTE_MAX_ETHPORTS;\n \tint ret;\n \n \t/* do some parameter checking */\ndiff --git a/drivers/net/szedata2/rte_eth_szedata2.c b/drivers/net/szedata2/rte_eth_szedata2.c\nindex 9c0d57cc1..d141acf0e 100644\n--- a/drivers/net/szedata2/rte_eth_szedata2.c\n+++ b/drivers/net/szedata2/rte_eth_szedata2.c\n@@ -71,7 +71,7 @@\n struct szedata2_rx_queue {\n \tstruct szedata *sze;\n \tuint8_t rx_channel;\n-\tuint8_t in_port;\n+\tuint16_t in_port;\n \tstruct rte_mempool *mb_pool;\n \tvolatile uint64_t rx_pkts;\n \tvolatile uint64_t rx_bytes;\ndiff --git a/drivers/net/thunderx/nicvf_struct.h b/drivers/net/thunderx/nicvf_struct.h\nindex 4ee6c3bb0..e54a96f8e 100644\n--- a/drivers/net/thunderx/nicvf_struct.h\n+++ b/drivers/net/thunderx/nicvf_struct.h\n@@ -100,7 +100,7 @@ struct nicvf_rxq {\n \tuint16_t queue_id;\n \tuint16_t precharge_cnt;\n \tuint8_t rx_drop_en;\n-\tuint8_t  port_id;\n+\tuint16_t port_id;\n \tuint8_t  rbptr_offset;\n } __rte_cache_aligned;\n \ndiff --git a/drivers/net/vhost/Makefile b/drivers/net/vhost/Makefile\nindex 3ba8ad64f..258a917c7 100644\n--- a/drivers/net/vhost/Makefile\n+++ b/drivers/net/vhost/Makefile\n@@ -43,7 +43,7 @@ CFLAGS += $(WERROR_FLAGS)\n \n EXPORT_MAP := rte_pmd_vhost_version.map\n \n-LIBABIVER := 1\n+LIBABIVER := 2\n \n #\n # all source are stored in SRCS-y\ndiff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c\nindex 0dac5e60e..04179b4db 100644\n--- a/drivers/net/vhost/rte_eth_vhost.c\n+++ b/drivers/net/vhost/rte_eth_vhost.c\n@@ -105,7 +105,7 @@ struct vhost_queue {\n \trte_atomic32_t while_queuing;\n \tstruct pmd_internal *internal;\n \tstruct rte_mempool *mb_pool;\n-\tuint8_t port;\n+\tuint16_t port;\n \tuint16_t virtqueue_id;\n \tstruct vhost_stats stats;\n };\n@@ -705,7 +705,7 @@ static struct vhost_device_ops vhost_ops = {\n };\n \n int\n-rte_eth_vhost_get_queue_event(uint8_t port_id,\n+rte_eth_vhost_get_queue_event(uint16_t port_id,\n \t\tstruct rte_eth_vhost_queue_event *event)\n {\n \tstruct rte_vhost_vring_state *state;\n@@ -742,7 +742,7 @@ rte_eth_vhost_get_queue_event(uint8_t port_id,\n }\n \n int\n-rte_eth_vhost_get_vid_from_port_id(uint8_t port_id)\n+rte_eth_vhost_get_vid_from_port_id(uint16_t port_id)\n {\n \tstruct internal_list *list;\n \tstruct rte_eth_dev *eth_dev;\ndiff --git a/drivers/net/vhost/rte_eth_vhost.h b/drivers/net/vhost/rte_eth_vhost.h\nindex 39ca77197..948f3c810 100644\n--- a/drivers/net/vhost/rte_eth_vhost.h\n+++ b/drivers/net/vhost/rte_eth_vhost.h\n@@ -69,7 +69,7 @@ struct rte_eth_vhost_queue_event {\n  *  - On success, zero.\n  *  - On failure, a negative value.\n  */\n-int rte_eth_vhost_get_queue_event(uint8_t port_id,\n+int rte_eth_vhost_get_queue_event(uint16_t port_id,\n \t\tstruct rte_eth_vhost_queue_event *event);\n \n /**\n@@ -79,7 +79,7 @@ int rte_eth_vhost_get_queue_event(uint8_t port_id,\n  *  - On success, the 'vid' associated with 'port_id'.\n  *  - On failure, a negative value.\n  */\n-int rte_eth_vhost_get_vid_from_port_id(uint8_t port_id);\n+int rte_eth_vhost_get_vid_from_port_id(uint16_t port_id);\n \n #ifdef __cplusplus\n }\ndiff --git a/drivers/net/virtio/Makefile b/drivers/net/virtio/Makefile\nindex b21b87814..ad4b695a3 100644\n--- a/drivers/net/virtio/Makefile\n+++ b/drivers/net/virtio/Makefile\n@@ -41,7 +41,7 @@ CFLAGS += $(WERROR_FLAGS)\n \n EXPORT_MAP := rte_pmd_virtio_version.map\n \n-LIBABIVER := 1\n+LIBABIVER := 2\n \n #\n # all source are stored in SRCS-y\ndiff --git a/drivers/net/virtio/virtio_pci.h b/drivers/net/virtio/virtio_pci.h\nindex 18caebdd7..330ee94be 100644\n--- a/drivers/net/virtio/virtio_pci.h\n+++ b/drivers/net/virtio/virtio_pci.h\n@@ -260,7 +260,7 @@ struct virtio_hw {\n \tuint8_t\t    use_msix;\n \tuint8_t     modern;\n \tuint8_t     use_simple_rxtx;\n-\tuint8_t     port_id;\n+\tuint16_t    port_id;\n \tuint8_t     mac_addr[ETHER_ADDR_LEN];\n \tuint32_t    notify_off_multiplier;\n \tuint8_t     *isr;\ndiff --git a/drivers/net/virtio/virtio_rxtx.h b/drivers/net/virtio/virtio_rxtx.h\nindex 28f82d6a8..198b2d8fb 100644\n--- a/drivers/net/virtio/virtio_rxtx.h\n+++ b/drivers/net/virtio/virtio_rxtx.h\n@@ -54,7 +54,7 @@ struct virtnet_rx {\n \tstruct rte_mempool *mpool; /**< mempool for mbuf allocation */\n \n \tuint16_t queue_id;   /**< DPDK queue index. */\n-\tuint8_t port_id;     /**< Device port identifier. */\n+\tuint16_t port_id;     /**< Device port identifier. */\n \n \t/* Statistics */\n \tstruct virtnet_stats stats;\n@@ -69,7 +69,7 @@ struct virtnet_tx {\n \tphys_addr_t virtio_net_hdr_mem;  /**< hdr for each xmit packet */\n \n \tuint16_t    queue_id;            /**< DPDK queue index. */\n-\tuint8_t     port_id;             /**< Device port identifier. */\n+\tuint16_t    port_id;             /**< Device port identifier. */\n \n \t/* Statistics */\n \tstruct virtnet_stats stats;\n@@ -82,7 +82,7 @@ struct virtnet_ctl {\n \t/**< memzone to populate hdr. */\n \tconst struct rte_memzone *virtio_net_hdr_mz;\n \tphys_addr_t virtio_net_hdr_mem; /**< hdr for each xmit packet */\n-\tuint8_t port_id;                /**< Device port identifier. */\n+\tuint16_t port_id;               /**< Device port identifier. */\n \tconst struct rte_memzone *mz;   /**< mem zone to populate RX ring. */\n };\n \ndiff --git a/drivers/net/vmxnet3/vmxnet3_ring.h b/drivers/net/vmxnet3/vmxnet3_ring.h\nindex d2e8323ba..a6fa93ac7 100644\n--- a/drivers/net/vmxnet3/vmxnet3_ring.h\n+++ b/drivers/net/vmxnet3/vmxnet3_ring.h\n@@ -144,7 +144,7 @@ typedef struct vmxnet3_tx_queue {\n \tconst struct rte_memzone     *mz;\n \tbool                         stopped;\n \tuint16_t                     queue_id;      /**< Device TX queue index. */\n-\tuint8_t                      port_id;       /**< Device port identifier. */\n+\tuint16_t                     port_id;       /**< Device port identifier. */\n \tuint16_t\t\t     txdata_desc_size;\n } vmxnet3_tx_queue_t;\n \n@@ -179,7 +179,7 @@ typedef struct vmxnet3_rx_queue {\n \tconst struct rte_memzone    *mz;\n \tbool                        stopped;\n \tuint16_t                    queue_id;      /**< Device RX queue index. */\n-\tuint8_t                     port_id;       /**< Device port identifier. */\n+\tuint16_t                    port_id;       /**< Device port identifier. */\n } vmxnet3_rx_queue_t;\n \n #endif /* _VMXNET3_RING_H_ */\ndiff --git a/lib/librte_bitratestats/Makefile b/lib/librte_bitratestats/Makefile\nindex 58a20ea09..a079cced7 100644\n--- a/lib/librte_bitratestats/Makefile\n+++ b/lib/librte_bitratestats/Makefile\n@@ -38,7 +38,7 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3\n \n EXPORT_MAP := rte_bitratestats_version.map\n \n-LIBABIVER := 1\n+LIBABIVER := 2\n \n # all source are stored in SRCS-y\n SRCS-$(CONFIG_RTE_LIBRTE_BITRATE) := rte_bitrate.c\ndiff --git a/lib/librte_bitratestats/rte_bitrate.c b/lib/librte_bitratestats/rte_bitrate.c\nindex 3ceb35166..f373697a7 100644\n--- a/lib/librte_bitratestats/rte_bitrate.c\n+++ b/lib/librte_bitratestats/rte_bitrate.c\n@@ -84,7 +84,7 @@ rte_stats_bitrate_reg(struct rte_stats_bitrates *bitrate_data)\n \n int\n rte_stats_bitrate_calc(struct rte_stats_bitrates *bitrate_data,\n-\tuint8_t port_id)\n+\t\t\tuint16_t port_id)\n {\n \tstruct rte_stats_bitrate *port_data;\n \tstruct rte_eth_stats eth_stats;\ndiff --git a/lib/librte_bitratestats/rte_bitrate.h b/lib/librte_bitratestats/rte_bitrate.h\nindex 15fc270a3..16467221b 100644\n--- a/lib/librte_bitratestats/rte_bitrate.h\n+++ b/lib/librte_bitratestats/rte_bitrate.h\n@@ -85,7 +85,7 @@ int rte_stats_bitrate_reg(struct rte_stats_bitrates *bitrate_data);\n  *  - Negative value on error\n  */\n int rte_stats_bitrate_calc(struct rte_stats_bitrates *bitrate_data,\n-\tuint8_t port_id);\n+\t\t\t   uint16_t port_id);\n \n #ifdef __cplusplus\n }\ndiff --git a/lib/librte_ether/Makefile b/lib/librte_ether/Makefile\nindex 27d9766a8..0bacc8b3f 100644\n--- a/lib/librte_ether/Makefile\n+++ b/lib/librte_ether/Makefile\n@@ -41,7 +41,7 @@ CFLAGS += $(WERROR_FLAGS)\n \n EXPORT_MAP := rte_ethdev_version.map\n \n-LIBABIVER := 6\n+LIBABIVER := 7\n \n SRCS-y += rte_ethdev.c\n SRCS-y += rte_flow.c\ndiff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c\nindex a88916f2a..e756dbc46 100644\n--- a/lib/librte_ether/rte_ethdev.c\n+++ b/lib/librte_ether/rte_ethdev.c\n@@ -138,8 +138,8 @@ enum {\n \tSTAT_QMAP_RX\n };\n \n-uint8_t\n-rte_eth_find_next(uint8_t port_id)\n+uint16_t\n+rte_eth_find_next(uint16_t port_id)\n {\n \twhile (port_id < RTE_MAX_ETHPORTS &&\n \t       rte_eth_devices[port_id].state != RTE_ETH_DEV_ATTACHED)\n@@ -187,7 +187,7 @@ rte_eth_dev_allocated(const char *name)\n \treturn NULL;\n }\n \n-static uint8_t\n+static uint16_t\n rte_eth_dev_find_free_port(void)\n {\n \tunsigned i;\n@@ -200,7 +200,7 @@ rte_eth_dev_find_free_port(void)\n }\n \n static struct rte_eth_dev *\n-eth_dev_get(uint8_t port_id)\n+eth_dev_get(uint16_t port_id)\n {\n \tstruct rte_eth_dev *eth_dev = &rte_eth_devices[port_id];\n \n@@ -216,7 +216,7 @@ eth_dev_get(uint8_t port_id)\n struct rte_eth_dev *\n rte_eth_dev_allocate(const char *name)\n {\n-\tuint8_t port_id;\n+\tuint16_t port_id;\n \tstruct rte_eth_dev *eth_dev;\n \n \tport_id = rte_eth_dev_find_free_port();\n@@ -251,7 +251,7 @@ rte_eth_dev_allocate(const char *name)\n struct rte_eth_dev *\n rte_eth_dev_attach_secondary(const char *name)\n {\n-\tuint8_t i;\n+\tuint16_t i;\n \tstruct rte_eth_dev *eth_dev;\n \n \tif (rte_eth_dev_data == NULL)\n@@ -285,7 +285,7 @@ rte_eth_dev_release_port(struct rte_eth_dev *eth_dev)\n }\n \n int\n-rte_eth_dev_is_valid_port(uint8_t port_id)\n+rte_eth_dev_is_valid_port(uint16_t port_id)\n {\n \tif (port_id >= RTE_MAX_ETHPORTS ||\n \t    (rte_eth_devices[port_id].state != RTE_ETH_DEV_ATTACHED &&\n@@ -296,17 +296,17 @@ rte_eth_dev_is_valid_port(uint8_t port_id)\n }\n \n int\n-rte_eth_dev_socket_id(uint8_t port_id)\n+rte_eth_dev_socket_id(uint16_t port_id)\n {\n \tRTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -1);\n \treturn rte_eth_devices[port_id].data->numa_node;\n }\n \n-uint8_t\n+uint16_t\n rte_eth_dev_count(void)\n {\n-\tuint8_t p;\n-\tuint8_t count;\n+\tuint16_t p;\n+\tuint16_t count;\n \n \tcount = 0;\n \n@@ -317,7 +317,7 @@ rte_eth_dev_count(void)\n }\n \n int\n-rte_eth_dev_get_name_by_port(uint8_t port_id, char *name)\n+rte_eth_dev_get_name_by_port(uint16_t port_id, char *name)\n {\n \tconst char *tmp;\n \n@@ -336,7 +336,7 @@ rte_eth_dev_get_name_by_port(uint8_t port_id, char *name)\n }\n \n int\n-rte_eth_dev_get_port_by_name(const char *name, uint8_t *port_id)\n+rte_eth_dev_get_port_by_name(const char *name, uint16_t *port_id)\n {\n \tint ret;\n \tint i;\n@@ -361,7 +361,7 @@ rte_eth_dev_get_port_by_name(const char *name, uint8_t *port_id)\n }\n \n static int\n-rte_eth_dev_is_detachable(uint8_t port_id)\n+rte_eth_dev_is_detachable(uint16_t port_id)\n {\n \tuint32_t dev_flags;\n \n@@ -377,7 +377,7 @@ rte_eth_dev_is_detachable(uint8_t port_id)\n \n /* attach the new device, then store port_id of the device */\n int\n-rte_eth_dev_attach(const char *devargs, uint8_t *port_id)\n+rte_eth_dev_attach(const char *devargs, uint16_t *port_id)\n {\n \tint ret = -1;\n \tint current = rte_eth_dev_count();\n@@ -423,7 +423,7 @@ rte_eth_dev_attach(const char *devargs, uint8_t *port_id)\n \n /* detach the device, then store the name of the device */\n int\n-rte_eth_dev_detach(uint8_t port_id, char *name)\n+rte_eth_dev_detach(uint16_t port_id, char *name)\n {\n \tint ret = -1;\n \n@@ -501,7 +501,7 @@ rte_eth_dev_rx_queue_config(struct rte_eth_dev *dev, uint16_t nb_queues)\n }\n \n int\n-rte_eth_dev_rx_queue_start(uint8_t port_id, uint16_t rx_queue_id)\n+rte_eth_dev_rx_queue_start(uint16_t port_id, uint16_t rx_queue_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -527,7 +527,7 @@ rte_eth_dev_rx_queue_start(uint8_t port_id, uint16_t rx_queue_id)\n }\n \n int\n-rte_eth_dev_rx_queue_stop(uint8_t port_id, uint16_t rx_queue_id)\n+rte_eth_dev_rx_queue_stop(uint16_t port_id, uint16_t rx_queue_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -553,7 +553,7 @@ rte_eth_dev_rx_queue_stop(uint8_t port_id, uint16_t rx_queue_id)\n }\n \n int\n-rte_eth_dev_tx_queue_start(uint8_t port_id, uint16_t tx_queue_id)\n+rte_eth_dev_tx_queue_start(uint16_t port_id, uint16_t tx_queue_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -579,7 +579,7 @@ rte_eth_dev_tx_queue_start(uint8_t port_id, uint16_t tx_queue_id)\n }\n \n int\n-rte_eth_dev_tx_queue_stop(uint8_t port_id, uint16_t tx_queue_id)\n+rte_eth_dev_tx_queue_stop(uint16_t port_id, uint16_t tx_queue_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -688,7 +688,7 @@ rte_eth_speed_bitflag(uint32_t speed, int duplex)\n }\n \n int\n-rte_eth_dev_configure(uint8_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,\n+rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,\n \t\t      const struct rte_eth_conf *dev_conf)\n {\n \tstruct rte_eth_dev *dev;\n@@ -839,7 +839,7 @@ _rte_eth_dev_reset(struct rte_eth_dev *dev)\n }\n \n static void\n-rte_eth_dev_config_restore(uint8_t port_id)\n+rte_eth_dev_config_restore(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \tstruct rte_eth_dev_info dev_info;\n@@ -894,7 +894,7 @@ rte_eth_dev_config_restore(uint8_t port_id)\n }\n \n int\n-rte_eth_dev_start(uint8_t port_id)\n+rte_eth_dev_start(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \tint diag;\n@@ -906,7 +906,7 @@ rte_eth_dev_start(uint8_t port_id)\n \tRTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->dev_start, -ENOTSUP);\n \n \tif (dev->data->dev_started != 0) {\n-\t\tRTE_PMD_DEBUG_TRACE(\"Device with port_id=%\" PRIu8\n+\t\tRTE_PMD_DEBUG_TRACE(\"Device with port_id=%\" PRIu16\n \t\t\t\" already started\\n\",\n \t\t\tport_id);\n \t\treturn 0;\n@@ -928,7 +928,7 @@ rte_eth_dev_start(uint8_t port_id)\n }\n \n void\n-rte_eth_dev_stop(uint8_t port_id)\n+rte_eth_dev_stop(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -938,7 +938,7 @@ rte_eth_dev_stop(uint8_t port_id)\n \tRTE_FUNC_PTR_OR_RET(*dev->dev_ops->dev_stop);\n \n \tif (dev->data->dev_started == 0) {\n-\t\tRTE_PMD_DEBUG_TRACE(\"Device with port_id=%\" PRIu8\n+\t\tRTE_PMD_DEBUG_TRACE(\"Device with port_id=%\" PRIu16\n \t\t\t\" already stopped\\n\",\n \t\t\tport_id);\n \t\treturn;\n@@ -949,7 +949,7 @@ rte_eth_dev_stop(uint8_t port_id)\n }\n \n int\n-rte_eth_dev_set_link_up(uint8_t port_id)\n+rte_eth_dev_set_link_up(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -962,7 +962,7 @@ rte_eth_dev_set_link_up(uint8_t port_id)\n }\n \n int\n-rte_eth_dev_set_link_down(uint8_t port_id)\n+rte_eth_dev_set_link_down(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -975,7 +975,7 @@ rte_eth_dev_set_link_down(uint8_t port_id)\n }\n \n void\n-rte_eth_dev_close(uint8_t port_id)\n+rte_eth_dev_close(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -995,7 +995,7 @@ rte_eth_dev_close(uint8_t port_id)\n }\n \n int\n-rte_eth_dev_reset(uint8_t port_id)\n+rte_eth_dev_reset(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \tint ret;\n@@ -1012,7 +1012,7 @@ rte_eth_dev_reset(uint8_t port_id)\n }\n \n int\n-rte_eth_rx_queue_setup(uint8_t port_id, uint16_t rx_queue_id,\n+rte_eth_rx_queue_setup(uint16_t port_id, uint16_t rx_queue_id,\n \t\t       uint16_t nb_rx_desc, unsigned int socket_id,\n \t\t       const struct rte_eth_rxconf *rx_conf,\n \t\t       struct rte_mempool *mp)\n@@ -1103,7 +1103,7 @@ rte_eth_rx_queue_setup(uint8_t port_id, uint16_t rx_queue_id,\n }\n \n int\n-rte_eth_tx_queue_setup(uint8_t port_id, uint16_t tx_queue_id,\n+rte_eth_tx_queue_setup(uint16_t port_id, uint16_t tx_queue_id,\n \t\t       uint16_t nb_tx_desc, unsigned int socket_id,\n \t\t       const struct rte_eth_txconf *tx_conf)\n {\n@@ -1207,7 +1207,7 @@ rte_eth_tx_buffer_init(struct rte_eth_dev_tx_buffer *buffer, uint16_t size)\n }\n \n int\n-rte_eth_tx_done_cleanup(uint8_t port_id, uint16_t queue_id, uint32_t free_cnt)\n+rte_eth_tx_done_cleanup(uint16_t port_id, uint16_t queue_id, uint32_t free_cnt)\n {\n \tstruct rte_eth_dev *dev = &rte_eth_devices[port_id];\n \n@@ -1221,7 +1221,7 @@ rte_eth_tx_done_cleanup(uint8_t port_id, uint16_t queue_id, uint32_t free_cnt)\n }\n \n void\n-rte_eth_promiscuous_enable(uint8_t port_id)\n+rte_eth_promiscuous_enable(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -1234,7 +1234,7 @@ rte_eth_promiscuous_enable(uint8_t port_id)\n }\n \n void\n-rte_eth_promiscuous_disable(uint8_t port_id)\n+rte_eth_promiscuous_disable(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -1247,7 +1247,7 @@ rte_eth_promiscuous_disable(uint8_t port_id)\n }\n \n int\n-rte_eth_promiscuous_get(uint8_t port_id)\n+rte_eth_promiscuous_get(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -1258,7 +1258,7 @@ rte_eth_promiscuous_get(uint8_t port_id)\n }\n \n void\n-rte_eth_allmulticast_enable(uint8_t port_id)\n+rte_eth_allmulticast_enable(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -1271,7 +1271,7 @@ rte_eth_allmulticast_enable(uint8_t port_id)\n }\n \n void\n-rte_eth_allmulticast_disable(uint8_t port_id)\n+rte_eth_allmulticast_disable(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -1284,7 +1284,7 @@ rte_eth_allmulticast_disable(uint8_t port_id)\n }\n \n int\n-rte_eth_allmulticast_get(uint8_t port_id)\n+rte_eth_allmulticast_get(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -1309,7 +1309,7 @@ rte_eth_dev_atomic_read_link_status(struct rte_eth_dev *dev,\n }\n \n void\n-rte_eth_link_get(uint8_t port_id, struct rte_eth_link *eth_link)\n+rte_eth_link_get(uint16_t port_id, struct rte_eth_link *eth_link)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -1326,7 +1326,7 @@ rte_eth_link_get(uint8_t port_id, struct rte_eth_link *eth_link)\n }\n \n void\n-rte_eth_link_get_nowait(uint8_t port_id, struct rte_eth_link *eth_link)\n+rte_eth_link_get_nowait(uint16_t port_id, struct rte_eth_link *eth_link)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -1343,7 +1343,7 @@ rte_eth_link_get_nowait(uint8_t port_id, struct rte_eth_link *eth_link)\n }\n \n int\n-rte_eth_stats_get(uint8_t port_id, struct rte_eth_stats *stats)\n+rte_eth_stats_get(uint16_t port_id, struct rte_eth_stats *stats)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -1359,7 +1359,7 @@ rte_eth_stats_get(uint8_t port_id, struct rte_eth_stats *stats)\n }\n \n void\n-rte_eth_stats_reset(uint8_t port_id)\n+rte_eth_stats_reset(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -1372,7 +1372,7 @@ rte_eth_stats_reset(uint8_t port_id)\n }\n \n static int\n-get_xstats_count(uint8_t port_id)\n+get_xstats_count(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \tint count;\n@@ -1401,7 +1401,7 @@ get_xstats_count(uint8_t port_id)\n }\n \n int\n-rte_eth_xstats_get_id_by_name(uint8_t port_id, const char *xstat_name,\n+rte_eth_xstats_get_id_by_name(uint16_t port_id, const char *xstat_name,\n \t\tuint64_t *id)\n {\n \tint cnt_xstats, idx_xstat;\n@@ -1445,7 +1445,7 @@ rte_eth_xstats_get_id_by_name(uint8_t port_id, const char *xstat_name,\n }\n \n int\n-rte_eth_xstats_get_names_by_id(uint8_t port_id,\n+rte_eth_xstats_get_names_by_id(uint16_t port_id,\n \tstruct rte_eth_xstat_name *xstats_names, unsigned int size,\n \tuint64_t *ids)\n {\n@@ -1562,7 +1562,7 @@ rte_eth_xstats_get_names_by_id(uint8_t port_id,\n }\n \n int\n-rte_eth_xstats_get_names(uint8_t port_id,\n+rte_eth_xstats_get_names(uint16_t port_id,\n \tstruct rte_eth_xstat_name *xstats_names,\n \tunsigned int size)\n {\n@@ -1628,8 +1628,8 @@ rte_eth_xstats_get_names(uint8_t port_id,\n \n /* retrieve ethdev extended statistics */\n int\n-rte_eth_xstats_get_by_id(uint8_t port_id, const uint64_t *ids, uint64_t *values,\n-\tunsigned int n)\n+rte_eth_xstats_get_by_id(uint16_t port_id, const uint64_t *ids,\n+\t\t\t uint64_t *values, unsigned int n)\n {\n \t/* If need all xstats */\n \tif (!ids) {\n@@ -1754,7 +1754,7 @@ rte_eth_xstats_get_by_id(uint8_t port_id, const uint64_t *ids, uint64_t *values,\n }\n \n int\n-rte_eth_xstats_get(uint8_t port_id, struct rte_eth_xstat *xstats,\n+rte_eth_xstats_get(uint16_t port_id, struct rte_eth_xstat *xstats,\n \tunsigned int n)\n {\n \tstruct rte_eth_stats eth_stats;\n@@ -1836,7 +1836,7 @@ rte_eth_xstats_get(uint8_t port_id, struct rte_eth_xstat *xstats,\n \n /* reset ethdev extended statistics */\n void\n-rte_eth_xstats_reset(uint8_t port_id)\n+rte_eth_xstats_reset(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -1854,7 +1854,7 @@ rte_eth_xstats_reset(uint8_t port_id)\n }\n \n static int\n-set_queue_stats_mapping(uint8_t port_id, uint16_t queue_id, uint8_t stat_idx,\n+set_queue_stats_mapping(uint16_t port_id, uint16_t queue_id, uint8_t stat_idx,\n \t\tuint8_t is_rx)\n {\n \tstruct rte_eth_dev *dev;\n@@ -1870,7 +1870,7 @@ set_queue_stats_mapping(uint8_t port_id, uint16_t queue_id, uint8_t stat_idx,\n \n \n int\n-rte_eth_dev_set_tx_queue_stats_mapping(uint8_t port_id, uint16_t tx_queue_id,\n+rte_eth_dev_set_tx_queue_stats_mapping(uint16_t port_id, uint16_t tx_queue_id,\n \t\tuint8_t stat_idx)\n {\n \treturn set_queue_stats_mapping(port_id, tx_queue_id, stat_idx,\n@@ -1879,7 +1879,7 @@ rte_eth_dev_set_tx_queue_stats_mapping(uint8_t port_id, uint16_t tx_queue_id,\n \n \n int\n-rte_eth_dev_set_rx_queue_stats_mapping(uint8_t port_id, uint16_t rx_queue_id,\n+rte_eth_dev_set_rx_queue_stats_mapping(uint16_t port_id, uint16_t rx_queue_id,\n \t\tuint8_t stat_idx)\n {\n \treturn set_queue_stats_mapping(port_id, rx_queue_id, stat_idx,\n@@ -1887,7 +1887,7 @@ rte_eth_dev_set_rx_queue_stats_mapping(uint8_t port_id, uint16_t rx_queue_id,\n }\n \n int\n-rte_eth_dev_fw_version_get(uint8_t port_id, char *fw_version, size_t fw_size)\n+rte_eth_dev_fw_version_get(uint16_t port_id, char *fw_version, size_t fw_size)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -1899,7 +1899,7 @@ rte_eth_dev_fw_version_get(uint8_t port_id, char *fw_version, size_t fw_size)\n }\n \n void\n-rte_eth_dev_info_get(uint8_t port_id, struct rte_eth_dev_info *dev_info)\n+rte_eth_dev_info_get(uint16_t port_id, struct rte_eth_dev_info *dev_info)\n {\n \tstruct rte_eth_dev *dev;\n \tconst struct rte_eth_desc_lim lim = {\n@@ -1923,7 +1923,7 @@ rte_eth_dev_info_get(uint8_t port_id, struct rte_eth_dev_info *dev_info)\n }\n \n int\n-rte_eth_dev_get_supported_ptypes(uint8_t port_id, uint32_t ptype_mask,\n+rte_eth_dev_get_supported_ptypes(uint16_t port_id, uint32_t ptype_mask,\n \t\t\t\t uint32_t *ptypes, int num)\n {\n \tint i, j;\n@@ -1949,7 +1949,7 @@ rte_eth_dev_get_supported_ptypes(uint8_t port_id, uint32_t ptype_mask,\n }\n \n void\n-rte_eth_macaddr_get(uint8_t port_id, struct ether_addr *mac_addr)\n+rte_eth_macaddr_get(uint16_t port_id, struct ether_addr *mac_addr)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -1960,7 +1960,7 @@ rte_eth_macaddr_get(uint8_t port_id, struct ether_addr *mac_addr)\n \n \n int\n-rte_eth_dev_get_mtu(uint8_t port_id, uint16_t *mtu)\n+rte_eth_dev_get_mtu(uint16_t port_id, uint16_t *mtu)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -1972,7 +1972,7 @@ rte_eth_dev_get_mtu(uint8_t port_id, uint16_t *mtu)\n }\n \n int\n-rte_eth_dev_set_mtu(uint8_t port_id, uint16_t mtu)\n+rte_eth_dev_set_mtu(uint16_t port_id, uint16_t mtu)\n {\n \tint ret;\n \tstruct rte_eth_dev *dev;\n@@ -1989,7 +1989,7 @@ rte_eth_dev_set_mtu(uint8_t port_id, uint16_t mtu)\n }\n \n int\n-rte_eth_dev_vlan_filter(uint8_t port_id, uint16_t vlan_id, int on)\n+rte_eth_dev_vlan_filter(uint16_t port_id, uint16_t vlan_id, int on)\n {\n \tstruct rte_eth_dev *dev;\n \tint ret;\n@@ -2028,7 +2028,8 @@ rte_eth_dev_vlan_filter(uint8_t port_id, uint16_t vlan_id, int on)\n }\n \n int\n-rte_eth_dev_set_vlan_strip_on_queue(uint8_t port_id, uint16_t rx_queue_id, int on)\n+rte_eth_dev_set_vlan_strip_on_queue(uint16_t port_id, uint16_t rx_queue_id,\n+\t\t\t\t    int on)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -2046,7 +2047,7 @@ rte_eth_dev_set_vlan_strip_on_queue(uint8_t port_id, uint16_t rx_queue_id, int o\n }\n \n int\n-rte_eth_dev_set_vlan_ether_type(uint8_t port_id,\n+rte_eth_dev_set_vlan_ether_type(uint16_t port_id,\n \t\t\t\tenum rte_vlan_type vlan_type,\n \t\t\t\tuint16_t tpid)\n {\n@@ -2060,7 +2061,7 @@ rte_eth_dev_set_vlan_ether_type(uint8_t port_id,\n }\n \n int\n-rte_eth_dev_set_vlan_offload(uint8_t port_id, int offload_mask)\n+rte_eth_dev_set_vlan_offload(uint16_t port_id, int offload_mask)\n {\n \tstruct rte_eth_dev *dev;\n \tint ret = 0;\n@@ -2103,7 +2104,7 @@ rte_eth_dev_set_vlan_offload(uint8_t port_id, int offload_mask)\n }\n \n int\n-rte_eth_dev_get_vlan_offload(uint8_t port_id)\n+rte_eth_dev_get_vlan_offload(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \tint ret = 0;\n@@ -2124,7 +2125,7 @@ rte_eth_dev_get_vlan_offload(uint8_t port_id)\n }\n \n int\n-rte_eth_dev_set_vlan_pvid(uint8_t port_id, uint16_t pvid, int on)\n+rte_eth_dev_set_vlan_pvid(uint16_t port_id, uint16_t pvid, int on)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -2137,7 +2138,7 @@ rte_eth_dev_set_vlan_pvid(uint8_t port_id, uint16_t pvid, int on)\n }\n \n int\n-rte_eth_dev_flow_ctrl_get(uint8_t port_id, struct rte_eth_fc_conf *fc_conf)\n+rte_eth_dev_flow_ctrl_get(uint16_t port_id, struct rte_eth_fc_conf *fc_conf)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -2149,7 +2150,7 @@ rte_eth_dev_flow_ctrl_get(uint8_t port_id, struct rte_eth_fc_conf *fc_conf)\n }\n \n int\n-rte_eth_dev_flow_ctrl_set(uint8_t port_id, struct rte_eth_fc_conf *fc_conf)\n+rte_eth_dev_flow_ctrl_set(uint16_t port_id, struct rte_eth_fc_conf *fc_conf)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -2165,7 +2166,8 @@ rte_eth_dev_flow_ctrl_set(uint8_t port_id, struct rte_eth_fc_conf *fc_conf)\n }\n \n int\n-rte_eth_dev_priority_flow_ctrl_set(uint8_t port_id, struct rte_eth_pfc_conf *pfc_conf)\n+rte_eth_dev_priority_flow_ctrl_set(uint16_t port_id,\n+\t\t\t\t   struct rte_eth_pfc_conf *pfc_conf)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -2231,7 +2233,7 @@ rte_eth_check_reta_entry(struct rte_eth_rss_reta_entry64 *reta_conf,\n }\n \n int\n-rte_eth_dev_rss_reta_update(uint8_t port_id,\n+rte_eth_dev_rss_reta_update(uint16_t port_id,\n \t\t\t    struct rte_eth_rss_reta_entry64 *reta_conf,\n \t\t\t    uint16_t reta_size)\n {\n@@ -2257,7 +2259,7 @@ rte_eth_dev_rss_reta_update(uint8_t port_id,\n }\n \n int\n-rte_eth_dev_rss_reta_query(uint8_t port_id,\n+rte_eth_dev_rss_reta_query(uint16_t port_id,\n \t\t\t   struct rte_eth_rss_reta_entry64 *reta_conf,\n \t\t\t   uint16_t reta_size)\n {\n@@ -2277,7 +2279,8 @@ rte_eth_dev_rss_reta_query(uint8_t port_id,\n }\n \n int\n-rte_eth_dev_rss_hash_update(uint8_t port_id, struct rte_eth_rss_conf *rss_conf)\n+rte_eth_dev_rss_hash_update(uint16_t port_id,\n+\t\t\t    struct rte_eth_rss_conf *rss_conf)\n {\n \tstruct rte_eth_dev *dev;\n \tuint16_t rss_hash_protos;\n@@ -2296,7 +2299,7 @@ rte_eth_dev_rss_hash_update(uint8_t port_id, struct rte_eth_rss_conf *rss_conf)\n }\n \n int\n-rte_eth_dev_rss_hash_conf_get(uint8_t port_id,\n+rte_eth_dev_rss_hash_conf_get(uint16_t port_id,\n \t\t\t      struct rte_eth_rss_conf *rss_conf)\n {\n \tstruct rte_eth_dev *dev;\n@@ -2308,7 +2311,7 @@ rte_eth_dev_rss_hash_conf_get(uint8_t port_id,\n }\n \n int\n-rte_eth_dev_udp_tunnel_port_add(uint8_t port_id,\n+rte_eth_dev_udp_tunnel_port_add(uint16_t port_id,\n \t\t\t\tstruct rte_eth_udp_tunnel *udp_tunnel)\n {\n \tstruct rte_eth_dev *dev;\n@@ -2330,7 +2333,7 @@ rte_eth_dev_udp_tunnel_port_add(uint8_t port_id,\n }\n \n int\n-rte_eth_dev_udp_tunnel_port_delete(uint8_t port_id,\n+rte_eth_dev_udp_tunnel_port_delete(uint16_t port_id,\n \t\t\t\t   struct rte_eth_udp_tunnel *udp_tunnel)\n {\n \tstruct rte_eth_dev *dev;\n@@ -2353,7 +2356,7 @@ rte_eth_dev_udp_tunnel_port_delete(uint8_t port_id,\n }\n \n int\n-rte_eth_led_on(uint8_t port_id)\n+rte_eth_led_on(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -2364,7 +2367,7 @@ rte_eth_led_on(uint8_t port_id)\n }\n \n int\n-rte_eth_led_off(uint8_t port_id)\n+rte_eth_led_off(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -2379,7 +2382,7 @@ rte_eth_led_off(uint8_t port_id)\n  * an empty spot.\n  */\n static int\n-get_mac_addr_index(uint8_t port_id, const struct ether_addr *addr)\n+get_mac_addr_index(uint16_t port_id, const struct ether_addr *addr)\n {\n \tstruct rte_eth_dev_info dev_info;\n \tstruct rte_eth_dev *dev = &rte_eth_devices[port_id];\n@@ -2398,7 +2401,7 @@ get_mac_addr_index(uint8_t port_id, const struct ether_addr *addr)\n static const struct ether_addr null_mac_addr;\n \n int\n-rte_eth_dev_mac_addr_add(uint8_t port_id, struct ether_addr *addr,\n+rte_eth_dev_mac_addr_add(uint16_t port_id, struct ether_addr *addr,\n \t\t\tuint32_t pool)\n {\n \tstruct rte_eth_dev *dev;\n@@ -2451,7 +2454,7 @@ rte_eth_dev_mac_addr_add(uint8_t port_id, struct ether_addr *addr,\n }\n \n int\n-rte_eth_dev_mac_addr_remove(uint8_t port_id, struct ether_addr *addr)\n+rte_eth_dev_mac_addr_remove(uint16_t port_id, struct ether_addr *addr)\n {\n \tstruct rte_eth_dev *dev;\n \tint index;\n@@ -2480,7 +2483,7 @@ rte_eth_dev_mac_addr_remove(uint8_t port_id, struct ether_addr *addr)\n }\n \n int\n-rte_eth_dev_default_mac_addr_set(uint8_t port_id, struct ether_addr *addr)\n+rte_eth_dev_default_mac_addr_set(uint16_t port_id, struct ether_addr *addr)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -2506,7 +2509,7 @@ rte_eth_dev_default_mac_addr_set(uint8_t port_id, struct ether_addr *addr)\n  * an empty spot.\n  */\n static int\n-get_hash_mac_addr_index(uint8_t port_id, const struct ether_addr *addr)\n+get_hash_mac_addr_index(uint16_t port_id, const struct ether_addr *addr)\n {\n \tstruct rte_eth_dev_info dev_info;\n \tstruct rte_eth_dev *dev = &rte_eth_devices[port_id];\n@@ -2525,7 +2528,7 @@ get_hash_mac_addr_index(uint8_t port_id, const struct ether_addr *addr)\n }\n \n int\n-rte_eth_dev_uc_hash_table_set(uint8_t port_id, struct ether_addr *addr,\n+rte_eth_dev_uc_hash_table_set(uint16_t port_id, struct ether_addr *addr,\n \t\t\t\tuint8_t on)\n {\n \tint index;\n@@ -2577,7 +2580,7 @@ rte_eth_dev_uc_hash_table_set(uint8_t port_id, struct ether_addr *addr,\n }\n \n int\n-rte_eth_dev_uc_all_hash_table_set(uint8_t port_id, uint8_t on)\n+rte_eth_dev_uc_all_hash_table_set(uint16_t port_id, uint8_t on)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -2589,7 +2592,7 @@ rte_eth_dev_uc_all_hash_table_set(uint8_t port_id, uint8_t on)\n \treturn (*dev->dev_ops->uc_all_hash_table_set)(dev, on);\n }\n \n-int rte_eth_set_queue_rate_limit(uint8_t port_id, uint16_t queue_idx,\n+int rte_eth_set_queue_rate_limit(uint16_t port_id, uint16_t queue_idx,\n \t\t\t\t\tuint16_t tx_rate)\n {\n \tstruct rte_eth_dev *dev;\n@@ -2620,7 +2623,7 @@ int rte_eth_set_queue_rate_limit(uint8_t port_id, uint16_t queue_idx,\n }\n \n int\n-rte_eth_mirror_rule_set(uint8_t port_id,\n+rte_eth_mirror_rule_set(uint16_t port_id,\n \t\t\tstruct rte_eth_mirror_conf *mirror_conf,\n \t\t\tuint8_t rule_id, uint8_t on)\n {\n@@ -2658,7 +2661,7 @@ rte_eth_mirror_rule_set(uint8_t port_id,\n }\n \n int\n-rte_eth_mirror_rule_reset(uint8_t port_id, uint8_t rule_id)\n+rte_eth_mirror_rule_reset(uint16_t port_id, uint8_t rule_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -2671,7 +2674,7 @@ rte_eth_mirror_rule_reset(uint8_t port_id, uint8_t rule_id)\n }\n \n int\n-rte_eth_dev_callback_register(uint8_t port_id,\n+rte_eth_dev_callback_register(uint16_t port_id,\n \t\t\tenum rte_eth_event_type event,\n \t\t\trte_eth_dev_cb_fn cb_fn, void *cb_arg)\n {\n@@ -2711,7 +2714,7 @@ rte_eth_dev_callback_register(uint8_t port_id,\n }\n \n int\n-rte_eth_dev_callback_unregister(uint8_t port_id,\n+rte_eth_dev_callback_unregister(uint16_t port_id,\n \t\t\tenum rte_eth_event_type event,\n \t\t\trte_eth_dev_cb_fn cb_fn, void *cb_arg)\n {\n@@ -2783,7 +2786,7 @@ _rte_eth_dev_callback_process(struct rte_eth_dev *dev,\n }\n \n int\n-rte_eth_dev_rx_intr_ctl(uint8_t port_id, int epfd, int op, void *data)\n+rte_eth_dev_rx_intr_ctl(uint16_t port_id, int epfd, int op, void *data)\n {\n \tuint32_t vec;\n \tstruct rte_eth_dev *dev;\n@@ -2844,7 +2847,7 @@ rte_eth_dma_zone_reserve(const struct rte_eth_dev *dev, const char *ring_name,\n }\n \n int\n-rte_eth_dev_rx_intr_ctl_q(uint8_t port_id, uint16_t queue_id,\n+rte_eth_dev_rx_intr_ctl_q(uint16_t port_id, uint16_t queue_id,\n \t\t\t  int epfd, int op, void *data)\n {\n \tuint32_t vec;\n@@ -2884,7 +2887,7 @@ rte_eth_dev_rx_intr_ctl_q(uint8_t port_id, uint16_t queue_id,\n }\n \n int\n-rte_eth_dev_rx_intr_enable(uint8_t port_id,\n+rte_eth_dev_rx_intr_enable(uint16_t port_id,\n \t\t\t   uint16_t queue_id)\n {\n \tstruct rte_eth_dev *dev;\n@@ -2898,7 +2901,7 @@ rte_eth_dev_rx_intr_enable(uint8_t port_id,\n }\n \n int\n-rte_eth_dev_rx_intr_disable(uint8_t port_id,\n+rte_eth_dev_rx_intr_disable(uint16_t port_id,\n \t\t\t    uint16_t queue_id)\n {\n \tstruct rte_eth_dev *dev;\n@@ -2913,7 +2916,8 @@ rte_eth_dev_rx_intr_disable(uint8_t port_id,\n \n \n int\n-rte_eth_dev_filter_supported(uint8_t port_id, enum rte_filter_type filter_type)\n+rte_eth_dev_filter_supported(uint16_t port_id,\n+\t\t\t     enum rte_filter_type filter_type)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -2926,7 +2930,7 @@ rte_eth_dev_filter_supported(uint8_t port_id, enum rte_filter_type filter_type)\n }\n \n int\n-rte_eth_dev_filter_ctrl(uint8_t port_id, enum rte_filter_type filter_type,\n+rte_eth_dev_filter_ctrl(uint16_t port_id, enum rte_filter_type filter_type,\n \t\t       enum rte_filter_op filter_op, void *arg)\n {\n \tstruct rte_eth_dev *dev;\n@@ -2939,7 +2943,7 @@ rte_eth_dev_filter_ctrl(uint8_t port_id, enum rte_filter_type filter_type,\n }\n \n void *\n-rte_eth_add_rx_callback(uint8_t port_id, uint16_t queue_id,\n+rte_eth_add_rx_callback(uint16_t port_id, uint16_t queue_id,\n \t\trte_rx_callback_fn fn, void *user_param)\n {\n #ifndef RTE_ETHDEV_RXTX_CALLBACKS\n@@ -2981,7 +2985,7 @@ rte_eth_add_rx_callback(uint8_t port_id, uint16_t queue_id,\n }\n \n void *\n-rte_eth_add_first_rx_callback(uint8_t port_id, uint16_t queue_id,\n+rte_eth_add_first_rx_callback(uint16_t port_id, uint16_t queue_id,\n \t\trte_rx_callback_fn fn, void *user_param)\n {\n #ifndef RTE_ETHDEV_RXTX_CALLBACKS\n@@ -3016,7 +3020,7 @@ rte_eth_add_first_rx_callback(uint8_t port_id, uint16_t queue_id,\n }\n \n void *\n-rte_eth_add_tx_callback(uint8_t port_id, uint16_t queue_id,\n+rte_eth_add_tx_callback(uint16_t port_id, uint16_t queue_id,\n \t\trte_tx_callback_fn fn, void *user_param)\n {\n #ifndef RTE_ETHDEV_RXTX_CALLBACKS\n@@ -3059,7 +3063,7 @@ rte_eth_add_tx_callback(uint8_t port_id, uint16_t queue_id,\n }\n \n int\n-rte_eth_remove_rx_callback(uint8_t port_id, uint16_t queue_id,\n+rte_eth_remove_rx_callback(uint16_t port_id, uint16_t queue_id,\n \t\tstruct rte_eth_rxtx_callback *user_cb)\n {\n #ifndef RTE_ETHDEV_RXTX_CALLBACKS\n@@ -3093,7 +3097,7 @@ rte_eth_remove_rx_callback(uint8_t port_id, uint16_t queue_id,\n }\n \n int\n-rte_eth_remove_tx_callback(uint8_t port_id, uint16_t queue_id,\n+rte_eth_remove_tx_callback(uint16_t port_id, uint16_t queue_id,\n \t\tstruct rte_eth_rxtx_callback *user_cb)\n {\n #ifndef RTE_ETHDEV_RXTX_CALLBACKS\n@@ -3127,7 +3131,7 @@ rte_eth_remove_tx_callback(uint8_t port_id, uint16_t queue_id,\n }\n \n int\n-rte_eth_rx_queue_info_get(uint8_t port_id, uint16_t queue_id,\n+rte_eth_rx_queue_info_get(uint16_t port_id, uint16_t queue_id,\n \tstruct rte_eth_rxq_info *qinfo)\n {\n \tstruct rte_eth_dev *dev;\n@@ -3151,7 +3155,7 @@ rte_eth_rx_queue_info_get(uint8_t port_id, uint16_t queue_id,\n }\n \n int\n-rte_eth_tx_queue_info_get(uint8_t port_id, uint16_t queue_id,\n+rte_eth_tx_queue_info_get(uint16_t port_id, uint16_t queue_id,\n \tstruct rte_eth_txq_info *qinfo)\n {\n \tstruct rte_eth_dev *dev;\n@@ -3175,7 +3179,7 @@ rte_eth_tx_queue_info_get(uint8_t port_id, uint16_t queue_id,\n }\n \n int\n-rte_eth_dev_set_mc_addr_list(uint8_t port_id,\n+rte_eth_dev_set_mc_addr_list(uint16_t port_id,\n \t\t\t     struct ether_addr *mc_addr_set,\n \t\t\t     uint32_t nb_mc_addr)\n {\n@@ -3189,7 +3193,7 @@ rte_eth_dev_set_mc_addr_list(uint8_t port_id,\n }\n \n int\n-rte_eth_timesync_enable(uint8_t port_id)\n+rte_eth_timesync_enable(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -3201,7 +3205,7 @@ rte_eth_timesync_enable(uint8_t port_id)\n }\n \n int\n-rte_eth_timesync_disable(uint8_t port_id)\n+rte_eth_timesync_disable(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -3213,7 +3217,7 @@ rte_eth_timesync_disable(uint8_t port_id)\n }\n \n int\n-rte_eth_timesync_read_rx_timestamp(uint8_t port_id, struct timespec *timestamp,\n+rte_eth_timesync_read_rx_timestamp(uint16_t port_id, struct timespec *timestamp,\n \t\t\t\t   uint32_t flags)\n {\n \tstruct rte_eth_dev *dev;\n@@ -3226,7 +3230,8 @@ rte_eth_timesync_read_rx_timestamp(uint8_t port_id, struct timespec *timestamp,\n }\n \n int\n-rte_eth_timesync_read_tx_timestamp(uint8_t port_id, struct timespec *timestamp)\n+rte_eth_timesync_read_tx_timestamp(uint16_t port_id,\n+\t\t\t\t   struct timespec *timestamp)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -3238,7 +3243,7 @@ rte_eth_timesync_read_tx_timestamp(uint8_t port_id, struct timespec *timestamp)\n }\n \n int\n-rte_eth_timesync_adjust_time(uint8_t port_id, int64_t delta)\n+rte_eth_timesync_adjust_time(uint16_t port_id, int64_t delta)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -3250,7 +3255,7 @@ rte_eth_timesync_adjust_time(uint8_t port_id, int64_t delta)\n }\n \n int\n-rte_eth_timesync_read_time(uint8_t port_id, struct timespec *timestamp)\n+rte_eth_timesync_read_time(uint16_t port_id, struct timespec *timestamp)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -3262,7 +3267,7 @@ rte_eth_timesync_read_time(uint8_t port_id, struct timespec *timestamp)\n }\n \n int\n-rte_eth_timesync_write_time(uint8_t port_id, const struct timespec *timestamp)\n+rte_eth_timesync_write_time(uint16_t port_id, const struct timespec *timestamp)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -3274,7 +3279,7 @@ rte_eth_timesync_write_time(uint8_t port_id, const struct timespec *timestamp)\n }\n \n int\n-rte_eth_dev_get_reg_info(uint8_t port_id, struct rte_dev_reg_info *info)\n+rte_eth_dev_get_reg_info(uint16_t port_id, struct rte_dev_reg_info *info)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -3286,7 +3291,7 @@ rte_eth_dev_get_reg_info(uint8_t port_id, struct rte_dev_reg_info *info)\n }\n \n int\n-rte_eth_dev_get_eeprom_length(uint8_t port_id)\n+rte_eth_dev_get_eeprom_length(uint16_t port_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -3298,7 +3303,7 @@ rte_eth_dev_get_eeprom_length(uint8_t port_id)\n }\n \n int\n-rte_eth_dev_get_eeprom(uint8_t port_id, struct rte_dev_eeprom_info *info)\n+rte_eth_dev_get_eeprom(uint16_t port_id, struct rte_dev_eeprom_info *info)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -3310,7 +3315,7 @@ rte_eth_dev_get_eeprom(uint8_t port_id, struct rte_dev_eeprom_info *info)\n }\n \n int\n-rte_eth_dev_set_eeprom(uint8_t port_id, struct rte_dev_eeprom_info *info)\n+rte_eth_dev_set_eeprom(uint16_t port_id, struct rte_dev_eeprom_info *info)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -3322,7 +3327,7 @@ rte_eth_dev_set_eeprom(uint8_t port_id, struct rte_dev_eeprom_info *info)\n }\n \n int\n-rte_eth_dev_get_dcb_info(uint8_t port_id,\n+rte_eth_dev_get_dcb_info(uint16_t port_id,\n \t\t\t     struct rte_eth_dcb_info *dcb_info)\n {\n \tstruct rte_eth_dev *dev;\n@@ -3337,7 +3342,7 @@ rte_eth_dev_get_dcb_info(uint8_t port_id,\n }\n \n int\n-rte_eth_dev_l2_tunnel_eth_type_conf(uint8_t port_id,\n+rte_eth_dev_l2_tunnel_eth_type_conf(uint16_t port_id,\n \t\t\t\t    struct rte_eth_l2_tunnel_conf *l2_tunnel)\n {\n \tstruct rte_eth_dev *dev;\n@@ -3360,7 +3365,7 @@ rte_eth_dev_l2_tunnel_eth_type_conf(uint8_t port_id,\n }\n \n int\n-rte_eth_dev_l2_tunnel_offload_set(uint8_t port_id,\n+rte_eth_dev_l2_tunnel_offload_set(uint16_t port_id,\n \t\t\t\t  struct rte_eth_l2_tunnel_conf *l2_tunnel,\n \t\t\t\t  uint32_t mask,\n \t\t\t\t  uint8_t en)\n@@ -3404,7 +3409,7 @@ rte_eth_dev_adjust_nb_desc(uint16_t *nb_desc,\n }\n \n int\n-rte_eth_dev_adjust_nb_rx_tx_desc(uint8_t port_id,\n+rte_eth_dev_adjust_nb_rx_tx_desc(uint16_t port_id,\n \t\t\t\t uint16_t *nb_rx_desc,\n \t\t\t\t uint16_t *nb_tx_desc)\n {\ndiff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h\nindex 99cdd54d4..34f729ab8 100644\n--- a/lib/librte_ether/rte_ethdev.h\n+++ b/lib/librte_ether/rte_ethdev.h\n@@ -1572,7 +1572,7 @@ struct eth_dev_ops {\n  * @return\n  *   The number of packets returned to the user.\n  */\n-typedef uint16_t (*rte_rx_callback_fn)(uint8_t port, uint16_t queue,\n+typedef uint16_t (*rte_rx_callback_fn)(uint16_t port, uint16_t queue,\n \tstruct rte_mbuf *pkts[], uint16_t nb_pkts, uint16_t max_pkts,\n \tvoid *user_param);\n \n@@ -1596,7 +1596,7 @@ typedef uint16_t (*rte_rx_callback_fn)(uint8_t port, uint16_t queue,\n  * @return\n  *   The number of packets to be written to the NIC.\n  */\n-typedef uint16_t (*rte_tx_callback_fn)(uint8_t port, uint16_t queue,\n+typedef uint16_t (*rte_tx_callback_fn)(uint16_t port, uint16_t queue,\n \tstruct rte_mbuf *pkts[], uint16_t nb_pkts, void *user_param);\n \n /**\n@@ -1699,7 +1699,7 @@ struct rte_eth_dev_data {\n \t/** bitmap array of associating Ethernet MAC addresses to pools */\n \tstruct ether_addr* hash_mac_addrs;\n \t/** Device Ethernet MAC addresses of hash filtering. */\n-\tuint8_t port_id;           /**< Device [external] port identifier. */\n+\tuint16_t port_id;           /**< Device [external] port identifier. */\n \t__extension__\n \tuint8_t promiscuous   : 1, /**< RX promiscuous mode ON(1) / OFF(0). */\n \t\tscattered_rx : 1,  /**< RX of scattered packets is ON(1) / OFF(0) */\n@@ -1741,7 +1741,7 @@ extern struct rte_eth_dev rte_eth_devices[];\n  * @return\n  *   Next valid port id, RTE_MAX_ETHPORTS if there is none.\n  */\n-uint8_t rte_eth_find_next(uint8_t port_id);\n+uint16_t rte_eth_find_next(uint16_t port_id);\n \n /**\n  * Macro to iterate over all enabled ethdev ports.\n@@ -1764,7 +1764,7 @@ uint8_t rte_eth_find_next(uint8_t port_id);\n  * @return\n  *   - The total number of usable Ethernet devices.\n  */\n-uint8_t rte_eth_dev_count(void);\n+uint16_t rte_eth_dev_count(void);\n \n /**\n  * @internal\n@@ -1825,7 +1825,7 @@ int rte_eth_dev_release_port(struct rte_eth_dev *eth_dev);\n  * @return\n  *  0 on success and port_id is filled, negative on error\n  */\n-int rte_eth_dev_attach(const char *devargs, uint8_t *port_id);\n+int rte_eth_dev_attach(const char *devargs, uint16_t *port_id);\n \n /**\n  * Detach a Ethernet device specified by port identifier.\n@@ -1840,7 +1840,7 @@ int rte_eth_dev_attach(const char *devargs, uint8_t *port_id);\n  * @return\n  *  0 on success and devname is filled, negative on error\n  */\n-int rte_eth_dev_detach(uint8_t port_id, char *devname);\n+int rte_eth_dev_detach(uint16_t port_id, char *devname);\n \n /**\n  * Convert a numerical speed in Mbps to a bitmap flag that can be used in\n@@ -1884,7 +1884,7 @@ uint32_t rte_eth_speed_bitflag(uint32_t speed, int duplex);\n  *   - 0: Success, device configured.\n  *   - <0: Error code returned by the driver configuration function.\n  */\n-int rte_eth_dev_configure(uint8_t port_id, uint16_t nb_rx_queue,\n+int rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_queue,\n \t\tuint16_t nb_tx_queue, const struct rte_eth_conf *eth_conf);\n \n /**\n@@ -1939,7 +1939,7 @@ void _rte_eth_dev_reset(struct rte_eth_dev *dev);\n  *      allocate network memory buffers from the memory pool when\n  *      initializing receive descriptors.\n  */\n-int rte_eth_rx_queue_setup(uint8_t port_id, uint16_t rx_queue_id,\n+int rte_eth_rx_queue_setup(uint16_t port_id, uint16_t rx_queue_id,\n \t\tuint16_t nb_rx_desc, unsigned int socket_id,\n \t\tconst struct rte_eth_rxconf *rx_conf,\n \t\tstruct rte_mempool *mb_pool);\n@@ -1987,7 +1987,7 @@ int rte_eth_rx_queue_setup(uint8_t port_id, uint16_t rx_queue_id,\n  *   - 0: Success, the transmit queue is correctly set up.\n  *   - -ENOMEM: Unable to allocate the transmit ring descriptors.\n  */\n-int rte_eth_tx_queue_setup(uint8_t port_id, uint16_t tx_queue_id,\n+int rte_eth_tx_queue_setup(uint16_t port_id, uint16_t tx_queue_id,\n \t\tuint16_t nb_tx_desc, unsigned int socket_id,\n \t\tconst struct rte_eth_txconf *tx_conf);\n \n@@ -2001,7 +2001,7 @@ int rte_eth_tx_queue_setup(uint8_t port_id, uint16_t tx_queue_id,\n  *   a default of zero if the socket could not be determined.\n  *   -1 is returned is the port_id value is out of range.\n  */\n-int rte_eth_dev_socket_id(uint8_t port_id);\n+int rte_eth_dev_socket_id(uint16_t port_id);\n \n /**\n  * Check if port_id of device is attached\n@@ -2012,7 +2012,7 @@ int rte_eth_dev_socket_id(uint8_t port_id);\n  *   - 0 if port is out of range or not attached\n  *   - 1 if device is attached\n  */\n-int rte_eth_dev_is_valid_port(uint8_t port_id);\n+int rte_eth_dev_is_valid_port(uint16_t port_id);\n \n /**\n  * Start specified RX queue of a port. It is used when rx_deferred_start\n@@ -2029,7 +2029,7 @@ int rte_eth_dev_is_valid_port(uint8_t port_id);\n  *   - -EINVAL: The port_id or the queue_id out of range.\n  *   - -ENOTSUP: The function not supported in PMD driver.\n  */\n-int rte_eth_dev_rx_queue_start(uint8_t port_id, uint16_t rx_queue_id);\n+int rte_eth_dev_rx_queue_start(uint16_t port_id, uint16_t rx_queue_id);\n \n /**\n  * Stop specified RX queue of a port\n@@ -2045,7 +2045,7 @@ int rte_eth_dev_rx_queue_start(uint8_t port_id, uint16_t rx_queue_id);\n  *   - -EINVAL: The port_id or the queue_id out of range.\n  *   - -ENOTSUP: The function not supported in PMD driver.\n  */\n-int rte_eth_dev_rx_queue_stop(uint8_t port_id, uint16_t rx_queue_id);\n+int rte_eth_dev_rx_queue_stop(uint16_t port_id, uint16_t rx_queue_id);\n \n /**\n  * Start TX for specified queue of a port. It is used when tx_deferred_start\n@@ -2062,7 +2062,7 @@ int rte_eth_dev_rx_queue_stop(uint8_t port_id, uint16_t rx_queue_id);\n  *   - -EINVAL: The port_id or the queue_id out of range.\n  *   - -ENOTSUP: The function not supported in PMD driver.\n  */\n-int rte_eth_dev_tx_queue_start(uint8_t port_id, uint16_t tx_queue_id);\n+int rte_eth_dev_tx_queue_start(uint16_t port_id, uint16_t tx_queue_id);\n \n /**\n  * Stop specified TX queue of a port\n@@ -2078,7 +2078,7 @@ int rte_eth_dev_tx_queue_start(uint8_t port_id, uint16_t tx_queue_id);\n  *   - -EINVAL: The port_id or the queue_id out of range.\n  *   - -ENOTSUP: The function not supported in PMD driver.\n  */\n-int rte_eth_dev_tx_queue_stop(uint8_t port_id, uint16_t tx_queue_id);\n+int rte_eth_dev_tx_queue_stop(uint16_t port_id, uint16_t tx_queue_id);\n \n \n \n@@ -2097,7 +2097,7 @@ int rte_eth_dev_tx_queue_stop(uint8_t port_id, uint16_t tx_queue_id);\n  *   - 0: Success, Ethernet device started.\n  *   - <0: Error code of the driver device start function.\n  */\n-int rte_eth_dev_start(uint8_t port_id);\n+int rte_eth_dev_start(uint16_t port_id);\n \n /**\n  * Stop an Ethernet device. The device can be restarted with a call to\n@@ -2106,7 +2106,7 @@ int rte_eth_dev_start(uint8_t port_id);\n  * @param port_id\n  *   The port identifier of the Ethernet device.\n  */\n-void rte_eth_dev_stop(uint8_t port_id);\n+void rte_eth_dev_stop(uint16_t port_id);\n \n \n /**\n@@ -2121,7 +2121,7 @@ void rte_eth_dev_stop(uint8_t port_id);\n  *   - 0: Success, Ethernet device linked up.\n  *   - <0: Error code of the driver device link up function.\n  */\n-int rte_eth_dev_set_link_up(uint8_t port_id);\n+int rte_eth_dev_set_link_up(uint16_t port_id);\n \n /**\n  * Link down an Ethernet device.\n@@ -2132,7 +2132,7 @@ int rte_eth_dev_set_link_up(uint8_t port_id);\n  * @param port_id\n  *   The port identifier of the Ethernet device.\n  */\n-int rte_eth_dev_set_link_down(uint8_t port_id);\n+int rte_eth_dev_set_link_down(uint16_t port_id);\n \n /**\n  * Close a stopped Ethernet device. The device cannot be restarted!\n@@ -2142,7 +2142,7 @@ int rte_eth_dev_set_link_down(uint8_t port_id);\n  * @param port_id\n  *   The port identifier of the Ethernet device.\n  */\n-void rte_eth_dev_close(uint8_t port_id);\n+void rte_eth_dev_close(uint16_t port_id);\n \n /**\n  * Reset a Ethernet device and keep its port id.\n@@ -2172,7 +2172,7 @@ void rte_eth_dev_close(uint8_t port_id);\n  * @param port_id\n  *   The port identifier of the Ethernet device.\n  */\n-int rte_eth_dev_reset(uint8_t port_id);\n+int rte_eth_dev_reset(uint16_t port_id);\n \n /**\n  * Enable receipt in promiscuous mode for an Ethernet device.\n@@ -2180,7 +2180,7 @@ int rte_eth_dev_reset(uint8_t port_id);\n  * @param port_id\n  *   The port identifier of the Ethernet device.\n  */\n-void rte_eth_promiscuous_enable(uint8_t port_id);\n+void rte_eth_promiscuous_enable(uint16_t port_id);\n \n /**\n  * Disable receipt in promiscuous mode for an Ethernet device.\n@@ -2188,7 +2188,7 @@ void rte_eth_promiscuous_enable(uint8_t port_id);\n  * @param port_id\n  *   The port identifier of the Ethernet device.\n  */\n-void rte_eth_promiscuous_disable(uint8_t port_id);\n+void rte_eth_promiscuous_disable(uint16_t port_id);\n \n /**\n  * Return the value of promiscuous mode for an Ethernet device.\n@@ -2200,7 +2200,7 @@ void rte_eth_promiscuous_disable(uint8_t port_id);\n  *   - (0) if promiscuous is disabled.\n  *   - (-1) on error\n  */\n-int rte_eth_promiscuous_get(uint8_t port_id);\n+int rte_eth_promiscuous_get(uint16_t port_id);\n \n /**\n  * Enable the receipt of any multicast frame by an Ethernet device.\n@@ -2208,7 +2208,7 @@ int rte_eth_promiscuous_get(uint8_t port_id);\n  * @param port_id\n  *   The port identifier of the Ethernet device.\n  */\n-void rte_eth_allmulticast_enable(uint8_t port_id);\n+void rte_eth_allmulticast_enable(uint16_t port_id);\n \n /**\n  * Disable the receipt of all multicast frames by an Ethernet device.\n@@ -2216,7 +2216,7 @@ void rte_eth_allmulticast_enable(uint8_t port_id);\n  * @param port_id\n  *   The port identifier of the Ethernet device.\n  */\n-void rte_eth_allmulticast_disable(uint8_t port_id);\n+void rte_eth_allmulticast_disable(uint16_t port_id);\n \n /**\n  * Return the value of allmulticast mode for an Ethernet device.\n@@ -2228,7 +2228,7 @@ void rte_eth_allmulticast_disable(uint8_t port_id);\n  *   - (0) if allmulticast is disabled.\n  *   - (-1) on error\n  */\n-int rte_eth_allmulticast_get(uint8_t port_id);\n+int rte_eth_allmulticast_get(uint16_t port_id);\n \n /**\n  * Retrieve the status (ON/OFF), the speed (in Mbps) and the mode (HALF-DUPLEX\n@@ -2241,7 +2241,7 @@ int rte_eth_allmulticast_get(uint8_t port_id);\n  *   A pointer to an *rte_eth_link* structure to be filled with\n  *   the status, the speed and the mode of the Ethernet device link.\n  */\n-void rte_eth_link_get(uint8_t port_id, struct rte_eth_link *link);\n+void rte_eth_link_get(uint16_t port_id, struct rte_eth_link *link);\n \n /**\n  * Retrieve the status (ON/OFF), the speed (in Mbps) and the mode (HALF-DUPLEX\n@@ -2254,7 +2254,7 @@ void rte_eth_link_get(uint8_t port_id, struct rte_eth_link *link);\n  *   A pointer to an *rte_eth_link* structure to be filled with\n  *   the status, the speed and the mode of the Ethernet device link.\n  */\n-void rte_eth_link_get_nowait(uint8_t port_id, struct rte_eth_link *link);\n+void rte_eth_link_get_nowait(uint16_t port_id, struct rte_eth_link *link);\n \n /**\n  * Retrieve the general I/O statistics of an Ethernet device.\n@@ -2273,7 +2273,7 @@ void rte_eth_link_get_nowait(uint8_t port_id, struct rte_eth_link *link);\n  * @return\n  *   Zero if successful. Non-zero otherwise.\n  */\n-int rte_eth_stats_get(uint8_t port_id, struct rte_eth_stats *stats);\n+int rte_eth_stats_get(uint16_t port_id, struct rte_eth_stats *stats);\n \n /**\n  * Reset the general I/O statistics of an Ethernet device.\n@@ -2281,7 +2281,7 @@ int rte_eth_stats_get(uint8_t port_id, struct rte_eth_stats *stats);\n  * @param port_id\n  *   The port identifier of the Ethernet device.\n  */\n-void rte_eth_stats_reset(uint8_t port_id);\n+void rte_eth_stats_reset(uint16_t port_id);\n \n /**\n  * Retrieve names of extended statistics of an Ethernet device.\n@@ -2303,7 +2303,7 @@ void rte_eth_stats_reset(uint8_t port_id);\n  *     shall not be used by the caller.\n  *   - A negative value on error (invalid port id).\n  */\n-int rte_eth_xstats_get_names(uint8_t port_id,\n+int rte_eth_xstats_get_names(uint16_t port_id,\n \t\tstruct rte_eth_xstat_name *xstats_names,\n \t\tunsigned int size);\n \n@@ -2329,7 +2329,7 @@ int rte_eth_xstats_get_names(uint8_t port_id,\n  *     shall not be used by the caller.\n  *   - A negative value on error (invalid port id).\n  */\n-int rte_eth_xstats_get(uint8_t port_id, struct rte_eth_xstat *xstats,\n+int rte_eth_xstats_get(uint16_t port_id, struct rte_eth_xstat *xstats,\n \t\tunsigned int n);\n \n /**\n@@ -2355,7 +2355,7 @@ int rte_eth_xstats_get(uint8_t port_id, struct rte_eth_xstat *xstats,\n  *   - A negative value on error (invalid port id).\n  */\n int\n-rte_eth_xstats_get_names_by_id(uint8_t port_id,\n+rte_eth_xstats_get_names_by_id(uint16_t port_id,\n \tstruct rte_eth_xstat_name *xstats_names, unsigned int size,\n \tuint64_t *ids);\n \n@@ -2382,7 +2382,7 @@ rte_eth_xstats_get_names_by_id(uint8_t port_id,\n  *     shall not be used by the caller.\n  *   - A negative value on error (invalid port id).\n  */\n-int rte_eth_xstats_get_by_id(uint8_t port_id, const uint64_t *ids,\n+int rte_eth_xstats_get_by_id(uint16_t port_id, const uint64_t *ids,\n \t\t\t     uint64_t *values, unsigned int n);\n \n /**\n@@ -2402,7 +2402,7 @@ int rte_eth_xstats_get_by_id(uint8_t port_id, const uint64_t *ids,\n  *    -ENODEV for invalid port_id,\n  *    -EINVAL if the xstat_name doesn't exist in port_id\n  */\n-int rte_eth_xstats_get_id_by_name(uint8_t port_id, const char *xstat_name,\n+int rte_eth_xstats_get_id_by_name(uint16_t port_id, const char *xstat_name,\n \t\tuint64_t *id);\n \n /**\n@@ -2411,7 +2411,7 @@ int rte_eth_xstats_get_id_by_name(uint8_t port_id, const char *xstat_name,\n  * @param port_id\n  *   The port identifier of the Ethernet device.\n  */\n-void rte_eth_xstats_reset(uint8_t port_id);\n+void rte_eth_xstats_reset(uint16_t port_id);\n \n /**\n  *  Set a mapping for the specified transmit queue to the specified per-queue\n@@ -2430,7 +2430,7 @@ void rte_eth_xstats_reset(uint8_t port_id);\n  * @return\n  *   Zero if successful. Non-zero otherwise.\n  */\n-int rte_eth_dev_set_tx_queue_stats_mapping(uint8_t port_id,\n+int rte_eth_dev_set_tx_queue_stats_mapping(uint16_t port_id,\n \t\tuint16_t tx_queue_id, uint8_t stat_idx);\n \n /**\n@@ -2450,7 +2450,7 @@ int rte_eth_dev_set_tx_queue_stats_mapping(uint8_t port_id,\n  * @return\n  *   Zero if successful. Non-zero otherwise.\n  */\n-int rte_eth_dev_set_rx_queue_stats_mapping(uint8_t port_id,\n+int rte_eth_dev_set_rx_queue_stats_mapping(uint16_t port_id,\n \t\t\t\t\t   uint16_t rx_queue_id,\n \t\t\t\t\t   uint8_t stat_idx);\n \n@@ -2463,7 +2463,7 @@ int rte_eth_dev_set_rx_queue_stats_mapping(uint8_t port_id,\n  *   A pointer to a structure of type *ether_addr* to be filled with\n  *   the Ethernet address of the Ethernet device.\n  */\n-void rte_eth_macaddr_get(uint8_t port_id, struct ether_addr *mac_addr);\n+void rte_eth_macaddr_get(uint16_t port_id, struct ether_addr *mac_addr);\n \n /**\n  * Retrieve the contextual information of an Ethernet device.\n@@ -2474,7 +2474,7 @@ void rte_eth_macaddr_get(uint8_t port_id, struct ether_addr *mac_addr);\n  *   A pointer to a structure of type *rte_eth_dev_info* to be filled with\n  *   the contextual information of the Ethernet device.\n  */\n-void rte_eth_dev_info_get(uint8_t port_id, struct rte_eth_dev_info *dev_info);\n+void rte_eth_dev_info_get(uint16_t port_id, struct rte_eth_dev_info *dev_info);\n \n /**\n  * Retrieve the firmware version of a device.\n@@ -2494,7 +2494,7 @@ void rte_eth_dev_info_get(uint8_t port_id, struct rte_eth_dev_info *dev_info);\n  *   - (>0) if *fw_size* is not enough to store firmware version, return\n  *          the size of the non truncated string.\n  */\n-int rte_eth_dev_fw_version_get(uint8_t port_id,\n+int rte_eth_dev_fw_version_get(uint16_t port_id,\n \t\t\t       char *fw_version, size_t fw_size);\n \n /**\n@@ -2535,7 +2535,7 @@ int rte_eth_dev_fw_version_get(uint8_t port_id,\n  *           count of supported ptypes will be returned.\n  *   - (-ENODEV) if *port_id* invalid.\n  */\n-int rte_eth_dev_get_supported_ptypes(uint8_t port_id, uint32_t ptype_mask,\n+int rte_eth_dev_get_supported_ptypes(uint16_t port_id, uint32_t ptype_mask,\n \t\t\t\t     uint32_t *ptypes, int num);\n \n /**\n@@ -2549,7 +2549,7 @@ int rte_eth_dev_get_supported_ptypes(uint8_t port_id, uint32_t ptype_mask,\n  *   - (0) if successful.\n  *   - (-ENODEV) if *port_id* invalid.\n  */\n-int rte_eth_dev_get_mtu(uint8_t port_id, uint16_t *mtu);\n+int rte_eth_dev_get_mtu(uint16_t port_id, uint16_t *mtu);\n \n /**\n  * Change the MTU of an Ethernet device.\n@@ -2565,7 +2565,7 @@ int rte_eth_dev_get_mtu(uint8_t port_id, uint16_t *mtu);\n  *   - (-EINVAL) if *mtu* invalid.\n  *   - (-EBUSY) if operation is not allowed when the port is running\n  */\n-int rte_eth_dev_set_mtu(uint8_t port_id, uint16_t mtu);\n+int rte_eth_dev_set_mtu(uint16_t port_id, uint16_t mtu);\n \n /**\n  * Enable/Disable hardware filtering by an Ethernet device of received\n@@ -2585,7 +2585,7 @@ int rte_eth_dev_set_mtu(uint8_t port_id, uint16_t mtu);\n  *   - (-ENOSYS) if VLAN filtering on *port_id* disabled.\n  *   - (-EINVAL) if *vlan_id* > 4095.\n  */\n-int rte_eth_dev_vlan_filter(uint8_t port_id, uint16_t vlan_id, int on);\n+int rte_eth_dev_vlan_filter(uint16_t port_id, uint16_t vlan_id, int on);\n \n /**\n  * Enable/Disable hardware VLAN Strip by a rx queue of an Ethernet device.\n@@ -2606,7 +2606,7 @@ int rte_eth_dev_vlan_filter(uint8_t port_id, uint16_t vlan_id, int on);\n  *   - (-ENODEV) if *port_id* invalid.\n  *   - (-EINVAL) if *rx_queue_id* invalid.\n  */\n-int rte_eth_dev_set_vlan_strip_on_queue(uint8_t port_id, uint16_t rx_queue_id,\n+int rte_eth_dev_set_vlan_strip_on_queue(uint16_t port_id, uint16_t rx_queue_id,\n \t\tint on);\n \n /**\n@@ -2625,7 +2625,7 @@ int rte_eth_dev_set_vlan_strip_on_queue(uint8_t port_id, uint16_t rx_queue_id,\n  *   - (-ENOSUP) if hardware-assisted VLAN TPID setup is not supported.\n  *   - (-ENODEV) if *port_id* invalid.\n  */\n-int rte_eth_dev_set_vlan_ether_type(uint8_t port_id,\n+int rte_eth_dev_set_vlan_ether_type(uint16_t port_id,\n \t\t\t\t    enum rte_vlan_type vlan_type,\n \t\t\t\t    uint16_t tag_type);\n \n@@ -2649,7 +2649,7 @@ int rte_eth_dev_set_vlan_ether_type(uint8_t port_id,\n  *   - (-ENOSUP) if hardware-assisted VLAN filtering not configured.\n  *   - (-ENODEV) if *port_id* invalid.\n  */\n-int rte_eth_dev_set_vlan_offload(uint8_t port_id, int offload_mask);\n+int rte_eth_dev_set_vlan_offload(uint16_t port_id, int offload_mask);\n \n /**\n  * Read VLAN Offload configuration from an Ethernet device\n@@ -2663,7 +2663,7 @@ int rte_eth_dev_set_vlan_offload(uint8_t port_id, int offload_mask);\n  *       ETH_VLAN_EXTEND_OFFLOAD\n  *   - (-ENODEV) if *port_id* invalid.\n  */\n-int rte_eth_dev_get_vlan_offload(uint8_t port_id);\n+int rte_eth_dev_get_vlan_offload(uint16_t port_id);\n \n /**\n  * Set port based TX VLAN insertion on or off.\n@@ -2679,7 +2679,7 @@ int rte_eth_dev_get_vlan_offload(uint8_t port_id);\n  *   - (0) if successful.\n  *   - negative if failed.\n  */\n-int rte_eth_dev_set_vlan_pvid(uint8_t port_id, uint16_t pvid, int on);\n+int rte_eth_dev_set_vlan_pvid(uint16_t port_id, uint16_t pvid, int on);\n \n /**\n  *\n@@ -2764,7 +2764,7 @@ int rte_eth_dev_set_vlan_pvid(uint8_t port_id, uint16_t pvid, int on);\n  *   *rx_pkts* array.\n  */\n static inline uint16_t\n-rte_eth_rx_burst(uint8_t port_id, uint16_t queue_id,\n+rte_eth_rx_burst(uint16_t port_id, uint16_t queue_id,\n \t\t struct rte_mbuf **rx_pkts, const uint16_t nb_pkts)\n {\n \tstruct rte_eth_dev *dev = &rte_eth_devices[port_id];\n@@ -2809,7 +2809,7 @@ rte_eth_rx_burst(uint8_t port_id, uint16_t queue_id,\n  *     (-ENOTSUP) if the device does not support this function\n  */\n static inline int\n-rte_eth_rx_queue_count(uint8_t port_id, uint16_t queue_id)\n+rte_eth_rx_queue_count(uint16_t port_id, uint16_t queue_id)\n {\n \tstruct rte_eth_dev *dev;\n \n@@ -2838,7 +2838,7 @@ rte_eth_rx_queue_count(uint8_t port_id, uint16_t queue_id)\n  *  - (-ENOTSUP) if the device does not support this function\n  */\n static inline int\n-rte_eth_rx_descriptor_done(uint8_t port_id, uint16_t queue_id, uint16_t offset)\n+rte_eth_rx_descriptor_done(uint16_t port_id, uint16_t queue_id, uint16_t offset)\n {\n \tstruct rte_eth_dev *dev = &rte_eth_devices[port_id];\n \tRTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);\n@@ -2885,7 +2885,7 @@ rte_eth_rx_descriptor_done(uint8_t port_id, uint16_t queue_id, uint16_t offset)\n  *  - (-ENODEV) bad port or queue (only if compiled with debug).\n  */\n static inline int\n-rte_eth_rx_descriptor_status(uint8_t port_id, uint16_t queue_id,\n+rte_eth_rx_descriptor_status(uint16_t port_id, uint16_t queue_id,\n \tuint16_t offset)\n {\n \tstruct rte_eth_dev *dev;\n@@ -2942,7 +2942,7 @@ rte_eth_rx_descriptor_status(uint8_t port_id, uint16_t queue_id,\n  *  - (-ENOTSUP) if the device does not support this function.\n  *  - (-ENODEV) bad port or queue (only if compiled with debug).\n  */\n-static inline int rte_eth_tx_descriptor_status(uint8_t port_id,\n+static inline int rte_eth_tx_descriptor_status(uint16_t port_id,\n \tuint16_t queue_id, uint16_t offset)\n {\n \tstruct rte_eth_dev *dev;\n@@ -3026,7 +3026,7 @@ static inline int rte_eth_tx_descriptor_status(uint8_t port_id,\n  *   *tx_pkts* parameter when the transmit ring is full or has been filled up.\n  */\n static inline uint16_t\n-rte_eth_tx_burst(uint8_t port_id, uint16_t queue_id,\n+rte_eth_tx_burst(uint16_t port_id, uint16_t queue_id,\n \t\t struct rte_mbuf **tx_pkts, uint16_t nb_pkts)\n {\n \tstruct rte_eth_dev *dev = &rte_eth_devices[port_id];\n@@ -3115,7 +3115,7 @@ rte_eth_tx_burst(uint8_t port_id, uint16_t queue_id,\n #ifndef RTE_ETHDEV_TX_PREPARE_NOOP\n \n static inline uint16_t\n-rte_eth_tx_prepare(uint8_t port_id, uint16_t queue_id,\n+rte_eth_tx_prepare(uint16_t port_id, uint16_t queue_id,\n \t\tstruct rte_mbuf **tx_pkts, uint16_t nb_pkts)\n {\n \tstruct rte_eth_dev *dev;\n@@ -3157,7 +3157,8 @@ rte_eth_tx_prepare(uint8_t port_id, uint16_t queue_id,\n  */\n \n static inline uint16_t\n-rte_eth_tx_prepare(__rte_unused uint8_t port_id, __rte_unused uint16_t queue_id,\n+rte_eth_tx_prepare(__rte_unused uint16_t port_id,\n+\t\t__rte_unused uint16_t queue_id,\n \t\t__rte_unused struct rte_mbuf **tx_pkts, uint16_t nb_pkts)\n {\n \treturn nb_pkts;\n@@ -3226,7 +3227,7 @@ rte_eth_tx_buffer_init(struct rte_eth_dev_tx_buffer *buffer, uint16_t size);\n  *   callback is called for any packets which could not be sent.\n  */\n static inline uint16_t\n-rte_eth_tx_buffer_flush(uint8_t port_id, uint16_t queue_id,\n+rte_eth_tx_buffer_flush(uint16_t port_id, uint16_t queue_id,\n \t\tstruct rte_eth_dev_tx_buffer *buffer)\n {\n \tuint16_t sent;\n@@ -3278,7 +3279,7 @@ rte_eth_tx_buffer_flush(uint8_t port_id, uint16_t queue_id,\n  *     the rest.\n  */\n static __rte_always_inline uint16_t\n-rte_eth_tx_buffer(uint8_t port_id, uint16_t queue_id,\n+rte_eth_tx_buffer(uint16_t port_id, uint16_t queue_id,\n \t\tstruct rte_eth_dev_tx_buffer *buffer, struct rte_mbuf *tx_pkt)\n {\n \tbuffer->pkts[buffer->length++] = tx_pkt;\n@@ -3394,7 +3395,7 @@ rte_eth_tx_buffer_count_callback(struct rte_mbuf **pkts, uint16_t unsent,\n  *     are in use.\n  */\n int\n-rte_eth_tx_done_cleanup(uint8_t port_id, uint16_t queue_id, uint32_t free_cnt);\n+rte_eth_tx_done_cleanup(uint16_t port_id, uint16_t queue_id, uint32_t free_cnt);\n \n /**\n  * The eth device event type for interrupt, and maybe others in the future.\n@@ -3412,7 +3413,7 @@ enum rte_eth_event_type {\n \tRTE_ETH_EVENT_MAX       /**< max value of this enum */\n };\n \n-typedef int (*rte_eth_dev_cb_fn)(uint8_t port_id,\n+typedef int (*rte_eth_dev_cb_fn)(uint16_t port_id,\n \t\tenum rte_eth_event_type event, void *cb_arg, void *ret_param);\n /**< user application callback to be registered for interrupts */\n \n@@ -3434,7 +3435,7 @@ typedef int (*rte_eth_dev_cb_fn)(uint8_t port_id,\n  *  - On success, zero.\n  *  - On failure, a negative value.\n  */\n-int rte_eth_dev_callback_register(uint8_t port_id,\n+int rte_eth_dev_callback_register(uint16_t port_id,\n \t\t\tenum rte_eth_event_type event,\n \t\trte_eth_dev_cb_fn cb_fn, void *cb_arg);\n \n@@ -3455,7 +3456,7 @@ int rte_eth_dev_callback_register(uint8_t port_id,\n  *  - On success, zero.\n  *  - On failure, a negative value.\n  */\n-int rte_eth_dev_callback_unregister(uint8_t port_id,\n+int rte_eth_dev_callback_unregister(uint16_t port_id,\n \t\t\tenum rte_eth_event_type event,\n \t\trte_eth_dev_cb_fn cb_fn, void *cb_arg);\n \n@@ -3501,7 +3502,7 @@ int _rte_eth_dev_callback_process(struct rte_eth_dev *dev,\n  *     that operation.\n  *   - (-ENODEV) if *port_id* invalid.\n  */\n-int rte_eth_dev_rx_intr_enable(uint8_t port_id, uint16_t queue_id);\n+int rte_eth_dev_rx_intr_enable(uint16_t port_id, uint16_t queue_id);\n \n /**\n  * When lcore wakes up from rx interrupt indicating packet coming, disable rx\n@@ -3522,7 +3523,7 @@ int rte_eth_dev_rx_intr_enable(uint8_t port_id, uint16_t queue_id);\n  *     that operation.\n  *   - (-ENODEV) if *port_id* invalid.\n  */\n-int rte_eth_dev_rx_intr_disable(uint8_t port_id, uint16_t queue_id);\n+int rte_eth_dev_rx_intr_disable(uint16_t port_id, uint16_t queue_id);\n \n /**\n  * RX Interrupt control per port.\n@@ -3541,7 +3542,7 @@ int rte_eth_dev_rx_intr_disable(uint8_t port_id, uint16_t queue_id);\n  *   - On success, zero.\n  *   - On failure, a negative value.\n  */\n-int rte_eth_dev_rx_intr_ctl(uint8_t port_id, int epfd, int op, void *data);\n+int rte_eth_dev_rx_intr_ctl(uint16_t port_id, int epfd, int op, void *data);\n \n /**\n  * RX Interrupt control per queue.\n@@ -3564,7 +3565,7 @@ int rte_eth_dev_rx_intr_ctl(uint8_t port_id, int epfd, int op, void *data);\n  *   - On success, zero.\n  *   - On failure, a negative value.\n  */\n-int rte_eth_dev_rx_intr_ctl_q(uint8_t port_id, uint16_t queue_id,\n+int rte_eth_dev_rx_intr_ctl_q(uint16_t port_id, uint16_t queue_id,\n \t\t\t      int epfd, int op, void *data);\n \n /**\n@@ -3579,7 +3580,7 @@ int rte_eth_dev_rx_intr_ctl_q(uint8_t port_id, uint16_t queue_id,\n  *     that operation.\n  *   - (-ENODEV) if *port_id* invalid.\n  */\n-int  rte_eth_led_on(uint8_t port_id);\n+int  rte_eth_led_on(uint16_t port_id);\n \n /**\n  * Turn off the LED on the Ethernet device.\n@@ -3593,7 +3594,7 @@ int  rte_eth_led_on(uint8_t port_id);\n  *     that operation.\n  *   - (-ENODEV) if *port_id* invalid.\n  */\n-int  rte_eth_led_off(uint8_t port_id);\n+int  rte_eth_led_off(uint16_t port_id);\n \n /**\n  * Get current status of the Ethernet link flow control for Ethernet device\n@@ -3607,7 +3608,7 @@ int  rte_eth_led_off(uint8_t port_id);\n  *   - (-ENOTSUP) if hardware doesn't support flow control.\n  *   - (-ENODEV)  if *port_id* invalid.\n  */\n-int rte_eth_dev_flow_ctrl_get(uint8_t port_id,\n+int rte_eth_dev_flow_ctrl_get(uint16_t port_id,\n \t\t\t      struct rte_eth_fc_conf *fc_conf);\n \n /**\n@@ -3624,7 +3625,7 @@ int rte_eth_dev_flow_ctrl_get(uint8_t port_id,\n  *   - (-EINVAL)  if bad parameter\n  *   - (-EIO)     if flow control setup failure\n  */\n-int rte_eth_dev_flow_ctrl_set(uint8_t port_id,\n+int rte_eth_dev_flow_ctrl_set(uint16_t port_id,\n \t\t\t      struct rte_eth_fc_conf *fc_conf);\n \n /**\n@@ -3642,7 +3643,7 @@ int rte_eth_dev_flow_ctrl_set(uint8_t port_id,\n  *   - (-EINVAL)  if bad parameter\n  *   - (-EIO)     if flow control setup failure\n  */\n-int rte_eth_dev_priority_flow_ctrl_set(uint8_t port_id,\n+int rte_eth_dev_priority_flow_ctrl_set(uint16_t port_id,\n \t\t\t\tstruct rte_eth_pfc_conf *pfc_conf);\n \n /**\n@@ -3663,7 +3664,7 @@ int rte_eth_dev_priority_flow_ctrl_set(uint8_t port_id,\n  *   - (-ENOSPC) if no more MAC addresses can be added.\n  *   - (-EINVAL) if MAC address is invalid.\n  */\n-int rte_eth_dev_mac_addr_add(uint8_t port, struct ether_addr *mac_addr,\n+int rte_eth_dev_mac_addr_add(uint16_t port, struct ether_addr *mac_addr,\n \t\t\t\tuint32_t pool);\n \n /**\n@@ -3679,7 +3680,7 @@ int rte_eth_dev_mac_addr_add(uint8_t port, struct ether_addr *mac_addr,\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EADDRINUSE) if attempting to remove the default MAC address\n  */\n-int rte_eth_dev_mac_addr_remove(uint8_t port, struct ether_addr *mac_addr);\n+int rte_eth_dev_mac_addr_remove(uint16_t port, struct ether_addr *mac_addr);\n \n /**\n  * Set the default MAC address.\n@@ -3694,8 +3695,8 @@ int rte_eth_dev_mac_addr_remove(uint8_t port, struct ether_addr *mac_addr);\n  *   - (-ENODEV) if *port* invalid.\n  *   - (-EINVAL) if MAC address is invalid.\n  */\n-int rte_eth_dev_default_mac_addr_set(uint8_t port, struct ether_addr *mac_addr);\n-\n+int rte_eth_dev_default_mac_addr_set(uint16_t port,\n+\t\tstruct ether_addr *mac_addr);\n \n /**\n  * Update Redirection Table(RETA) of Receive Side Scaling of Ethernet device.\n@@ -3712,7 +3713,7 @@ int rte_eth_dev_default_mac_addr_set(uint8_t port, struct ether_addr *mac_addr);\n  *   - (-ENOTSUP) if hardware doesn't support.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_eth_dev_rss_reta_update(uint8_t port,\n+int rte_eth_dev_rss_reta_update(uint16_t port,\n \t\t\t\tstruct rte_eth_rss_reta_entry64 *reta_conf,\n \t\t\t\tuint16_t reta_size);\n \n@@ -3731,7 +3732,7 @@ int rte_eth_dev_rss_reta_update(uint8_t port,\n  *   - (-ENOTSUP) if hardware doesn't support.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_eth_dev_rss_reta_query(uint8_t port,\n+int rte_eth_dev_rss_reta_query(uint16_t port,\n \t\t\t       struct rte_eth_rss_reta_entry64 *reta_conf,\n \t\t\t       uint16_t reta_size);\n \n@@ -3753,8 +3754,8 @@ int rte_eth_dev_rss_reta_query(uint8_t port,\n   *  - (-ENODEV) if *port_id* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_eth_dev_uc_hash_table_set(uint8_t port,struct ether_addr *addr,\n-\t\t\t\t\tuint8_t on);\n+int rte_eth_dev_uc_hash_table_set(uint16_t port, struct ether_addr *addr,\n+\t\t\t\t  uint8_t on);\n \n  /**\n  * Updates all unicast hash bitmaps for receiving packet with any Unicast\n@@ -3773,7 +3774,7 @@ int rte_eth_dev_uc_hash_table_set(uint8_t port,struct ether_addr *addr,\n   *  - (-ENODEV) if *port_id* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_eth_dev_uc_all_hash_table_set(uint8_t port,uint8_t on);\n+int rte_eth_dev_uc_all_hash_table_set(uint16_t port, uint8_t on);\n \n /**\n  * Set a traffic mirroring rule on an Ethernet device\n@@ -3796,7 +3797,7 @@ int rte_eth_dev_uc_all_hash_table_set(uint8_t port,uint8_t on);\n  *   - (-ENODEV) if *port_id* invalid.\n  *   - (-EINVAL) if the mr_conf information is not correct.\n  */\n-int rte_eth_mirror_rule_set(uint8_t port_id,\n+int rte_eth_mirror_rule_set(uint16_t port_id,\n \t\t\tstruct rte_eth_mirror_conf *mirror_conf,\n \t\t\tuint8_t rule_id,\n \t\t\tuint8_t on);\n@@ -3814,7 +3815,7 @@ int rte_eth_mirror_rule_set(uint8_t port_id,\n  *   - (-ENODEV) if *port_id* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_eth_mirror_rule_reset(uint8_t port_id,\n+int rte_eth_mirror_rule_reset(uint16_t port_id,\n \t\t\t\t\t uint8_t rule_id);\n \n /**\n@@ -3832,7 +3833,7 @@ int rte_eth_mirror_rule_reset(uint8_t port_id,\n  *   - (-ENODEV) if *port_id* invalid.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_eth_set_queue_rate_limit(uint8_t port_id, uint16_t queue_idx,\n+int rte_eth_set_queue_rate_limit(uint16_t port_id, uint16_t queue_idx,\n \t\t\tuint16_t tx_rate);\n \n  /**\n@@ -3848,7 +3849,7 @@ int rte_eth_set_queue_rate_limit(uint8_t port_id, uint16_t queue_idx,\n  *   - (-ENOTSUP) if hardware doesn't support.\n  *   - (-EINVAL) if bad parameter.\n  */\n-int rte_eth_dev_rss_hash_update(uint8_t port_id,\n+int rte_eth_dev_rss_hash_update(uint16_t port_id,\n \t\t\t\tstruct rte_eth_rss_conf *rss_conf);\n \n  /**\n@@ -3865,7 +3866,7 @@ int rte_eth_dev_rss_hash_update(uint8_t port_id,\n  *   - (-ENOTSUP) if hardware doesn't support RSS.\n  */\n int\n-rte_eth_dev_rss_hash_conf_get(uint8_t port_id,\n+rte_eth_dev_rss_hash_conf_get(uint16_t port_id,\n \t\t\t      struct rte_eth_rss_conf *rss_conf);\n \n  /**\n@@ -3886,7 +3887,7 @@ rte_eth_dev_rss_hash_conf_get(uint8_t port_id,\n  *   - (-ENOTSUP) if hardware doesn't support tunnel type.\n  */\n int\n-rte_eth_dev_udp_tunnel_port_add(uint8_t port_id,\n+rte_eth_dev_udp_tunnel_port_add(uint16_t port_id,\n \t\t\t\tstruct rte_eth_udp_tunnel *tunnel_udp);\n \n  /**\n@@ -3908,7 +3909,7 @@ rte_eth_dev_udp_tunnel_port_add(uint8_t port_id,\n  *   - (-ENOTSUP) if hardware doesn't support tunnel type.\n  */\n int\n-rte_eth_dev_udp_tunnel_port_delete(uint8_t port_id,\n+rte_eth_dev_udp_tunnel_port_delete(uint16_t port_id,\n \t\t\t\t   struct rte_eth_udp_tunnel *tunnel_udp);\n \n /**\n@@ -3924,7 +3925,8 @@ rte_eth_dev_udp_tunnel_port_delete(uint8_t port_id,\n  *   - (-ENOTSUP) if hardware doesn't support this filter type.\n  *   - (-ENODEV) if *port_id* invalid.\n  */\n-int rte_eth_dev_filter_supported(uint8_t port_id, enum rte_filter_type filter_type);\n+int rte_eth_dev_filter_supported(uint16_t port_id,\n+\t\tenum rte_filter_type filter_type);\n \n /**\n  * Take operations to assigned filter type on an Ethernet device.\n@@ -3944,7 +3946,7 @@ int rte_eth_dev_filter_supported(uint8_t port_id, enum rte_filter_type filter_ty\n  *   - (-ENODEV) if *port_id* invalid.\n  *   - others depends on the specific operations implementation.\n  */\n-int rte_eth_dev_filter_ctrl(uint8_t port_id, enum rte_filter_type filter_type,\n+int rte_eth_dev_filter_ctrl(uint16_t port_id, enum rte_filter_type filter_type,\n \t\t\tenum rte_filter_op filter_op, void *arg);\n \n /**\n@@ -3959,7 +3961,7 @@ int rte_eth_dev_filter_ctrl(uint8_t port_id, enum rte_filter_type filter_type,\n  *   - (-ENODEV) if port identifier is invalid.\n  *   - (-ENOTSUP) if hardware doesn't support.\n  */\n-int rte_eth_dev_get_dcb_info(uint8_t port_id,\n+int rte_eth_dev_get_dcb_info(uint16_t port_id,\n \t\t\t     struct rte_eth_dcb_info *dcb_info);\n \n /**\n@@ -3986,7 +3988,7 @@ int rte_eth_dev_get_dcb_info(uint8_t port_id,\n  *   NULL on error.\n  *   On success, a pointer value which can later be used to remove the callback.\n  */\n-void *rte_eth_add_rx_callback(uint8_t port_id, uint16_t queue_id,\n+void *rte_eth_add_rx_callback(uint16_t port_id, uint16_t queue_id,\n \t\trte_rx_callback_fn fn, void *user_param);\n \n /**\n@@ -4014,7 +4016,7 @@ void *rte_eth_add_rx_callback(uint8_t port_id, uint16_t queue_id,\n  *   NULL on error.\n  *   On success, a pointer value which can later be used to remove the callback.\n  */\n-void *rte_eth_add_first_rx_callback(uint8_t port_id, uint16_t queue_id,\n+void *rte_eth_add_first_rx_callback(uint16_t port_id, uint16_t queue_id,\n \t\trte_rx_callback_fn fn, void *user_param);\n \n /**\n@@ -4041,7 +4043,7 @@ void *rte_eth_add_first_rx_callback(uint8_t port_id, uint16_t queue_id,\n  *   NULL on error.\n  *   On success, a pointer value which can later be used to remove the callback.\n  */\n-void *rte_eth_add_tx_callback(uint8_t port_id, uint16_t queue_id,\n+void *rte_eth_add_tx_callback(uint16_t port_id, uint16_t queue_id,\n \t\trte_tx_callback_fn fn, void *user_param);\n \n /**\n@@ -4074,7 +4076,7 @@ void *rte_eth_add_tx_callback(uint8_t port_id, uint16_t queue_id,\n  *   - -EINVAL:  The port_id or the queue_id is out of range, or the callback\n  *               is NULL or not found for the port/queue.\n  */\n-int rte_eth_remove_rx_callback(uint8_t port_id, uint16_t queue_id,\n+int rte_eth_remove_rx_callback(uint16_t port_id, uint16_t queue_id,\n \t\tstruct rte_eth_rxtx_callback *user_cb);\n \n /**\n@@ -4107,7 +4109,7 @@ int rte_eth_remove_rx_callback(uint8_t port_id, uint16_t queue_id,\n  *   - -EINVAL:  The port_id or the queue_id is out of range, or the callback\n  *               is NULL or not found for the port/queue.\n  */\n-int rte_eth_remove_tx_callback(uint8_t port_id, uint16_t queue_id,\n+int rte_eth_remove_tx_callback(uint16_t port_id, uint16_t queue_id,\n \t\tstruct rte_eth_rxtx_callback *user_cb);\n \n /**\n@@ -4127,7 +4129,7 @@ int rte_eth_remove_tx_callback(uint8_t port_id, uint16_t queue_id,\n  *   - -ENOTSUP: routine is not supported by the device PMD.\n  *   - -EINVAL:  The port_id or the queue_id is out of range.\n  */\n-int rte_eth_rx_queue_info_get(uint8_t port_id, uint16_t queue_id,\n+int rte_eth_rx_queue_info_get(uint16_t port_id, uint16_t queue_id,\n \tstruct rte_eth_rxq_info *qinfo);\n \n /**\n@@ -4147,7 +4149,7 @@ int rte_eth_rx_queue_info_get(uint8_t port_id, uint16_t queue_id,\n  *   - -ENOTSUP: routine is not supported by the device PMD.\n  *   - -EINVAL:  The port_id or the queue_id is out of range.\n  */\n-int rte_eth_tx_queue_info_get(uint8_t port_id, uint16_t queue_id,\n+int rte_eth_tx_queue_info_get(uint16_t port_id, uint16_t queue_id,\n \tstruct rte_eth_txq_info *qinfo);\n \n /**\n@@ -4166,7 +4168,7 @@ int rte_eth_tx_queue_info_get(uint8_t port_id, uint16_t queue_id,\n  *   - (-ENODEV) if *port_id* invalid.\n  *   - others depends on the specific operations implementation.\n  */\n-int rte_eth_dev_get_reg_info(uint8_t port_id, struct rte_dev_reg_info *info);\n+int rte_eth_dev_get_reg_info(uint16_t port_id, struct rte_dev_reg_info *info);\n \n /**\n  * Retrieve size of device EEPROM\n@@ -4179,7 +4181,7 @@ int rte_eth_dev_get_reg_info(uint8_t port_id, struct rte_dev_reg_info *info);\n  *   - (-ENODEV) if *port_id* invalid.\n  *   - others depends on the specific operations implementation.\n  */\n-int rte_eth_dev_get_eeprom_length(uint8_t port_id);\n+int rte_eth_dev_get_eeprom_length(uint16_t port_id);\n \n /**\n  * Retrieve EEPROM and EEPROM attribute\n@@ -4195,7 +4197,7 @@ int rte_eth_dev_get_eeprom_length(uint8_t port_id);\n  *   - (-ENODEV) if *port_id* invalid.\n  *   - others depends on the specific operations implementation.\n  */\n-int rte_eth_dev_get_eeprom(uint8_t port_id, struct rte_dev_eeprom_info *info);\n+int rte_eth_dev_get_eeprom(uint16_t port_id, struct rte_dev_eeprom_info *info);\n \n /**\n  * Program EEPROM with provided data\n@@ -4211,7 +4213,7 @@ int rte_eth_dev_get_eeprom(uint8_t port_id, struct rte_dev_eeprom_info *info);\n  *   - (-ENODEV) if *port_id* invalid.\n  *   - others depends on the specific operations implementation.\n  */\n-int rte_eth_dev_set_eeprom(uint8_t port_id, struct rte_dev_eeprom_info *info);\n+int rte_eth_dev_set_eeprom(uint16_t port_id, struct rte_dev_eeprom_info *info);\n \n /**\n  * Set the list of multicast addresses to filter on an Ethernet device.\n@@ -4230,7 +4232,7 @@ int rte_eth_dev_set_eeprom(uint8_t port_id, struct rte_dev_eeprom_info *info);\n  *   - (-ENOTSUP) if PMD of *port_id* doesn't support multicast filtering.\n  *   - (-ENOSPC) if *port_id* has not enough multicast filtering resources.\n  */\n-int rte_eth_dev_set_mc_addr_list(uint8_t port_id,\n+int rte_eth_dev_set_mc_addr_list(uint16_t port_id,\n \t\t\t\t struct ether_addr *mc_addr_set,\n \t\t\t\t uint32_t nb_mc_addr);\n \n@@ -4245,7 +4247,7 @@ int rte_eth_dev_set_mc_addr_list(uint8_t port_id,\n  *   - -ENODEV: The port ID is invalid.\n  *   - -ENOTSUP: The function is not supported by the Ethernet driver.\n  */\n-int rte_eth_timesync_enable(uint8_t port_id);\n+int rte_eth_timesync_enable(uint16_t port_id);\n \n /**\n  * Disable IEEE1588/802.1AS timestamping for an Ethernet device.\n@@ -4258,7 +4260,7 @@ int rte_eth_timesync_enable(uint8_t port_id);\n  *   - -ENODEV: The port ID is invalid.\n  *   - -ENOTSUP: The function is not supported by the Ethernet driver.\n  */\n-int rte_eth_timesync_disable(uint8_t port_id);\n+int rte_eth_timesync_disable(uint16_t port_id);\n \n /**\n  * Read an IEEE1588/802.1AS RX timestamp from an Ethernet device.\n@@ -4277,7 +4279,7 @@ int rte_eth_timesync_disable(uint8_t port_id);\n  *   - -ENODEV: The port ID is invalid.\n  *   - -ENOTSUP: The function is not supported by the Ethernet driver.\n  */\n-int rte_eth_timesync_read_rx_timestamp(uint8_t port_id,\n+int rte_eth_timesync_read_rx_timestamp(uint16_t port_id,\n \t\tstruct timespec *timestamp, uint32_t flags);\n \n /**\n@@ -4294,7 +4296,7 @@ int rte_eth_timesync_read_rx_timestamp(uint8_t port_id,\n  *   - -ENODEV: The port ID is invalid.\n  *   - -ENOTSUP: The function is not supported by the Ethernet driver.\n  */\n-int rte_eth_timesync_read_tx_timestamp(uint8_t port_id,\n+int rte_eth_timesync_read_tx_timestamp(uint16_t port_id,\n \t\tstruct timespec *timestamp);\n \n /**\n@@ -4313,7 +4315,7 @@ int rte_eth_timesync_read_tx_timestamp(uint8_t port_id,\n  *   - -ENODEV: The port ID is invalid.\n  *   - -ENOTSUP: The function is not supported by the Ethernet driver.\n  */\n-int rte_eth_timesync_adjust_time(uint8_t port_id, int64_t delta);\n+int rte_eth_timesync_adjust_time(uint16_t port_id, int64_t delta);\n \n /**\n  * Read the time from the timesync clock on an Ethernet device.\n@@ -4329,7 +4331,7 @@ int rte_eth_timesync_adjust_time(uint8_t port_id, int64_t delta);\n  * @return\n  *   - 0: Success.\n  */\n-int rte_eth_timesync_read_time(uint8_t port_id, struct timespec *time);\n+int rte_eth_timesync_read_time(uint16_t port_id, struct timespec *time);\n \n /**\n  * Set the time of the timesync clock on an Ethernet device.\n@@ -4348,7 +4350,7 @@ int rte_eth_timesync_read_time(uint8_t port_id, struct timespec *time);\n  *   - -ENODEV: The port ID is invalid.\n  *   - -ENOTSUP: The function is not supported by the Ethernet driver.\n  */\n-int rte_eth_timesync_write_time(uint8_t port_id, const struct timespec *time);\n+int rte_eth_timesync_write_time(uint16_t port_id, const struct timespec *time);\n \n /**\n  * Create memzone for HW rings.\n@@ -4389,7 +4391,7 @@ rte_eth_dma_zone_reserve(const struct rte_eth_dev *eth_dev, const char *name,\n  *   - (-ENOTSUP) if hardware doesn't support tunnel type.\n  */\n int\n-rte_eth_dev_l2_tunnel_eth_type_conf(uint8_t port_id,\n+rte_eth_dev_l2_tunnel_eth_type_conf(uint16_t port_id,\n \t\t\t\t    struct rte_eth_l2_tunnel_conf *l2_tunnel);\n \n /**\n@@ -4416,7 +4418,7 @@ rte_eth_dev_l2_tunnel_eth_type_conf(uint8_t port_id,\n  *   - (-ENOTSUP) if hardware doesn't support tunnel type.\n  */\n int\n-rte_eth_dev_l2_tunnel_offload_set(uint8_t port_id,\n+rte_eth_dev_l2_tunnel_offload_set(uint16_t port_id,\n \t\t\t\t  struct rte_eth_l2_tunnel_conf *l2_tunnel,\n \t\t\t\t  uint32_t mask,\n \t\t\t\t  uint8_t en);\n@@ -4434,7 +4436,7 @@ rte_eth_dev_l2_tunnel_offload_set(uint8_t port_id,\n *   - (-ENODEV or -EINVAL) on failure.\n */\n int\n-rte_eth_dev_get_port_by_name(const char *name, uint8_t *port_id);\n+rte_eth_dev_get_port_by_name(const char *name, uint16_t *port_id);\n \n /**\n * Get the device name from port id\n@@ -4448,7 +4450,7 @@ rte_eth_dev_get_port_by_name(const char *name, uint8_t *port_id);\n *   - (-EINVAL) on failure.\n */\n int\n-rte_eth_dev_get_name_by_port(uint8_t port_id, char *name);\n+rte_eth_dev_get_name_by_port(uint16_t port_id, char *name);\n \n /**\n  * Check that numbers of Rx and Tx descriptors satisfy descriptors limits from\n@@ -4466,7 +4468,7 @@ rte_eth_dev_get_name_by_port(uint8_t port_id, char *name);\n  *   - (0) if successful.\n  *   - (-ENOTSUP, -ENODEV or -EINVAL) on failure.\n  */\n-int rte_eth_dev_adjust_nb_rx_tx_desc(uint8_t port_id,\n+int rte_eth_dev_adjust_nb_rx_tx_desc(uint16_t port_id,\n \t\t\t\t     uint16_t *nb_rx_desc,\n \t\t\t\t     uint16_t *nb_tx_desc);\n \ndiff --git a/lib/librte_ether/rte_flow.c b/lib/librte_ether/rte_flow.c\nindex 2001fbbf4..95d9ee007 100644\n--- a/lib/librte_ether/rte_flow.c\n+++ b/lib/librte_ether/rte_flow.c\n@@ -108,7 +108,7 @@ static const struct rte_flow_desc_data rte_flow_desc_action[] = {\n \n /* Get generic flow operations structure from a port. */\n const struct rte_flow_ops *\n-rte_flow_ops_get(uint8_t port_id, struct rte_flow_error *error)\n+rte_flow_ops_get(uint16_t port_id, struct rte_flow_error *error)\n {\n \tstruct rte_eth_dev *dev = &rte_eth_devices[port_id];\n \tconst struct rte_flow_ops *ops;\ndiff --git a/lib/librte_ether/rte_flow_driver.h b/lib/librte_ether/rte_flow_driver.h\nindex 4d95391d8..8573cefa3 100644\n--- a/lib/librte_ether/rte_flow_driver.h\n+++ b/lib/librte_ether/rte_flow_driver.h\n@@ -178,7 +178,7 @@ rte_flow_error_set(struct rte_flow_error *error,\n  *   additional details.\n  */\n const struct rte_flow_ops *\n-rte_flow_ops_get(uint8_t port_id, struct rte_flow_error *error);\n+rte_flow_ops_get(uint16_t port_id, struct rte_flow_error *error);\n \n #ifdef __cplusplus\n }\ndiff --git a/lib/librte_ether/rte_tm.c b/lib/librte_ether/rte_tm.c\nindex 71679650e..ceac34115 100644\n--- a/lib/librte_ether/rte_tm.c\n+++ b/lib/librte_ether/rte_tm.c\n@@ -40,7 +40,7 @@\n \n /* Get generic traffic manager operations structure from a port. */\n const struct rte_tm_ops *\n-rte_tm_ops_get(uint8_t port_id, struct rte_tm_error *error)\n+rte_tm_ops_get(uint16_t port_id, struct rte_tm_error *error)\n {\n \tstruct rte_eth_dev *dev = &rte_eth_devices[port_id];\n \tconst struct rte_tm_ops *ops;\n@@ -87,7 +87,7 @@ rte_tm_ops_get(uint8_t port_id, struct rte_tm_error *error)\n \n /* Get number of leaf nodes */\n int\n-rte_tm_get_number_of_leaf_nodes(uint8_t port_id,\n+rte_tm_get_number_of_leaf_nodes(uint16_t port_id,\n \tuint32_t *n_leaf_nodes,\n \tstruct rte_tm_error *error)\n {\n@@ -113,7 +113,7 @@ rte_tm_get_number_of_leaf_nodes(uint8_t port_id,\n \n /* Check node type (leaf or non-leaf) */\n int\n-rte_tm_node_type_get(uint8_t port_id,\n+rte_tm_node_type_get(uint16_t port_id,\n \tuint32_t node_id,\n \tint *is_leaf,\n \tstruct rte_tm_error *error)\n@@ -124,7 +124,7 @@ rte_tm_node_type_get(uint8_t port_id,\n }\n \n /* Get capabilities */\n-int rte_tm_capabilities_get(uint8_t port_id,\n+int rte_tm_capabilities_get(uint16_t port_id,\n \tstruct rte_tm_capabilities *cap,\n \tstruct rte_tm_error *error)\n {\n@@ -134,7 +134,7 @@ int rte_tm_capabilities_get(uint8_t port_id,\n }\n \n /* Get level capabilities */\n-int rte_tm_level_capabilities_get(uint8_t port_id,\n+int rte_tm_level_capabilities_get(uint16_t port_id,\n \tuint32_t level_id,\n \tstruct rte_tm_level_capabilities *cap,\n \tstruct rte_tm_error *error)\n@@ -145,7 +145,7 @@ int rte_tm_level_capabilities_get(uint8_t port_id,\n }\n \n /* Get node capabilities */\n-int rte_tm_node_capabilities_get(uint8_t port_id,\n+int rte_tm_node_capabilities_get(uint16_t port_id,\n \tuint32_t node_id,\n \tstruct rte_tm_node_capabilities *cap,\n \tstruct rte_tm_error *error)\n@@ -156,7 +156,7 @@ int rte_tm_node_capabilities_get(uint8_t port_id,\n }\n \n /* Add WRED profile */\n-int rte_tm_wred_profile_add(uint8_t port_id,\n+int rte_tm_wred_profile_add(uint16_t port_id,\n \tuint32_t wred_profile_id,\n \tstruct rte_tm_wred_params *profile,\n \tstruct rte_tm_error *error)\n@@ -167,7 +167,7 @@ int rte_tm_wred_profile_add(uint8_t port_id,\n }\n \n /* Delete WRED profile */\n-int rte_tm_wred_profile_delete(uint8_t port_id,\n+int rte_tm_wred_profile_delete(uint16_t port_id,\n \tuint32_t wred_profile_id,\n \tstruct rte_tm_error *error)\n {\n@@ -177,7 +177,7 @@ int rte_tm_wred_profile_delete(uint8_t port_id,\n }\n \n /* Add/update shared WRED context */\n-int rte_tm_shared_wred_context_add_update(uint8_t port_id,\n+int rte_tm_shared_wred_context_add_update(uint16_t port_id,\n \tuint32_t shared_wred_context_id,\n \tuint32_t wred_profile_id,\n \tstruct rte_tm_error *error)\n@@ -188,7 +188,7 @@ int rte_tm_shared_wred_context_add_update(uint8_t port_id,\n }\n \n /* Delete shared WRED context */\n-int rte_tm_shared_wred_context_delete(uint8_t port_id,\n+int rte_tm_shared_wred_context_delete(uint16_t port_id,\n \tuint32_t shared_wred_context_id,\n \tstruct rte_tm_error *error)\n {\n@@ -198,7 +198,7 @@ int rte_tm_shared_wred_context_delete(uint8_t port_id,\n }\n \n /* Add shaper profile */\n-int rte_tm_shaper_profile_add(uint8_t port_id,\n+int rte_tm_shaper_profile_add(uint16_t port_id,\n \tuint32_t shaper_profile_id,\n \tstruct rte_tm_shaper_params *profile,\n \tstruct rte_tm_error *error)\n@@ -209,7 +209,7 @@ int rte_tm_shaper_profile_add(uint8_t port_id,\n }\n \n /* Delete WRED profile */\n-int rte_tm_shaper_profile_delete(uint8_t port_id,\n+int rte_tm_shaper_profile_delete(uint16_t port_id,\n \tuint32_t shaper_profile_id,\n \tstruct rte_tm_error *error)\n {\n@@ -219,7 +219,7 @@ int rte_tm_shaper_profile_delete(uint8_t port_id,\n }\n \n /* Add shared shaper */\n-int rte_tm_shared_shaper_add_update(uint8_t port_id,\n+int rte_tm_shared_shaper_add_update(uint16_t port_id,\n \tuint32_t shared_shaper_id,\n \tuint32_t shaper_profile_id,\n \tstruct rte_tm_error *error)\n@@ -230,7 +230,7 @@ int rte_tm_shared_shaper_add_update(uint8_t port_id,\n }\n \n /* Delete shared shaper */\n-int rte_tm_shared_shaper_delete(uint8_t port_id,\n+int rte_tm_shared_shaper_delete(uint16_t port_id,\n \tuint32_t shared_shaper_id,\n \tstruct rte_tm_error *error)\n {\n@@ -240,7 +240,7 @@ int rte_tm_shared_shaper_delete(uint8_t port_id,\n }\n \n /* Add node to port traffic manager hierarchy */\n-int rte_tm_node_add(uint8_t port_id,\n+int rte_tm_node_add(uint16_t port_id,\n \tuint32_t node_id,\n \tuint32_t parent_node_id,\n \tuint32_t priority,\n@@ -256,7 +256,7 @@ int rte_tm_node_add(uint8_t port_id,\n }\n \n /* Delete node from traffic manager hierarchy */\n-int rte_tm_node_delete(uint8_t port_id,\n+int rte_tm_node_delete(uint16_t port_id,\n \tuint32_t node_id,\n \tstruct rte_tm_error *error)\n {\n@@ -266,7 +266,7 @@ int rte_tm_node_delete(uint8_t port_id,\n }\n \n /* Suspend node */\n-int rte_tm_node_suspend(uint8_t port_id,\n+int rte_tm_node_suspend(uint16_t port_id,\n \tuint32_t node_id,\n \tstruct rte_tm_error *error)\n {\n@@ -276,7 +276,7 @@ int rte_tm_node_suspend(uint8_t port_id,\n }\n \n /* Resume node */\n-int rte_tm_node_resume(uint8_t port_id,\n+int rte_tm_node_resume(uint16_t port_id,\n \tuint32_t node_id,\n \tstruct rte_tm_error *error)\n {\n@@ -286,7 +286,7 @@ int rte_tm_node_resume(uint8_t port_id,\n }\n \n /* Commit the initial port traffic manager hierarchy */\n-int rte_tm_hierarchy_commit(uint8_t port_id,\n+int rte_tm_hierarchy_commit(uint16_t port_id,\n \tint clear_on_fail,\n \tstruct rte_tm_error *error)\n {\n@@ -296,7 +296,7 @@ int rte_tm_hierarchy_commit(uint8_t port_id,\n }\n \n /* Update node parent  */\n-int rte_tm_node_parent_update(uint8_t port_id,\n+int rte_tm_node_parent_update(uint16_t port_id,\n \tuint32_t node_id,\n \tuint32_t parent_node_id,\n \tuint32_t priority,\n@@ -309,7 +309,7 @@ int rte_tm_node_parent_update(uint8_t port_id,\n }\n \n /* Update node private shaper */\n-int rte_tm_node_shaper_update(uint8_t port_id,\n+int rte_tm_node_shaper_update(uint16_t port_id,\n \tuint32_t node_id,\n \tuint32_t shaper_profile_id,\n \tstruct rte_tm_error *error)\n@@ -320,7 +320,7 @@ int rte_tm_node_shaper_update(uint8_t port_id,\n }\n \n /* Update node shared shapers */\n-int rte_tm_node_shared_shaper_update(uint8_t port_id,\n+int rte_tm_node_shared_shaper_update(uint16_t port_id,\n \tuint32_t node_id,\n \tuint32_t shared_shaper_id,\n \tint add,\n@@ -332,7 +332,7 @@ int rte_tm_node_shared_shaper_update(uint8_t port_id,\n }\n \n /* Update node stats */\n-int rte_tm_node_stats_update(uint8_t port_id,\n+int rte_tm_node_stats_update(uint16_t port_id,\n \tuint32_t node_id,\n \tuint64_t stats_mask,\n \tstruct rte_tm_error *error)\n@@ -343,7 +343,7 @@ int rte_tm_node_stats_update(uint8_t port_id,\n }\n \n /* Update WFQ weight mode */\n-int rte_tm_node_wfq_weight_mode_update(uint8_t port_id,\n+int rte_tm_node_wfq_weight_mode_update(uint16_t port_id,\n \tuint32_t node_id,\n \tint *wfq_weight_mode,\n \tuint32_t n_sp_priorities,\n@@ -355,7 +355,7 @@ int rte_tm_node_wfq_weight_mode_update(uint8_t port_id,\n }\n \n /* Update node congestion management mode */\n-int rte_tm_node_cman_update(uint8_t port_id,\n+int rte_tm_node_cman_update(uint16_t port_id,\n \tuint32_t node_id,\n \tenum rte_tm_cman_mode cman,\n \tstruct rte_tm_error *error)\n@@ -366,7 +366,7 @@ int rte_tm_node_cman_update(uint8_t port_id,\n }\n \n /* Update node private WRED context */\n-int rte_tm_node_wred_context_update(uint8_t port_id,\n+int rte_tm_node_wred_context_update(uint16_t port_id,\n \tuint32_t node_id,\n \tuint32_t wred_profile_id,\n \tstruct rte_tm_error *error)\n@@ -377,7 +377,7 @@ int rte_tm_node_wred_context_update(uint8_t port_id,\n }\n \n /* Update node shared WRED context */\n-int rte_tm_node_shared_wred_context_update(uint8_t port_id,\n+int rte_tm_node_shared_wred_context_update(uint16_t port_id,\n \tuint32_t node_id,\n \tuint32_t shared_wred_context_id,\n \tint add,\n@@ -389,7 +389,7 @@ int rte_tm_node_shared_wred_context_update(uint8_t port_id,\n }\n \n /* Read and/or clear stats counters for specific node */\n-int rte_tm_node_stats_read(uint8_t port_id,\n+int rte_tm_node_stats_read(uint16_t port_id,\n \tuint32_t node_id,\n \tstruct rte_tm_node_stats *stats,\n \tuint64_t *stats_mask,\n@@ -402,7 +402,7 @@ int rte_tm_node_stats_read(uint8_t port_id,\n }\n \n /* Packet marking - VLAN DEI */\n-int rte_tm_mark_vlan_dei(uint8_t port_id,\n+int rte_tm_mark_vlan_dei(uint16_t port_id,\n \tint mark_green,\n \tint mark_yellow,\n \tint mark_red,\n@@ -414,7 +414,7 @@ int rte_tm_mark_vlan_dei(uint8_t port_id,\n }\n \n /* Packet marking - IPv4/IPv6 ECN */\n-int rte_tm_mark_ip_ecn(uint8_t port_id,\n+int rte_tm_mark_ip_ecn(uint16_t port_id,\n \tint mark_green,\n \tint mark_yellow,\n \tint mark_red,\n@@ -426,7 +426,7 @@ int rte_tm_mark_ip_ecn(uint8_t port_id,\n }\n \n /* Packet marking - IPv4/IPv6 DSCP */\n-int rte_tm_mark_ip_dscp(uint8_t port_id,\n+int rte_tm_mark_ip_dscp(uint16_t port_id,\n \tint mark_green,\n \tint mark_yellow,\n \tint mark_red,\ndiff --git a/lib/librte_ether/rte_tm.h b/lib/librte_ether/rte_tm.h\nindex ebbfa1eec..2b25a8715 100644\n--- a/lib/librte_ether/rte_tm.h\n+++ b/lib/librte_ether/rte_tm.h\n@@ -1040,7 +1040,7 @@ struct rte_tm_error {\n  *   0 on success, non-zero error code otherwise.\n  */\n int\n-rte_tm_get_number_of_leaf_nodes(uint8_t port_id,\n+rte_tm_get_number_of_leaf_nodes(uint16_t port_id,\n \tuint32_t *n_leaf_nodes,\n \tstruct rte_tm_error *error);\n \n@@ -1064,7 +1064,7 @@ rte_tm_get_number_of_leaf_nodes(uint8_t port_id,\n  *   0 on success, non-zero error code otherwise.\n  */\n int\n-rte_tm_node_type_get(uint8_t port_id,\n+rte_tm_node_type_get(uint16_t port_id,\n \tuint32_t node_id,\n \tint *is_leaf,\n \tstruct rte_tm_error *error);\n@@ -1082,7 +1082,7 @@ rte_tm_node_type_get(uint8_t port_id,\n  *   0 on success, non-zero error code otherwise.\n  */\n int\n-rte_tm_capabilities_get(uint8_t port_id,\n+rte_tm_capabilities_get(uint16_t port_id,\n \tstruct rte_tm_capabilities *cap,\n \tstruct rte_tm_error *error);\n \n@@ -1102,7 +1102,7 @@ rte_tm_capabilities_get(uint8_t port_id,\n  *   0 on success, non-zero error code otherwise.\n  */\n int\n-rte_tm_level_capabilities_get(uint8_t port_id,\n+rte_tm_level_capabilities_get(uint16_t port_id,\n \tuint32_t level_id,\n \tstruct rte_tm_level_capabilities *cap,\n \tstruct rte_tm_error *error);\n@@ -1122,7 +1122,7 @@ rte_tm_level_capabilities_get(uint8_t port_id,\n  *   0 on success, non-zero error code otherwise.\n  */\n int\n-rte_tm_node_capabilities_get(uint8_t port_id,\n+rte_tm_node_capabilities_get(uint16_t port_id,\n \tuint32_t node_id,\n \tstruct rte_tm_node_capabilities *cap,\n \tstruct rte_tm_error *error);\n@@ -1147,7 +1147,7 @@ rte_tm_node_capabilities_get(uint8_t port_id,\n  * @see struct rte_tm_capabilities::cman_wred_context_n_max\n  */\n int\n-rte_tm_wred_profile_add(uint8_t port_id,\n+rte_tm_wred_profile_add(uint16_t port_id,\n \tuint32_t wred_profile_id,\n \tstruct rte_tm_wred_params *profile,\n \tstruct rte_tm_error *error);\n@@ -1170,7 +1170,7 @@ rte_tm_wred_profile_add(uint8_t port_id,\n  * @see struct rte_tm_capabilities::cman_wred_context_n_max\n  */\n int\n-rte_tm_wred_profile_delete(uint8_t port_id,\n+rte_tm_wred_profile_delete(uint16_t port_id,\n \tuint32_t wred_profile_id,\n \tstruct rte_tm_error *error);\n \n@@ -1201,7 +1201,7 @@ rte_tm_wred_profile_delete(uint8_t port_id,\n  * @see struct rte_tm_capabilities::cman_wred_context_shared_n_max\n  */\n int\n-rte_tm_shared_wred_context_add_update(uint8_t port_id,\n+rte_tm_shared_wred_context_add_update(uint16_t port_id,\n \tuint32_t shared_wred_context_id,\n \tuint32_t wred_profile_id,\n \tstruct rte_tm_error *error);\n@@ -1225,7 +1225,7 @@ rte_tm_shared_wred_context_add_update(uint8_t port_id,\n  * @see struct rte_tm_capabilities::cman_wred_context_shared_n_max\n  */\n int\n-rte_tm_shared_wred_context_delete(uint8_t port_id,\n+rte_tm_shared_wred_context_delete(uint16_t port_id,\n \tuint32_t shared_wred_context_id,\n \tstruct rte_tm_error *error);\n \n@@ -1249,7 +1249,7 @@ rte_tm_shared_wred_context_delete(uint8_t port_id,\n  * @see struct rte_tm_capabilities::shaper_n_max\n  */\n int\n-rte_tm_shaper_profile_add(uint8_t port_id,\n+rte_tm_shaper_profile_add(uint16_t port_id,\n \tuint32_t shaper_profile_id,\n \tstruct rte_tm_shaper_params *profile,\n \tstruct rte_tm_error *error);\n@@ -1272,7 +1272,7 @@ rte_tm_shaper_profile_add(uint8_t port_id,\n  * @see struct rte_tm_capabilities::shaper_n_max\n  */\n int\n-rte_tm_shaper_profile_delete(uint8_t port_id,\n+rte_tm_shaper_profile_delete(uint16_t port_id,\n \tuint32_t shaper_profile_id,\n \tstruct rte_tm_error *error);\n \n@@ -1301,7 +1301,7 @@ rte_tm_shaper_profile_delete(uint8_t port_id,\n  * @see struct rte_tm_capabilities::shaper_shared_n_max\n  */\n int\n-rte_tm_shared_shaper_add_update(uint8_t port_id,\n+rte_tm_shared_shaper_add_update(uint16_t port_id,\n \tuint32_t shared_shaper_id,\n \tuint32_t shaper_profile_id,\n \tstruct rte_tm_error *error);\n@@ -1324,7 +1324,7 @@ rte_tm_shared_shaper_add_update(uint8_t port_id,\n  * @see struct rte_tm_capabilities::shaper_shared_n_max\n  */\n int\n-rte_tm_shared_shaper_delete(uint8_t port_id,\n+rte_tm_shared_shaper_delete(uint16_t port_id,\n \tuint32_t shared_shaper_id,\n \tstruct rte_tm_error *error);\n \n@@ -1392,7 +1392,7 @@ rte_tm_shared_shaper_delete(uint8_t port_id,\n  * @see struct rte_tm_capabilities\n  */\n int\n-rte_tm_node_add(uint8_t port_id,\n+rte_tm_node_add(uint16_t port_id,\n \tuint32_t node_id,\n \tuint32_t parent_node_id,\n \tuint32_t priority,\n@@ -1425,7 +1425,7 @@ rte_tm_node_add(uint8_t port_id,\n  * @see RTE_TM_UPDATE_NODE_ADD_DELETE\n  */\n int\n-rte_tm_node_delete(uint8_t port_id,\n+rte_tm_node_delete(uint16_t port_id,\n \tuint32_t node_id,\n \tstruct rte_tm_error *error);\n \n@@ -1449,7 +1449,7 @@ rte_tm_node_delete(uint8_t port_id,\n  * @see RTE_TM_UPDATE_NODE_SUSPEND_RESUME\n  */\n int\n-rte_tm_node_suspend(uint8_t port_id,\n+rte_tm_node_suspend(uint16_t port_id,\n \tuint32_t node_id,\n \tstruct rte_tm_error *error);\n \n@@ -1472,7 +1472,7 @@ rte_tm_node_suspend(uint8_t port_id,\n  * @see RTE_TM_UPDATE_NODE_SUSPEND_RESUME\n  */\n int\n-rte_tm_node_resume(uint8_t port_id,\n+rte_tm_node_resume(uint16_t port_id,\n \tuint32_t node_id,\n \tstruct rte_tm_error *error);\n \n@@ -1513,7 +1513,7 @@ rte_tm_node_resume(uint8_t port_id,\n  * @see rte_tm_node_delete()\n  */\n int\n-rte_tm_hierarchy_commit(uint8_t port_id,\n+rte_tm_hierarchy_commit(uint16_t port_id,\n \tint clear_on_fail,\n \tstruct rte_tm_error *error);\n \n@@ -1549,7 +1549,7 @@ rte_tm_hierarchy_commit(uint8_t port_id,\n  * @see RTE_TM_UPDATE_NODE_PARENT_CHANGE_LEVEL\n  */\n int\n-rte_tm_node_parent_update(uint8_t port_id,\n+rte_tm_node_parent_update(uint16_t port_id,\n \tuint32_t node_id,\n \tuint32_t parent_node_id,\n \tuint32_t priority,\n@@ -1578,7 +1578,7 @@ rte_tm_node_parent_update(uint8_t port_id,\n  * @see struct rte_tm_capabilities::shaper_private_n_max\n  */\n int\n-rte_tm_node_shaper_update(uint8_t port_id,\n+rte_tm_node_shaper_update(uint16_t port_id,\n \tuint32_t node_id,\n \tuint32_t shaper_profile_id,\n \tstruct rte_tm_error *error);\n@@ -1605,7 +1605,7 @@ rte_tm_node_shaper_update(uint8_t port_id,\n  * @see struct rte_tm_capabilities::shaper_shared_n_max\n  */\n int\n-rte_tm_node_shared_shaper_update(uint8_t port_id,\n+rte_tm_node_shared_shaper_update(uint16_t port_id,\n \tuint32_t node_id,\n \tuint32_t shared_shaper_id,\n \tint add,\n@@ -1632,7 +1632,7 @@ rte_tm_node_shared_shaper_update(uint8_t port_id,\n  * @see RTE_TM_UPDATE_NODE_STATS\n  */\n int\n-rte_tm_node_stats_update(uint8_t port_id,\n+rte_tm_node_stats_update(uint16_t port_id,\n \tuint32_t node_id,\n \tuint64_t stats_mask,\n \tstruct rte_tm_error *error);\n@@ -1660,7 +1660,7 @@ rte_tm_node_stats_update(uint8_t port_id,\n  * @see RTE_TM_UPDATE_NODE_N_SP_PRIORITIES\n  */\n int\n-rte_tm_node_wfq_weight_mode_update(uint8_t port_id,\n+rte_tm_node_wfq_weight_mode_update(uint16_t port_id,\n \tuint32_t node_id,\n \tint *wfq_weight_mode,\n \tuint32_t n_sp_priorities,\n@@ -1683,7 +1683,7 @@ rte_tm_node_wfq_weight_mode_update(uint8_t port_id,\n  * @see RTE_TM_UPDATE_NODE_CMAN\n  */\n int\n-rte_tm_node_cman_update(uint8_t port_id,\n+rte_tm_node_cman_update(uint16_t port_id,\n \tuint32_t node_id,\n \tenum rte_tm_cman_mode cman,\n \tstruct rte_tm_error *error);\n@@ -1707,7 +1707,7 @@ rte_tm_node_cman_update(uint8_t port_id,\n  * @see struct rte_tm_capabilities::cman_wred_context_private_n_max\n */\n int\n-rte_tm_node_wred_context_update(uint8_t port_id,\n+rte_tm_node_wred_context_update(uint16_t port_id,\n \tuint32_t node_id,\n \tuint32_t wred_profile_id,\n \tstruct rte_tm_error *error);\n@@ -1732,7 +1732,7 @@ rte_tm_node_wred_context_update(uint8_t port_id,\n  * @see struct rte_tm_capabilities::cman_wred_context_shared_n_max\n  */\n int\n-rte_tm_node_shared_wred_context_update(uint8_t port_id,\n+rte_tm_node_shared_wred_context_update(uint16_t port_id,\n \tuint32_t node_id,\n \tuint32_t shared_wred_context_id,\n \tint add,\n@@ -1764,7 +1764,7 @@ rte_tm_node_shared_wred_context_update(uint8_t port_id,\n  * @see enum rte_tm_stats_type\n  */\n int\n-rte_tm_node_stats_read(uint8_t port_id,\n+rte_tm_node_stats_read(uint16_t port_id,\n \tuint32_t node_id,\n \tstruct rte_tm_node_stats *stats,\n \tuint64_t *stats_mask,\n@@ -1801,7 +1801,7 @@ rte_tm_node_stats_read(uint8_t port_id,\n  * @see struct rte_tm_capabilities::mark_vlan_dei_supported\n  */\n int\n-rte_tm_mark_vlan_dei(uint8_t port_id,\n+rte_tm_mark_vlan_dei(uint16_t port_id,\n \tint mark_green,\n \tint mark_yellow,\n \tint mark_red,\n@@ -1851,7 +1851,7 @@ rte_tm_mark_vlan_dei(uint8_t port_id,\n  * @see struct rte_tm_capabilities::mark_ip_ecn_sctp_supported\n  */\n int\n-rte_tm_mark_ip_ecn(uint8_t port_id,\n+rte_tm_mark_ip_ecn(uint16_t port_id,\n \tint mark_green,\n \tint mark_yellow,\n \tint mark_red,\n@@ -1899,7 +1899,7 @@ rte_tm_mark_ip_ecn(uint8_t port_id,\n  * @see struct rte_tm_capabilities::mark_ip_dscp_supported\n  */\n int\n-rte_tm_mark_ip_dscp(uint8_t port_id,\n+rte_tm_mark_ip_dscp(uint16_t port_id,\n \tint mark_green,\n \tint mark_yellow,\n \tint mark_red,\ndiff --git a/lib/librte_ether/rte_tm_driver.h b/lib/librte_ether/rte_tm_driver.h\nindex a5b698fe0..b2e8ccf80 100644\n--- a/lib/librte_ether/rte_tm_driver.h\n+++ b/lib/librte_ether/rte_tm_driver.h\n@@ -357,7 +357,7 @@ rte_tm_error_set(struct rte_tm_error *error,\n  *   success, NULL otherwise.\n  */\n const struct rte_tm_ops *\n-rte_tm_ops_get(uint8_t port_id, struct rte_tm_error *error);\n+rte_tm_ops_get(uint16_t port_id, struct rte_tm_error *error);\n \n #ifdef __cplusplus\n }\ndiff --git a/lib/librte_kni/Makefile b/lib/librte_kni/Makefile\nindex 70f1ca8f6..43c115ddd 100644\n--- a/lib/librte_kni/Makefile\n+++ b/lib/librte_kni/Makefile\n@@ -38,7 +38,7 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3 -fno-strict-aliasing\n \n EXPORT_MAP := rte_kni_version.map\n \n-LIBABIVER := 2\n+LIBABIVER := 3\n \n # all source are stored in SRCS-y\n SRCS-$(CONFIG_RTE_LIBRTE_KNI) := rte_kni.c\ndiff --git a/lib/librte_kni/rte_kni.h b/lib/librte_kni/rte_kni.h\nindex 37deb4727..87812cd55 100644\n--- a/lib/librte_kni/rte_kni.h\n+++ b/lib/librte_kni/rte_kni.h\n@@ -63,13 +63,13 @@ struct rte_mbuf;\n  * Structure which has the function pointers for KNI interface.\n  */\n struct rte_kni_ops {\n-\tuint8_t port_id; /* Port ID */\n+\tuint16_t port_id; /* Port ID */\n \n \t/* Pointer to function of changing MTU */\n-\tint (*change_mtu)(uint8_t port_id, unsigned new_mtu);\n+\tint (*change_mtu)(uint16_t port_id, unsigned int new_mtu);\n \n \t/* Pointer to function of configuring network interface */\n-\tint (*config_network_if)(uint8_t port_id, uint8_t if_up);\n+\tint (*config_network_if)(uint16_t port_id, uint8_t if_up);\n };\n \n /**\ndiff --git a/lib/librte_latencystats/rte_latencystats.c b/lib/librte_latencystats/rte_latencystats.c\nindex ce029a12c..d6ad13c4e 100644\n--- a/lib/librte_latencystats/rte_latencystats.c\n+++ b/lib/librte_latencystats/rte_latencystats.c\n@@ -135,7 +135,7 @@ rte_latencystats_fill_values(struct rte_metric_value *values)\n }\n \n static uint16_t\n-add_time_stamps(uint8_t pid __rte_unused,\n+add_time_stamps(uint16_t pid __rte_unused,\n \t\tuint16_t qid __rte_unused,\n \t\tstruct rte_mbuf **pkts,\n \t\tuint16_t nb_pkts,\n@@ -165,7 +165,7 @@ add_time_stamps(uint8_t pid __rte_unused,\n }\n \n static uint16_t\n-calc_latency(uint8_t pid __rte_unused,\n+calc_latency(uint16_t pid __rte_unused,\n \t\tuint16_t qid __rte_unused,\n \t\tstruct rte_mbuf **pkts,\n \t\tuint16_t nb_pkts,\n@@ -226,10 +226,10 @@ rte_latencystats_init(uint64_t app_samp_intvl,\n \t\trte_latency_stats_flow_type_fn user_cb)\n {\n \tunsigned int i;\n-\tuint8_t pid;\n+\tuint16_t pid;\n \tuint16_t qid;\n \tstruct rxtx_cbs *cbs = NULL;\n-\tconst uint8_t nb_ports = rte_eth_dev_count();\n+\tconst uint16_t nb_ports = rte_eth_dev_count();\n \tconst char *ptr_strings[NUM_LATENCY_STATS] = {0};\n \tconst struct rte_memzone *mz = NULL;\n \tconst unsigned int flags = 0;\n@@ -290,11 +290,11 @@ rte_latencystats_init(uint64_t app_samp_intvl,\n int\n rte_latencystats_uninit(void)\n {\n-\tuint8_t pid;\n+\tuint16_t pid;\n \tuint16_t qid;\n \tint ret = 0;\n \tstruct rxtx_cbs *cbs = NULL;\n-\tconst uint8_t nb_ports = rte_eth_dev_count();\n+\tconst uint16_t nb_ports = rte_eth_dev_count();\n \n \t/** De register Rx/Tx callbacks */\n \tfor (pid = 0; pid < nb_ports; pid++) {\ndiff --git a/lib/librte_pdump/Makefile b/lib/librte_pdump/Makefile\nindex 1c03bcbb7..6b21c62e5 100644\n--- a/lib/librte_pdump/Makefile\n+++ b/lib/librte_pdump/Makefile\n@@ -40,7 +40,7 @@ LDLIBS += -lpthread\n \n EXPORT_MAP := rte_pdump_version.map\n \n-LIBABIVER := 1\n+LIBABIVER := 2\n \n # all source are stored in SRCS-y\n SRCS-$(CONFIG_RTE_LIBRTE_PDUMP) := rte_pdump.c\ndiff --git a/lib/librte_pdump/rte_pdump.c b/lib/librte_pdump/rte_pdump.c\nindex 729e79a36..e6182d35c 100644\n--- a/lib/librte_pdump/rte_pdump.c\n+++ b/lib/librte_pdump/rte_pdump.c\n@@ -207,7 +207,7 @@ pdump_copy(struct rte_mbuf **pkts, uint16_t nb_pkts, void *user_params)\n }\n \n static uint16_t\n-pdump_rx(uint8_t port __rte_unused, uint16_t qidx __rte_unused,\n+pdump_rx(uint16_t port __rte_unused, uint16_t qidx __rte_unused,\n \tstruct rte_mbuf **pkts, uint16_t nb_pkts,\n \tuint16_t max_pkts __rte_unused,\n \tvoid *user_params)\n@@ -217,7 +217,7 @@ pdump_rx(uint8_t port __rte_unused, uint16_t qidx __rte_unused,\n }\n \n static uint16_t\n-pdump_tx(uint8_t port __rte_unused, uint16_t qidx __rte_unused,\n+pdump_tx(uint16_t port __rte_unused, uint16_t qidx __rte_unused,\n \t\tstruct rte_mbuf **pkts, uint16_t nb_pkts, void *user_params)\n {\n \tpdump_copy(pkts, nb_pkts, user_params);\n@@ -225,7 +225,7 @@ pdump_tx(uint8_t port __rte_unused, uint16_t qidx __rte_unused,\n }\n \n static int\n-pdump_regitser_rx_callbacks(uint16_t end_q, uint8_t port, uint16_t queue,\n+pdump_regitser_rx_callbacks(uint16_t end_q, uint16_t port, uint16_t queue,\n \t\t\t\tstruct rte_ring *ring, struct rte_mempool *mp,\n \t\t\t\tuint16_t operation)\n {\n@@ -279,7 +279,7 @@ pdump_regitser_rx_callbacks(uint16_t end_q, uint8_t port, uint16_t queue,\n }\n \n static int\n-pdump_regitser_tx_callbacks(uint16_t end_q, uint8_t port, uint16_t queue,\n+pdump_regitser_tx_callbacks(uint16_t end_q, uint16_t port, uint16_t queue,\n \t\t\t\tstruct rte_ring *ring, struct rte_mempool *mp,\n \t\t\t\tuint16_t operation)\n {\n@@ -337,7 +337,7 @@ static int\n set_pdump_rxtx_cbs(struct pdump_request *p)\n {\n \tuint16_t nb_rx_q = 0, nb_tx_q = 0, end_q, queue;\n-\tuint8_t port;\n+\tuint16_t port;\n \tint ret = 0;\n \tuint32_t flags;\n \tuint16_t operation;\n@@ -764,7 +764,7 @@ pdump_validate_flags(uint32_t flags)\n }\n \n static int\n-pdump_validate_port(uint8_t port, char *name)\n+pdump_validate_port(uint16_t port, char *name)\n {\n \tint ret = 0;\n \n@@ -828,7 +828,7 @@ pdump_prepare_client_request(char *device, uint16_t queue,\n }\n \n int\n-rte_pdump_enable(uint8_t port, uint16_t queue, uint32_t flags,\n+rte_pdump_enable(uint16_t port, uint16_t queue, uint32_t flags,\n \t\t\tstruct rte_ring *ring,\n \t\t\tstruct rte_mempool *mp,\n \t\t\tvoid *filter)\n@@ -876,7 +876,7 @@ rte_pdump_enable_by_deviceid(char *device_id, uint16_t queue,\n }\n \n int\n-rte_pdump_disable(uint8_t port, uint16_t queue, uint32_t flags)\n+rte_pdump_disable(uint16_t port, uint16_t queue, uint32_t flags)\n {\n \tint ret = 0;\n \tchar name[DEVICE_ID_SIZE];\ndiff --git a/lib/librte_pdump/rte_pdump.h b/lib/librte_pdump/rte_pdump.h\nindex ba6e39b09..4ec0a106f 100644\n--- a/lib/librte_pdump/rte_pdump.h\n+++ b/lib/librte_pdump/rte_pdump.h\n@@ -113,7 +113,7 @@ rte_pdump_uninit(void);\n  */\n \n int\n-rte_pdump_enable(uint8_t port, uint16_t queue, uint32_t flags,\n+rte_pdump_enable(uint16_t port, uint16_t queue, uint32_t flags,\n \t\tstruct rte_ring *ring,\n \t\tstruct rte_mempool *mp,\n \t\tvoid *filter);\n@@ -136,7 +136,7 @@ rte_pdump_enable(uint8_t port, uint16_t queue, uint32_t flags,\n  */\n \n int\n-rte_pdump_disable(uint8_t port, uint16_t queue, uint32_t flags);\n+rte_pdump_disable(uint16_t port, uint16_t queue, uint32_t flags);\n \n /**\n  * Enables packet capturing on given device id and queue.\ndiff --git a/lib/librte_port/Makefile b/lib/librte_port/Makefile\nindex 76629a13a..c2b1b2ce4 100644\n--- a/lib/librte_port/Makefile\n+++ b/lib/librte_port/Makefile\n@@ -44,7 +44,7 @@ CFLAGS += $(WERROR_FLAGS)\n \n EXPORT_MAP := rte_port_version.map\n \n-LIBABIVER := 3\n+LIBABIVER := 4\n \n #\n # all source are stored in SRCS-y\ndiff --git a/lib/librte_port/rte_port_ethdev.c b/lib/librte_port/rte_port_ethdev.c\nindex d5c5fba55..4ed10f276 100644\n--- a/lib/librte_port/rte_port_ethdev.c\n+++ b/lib/librte_port/rte_port_ethdev.c\n@@ -60,7 +60,7 @@ struct rte_port_ethdev_reader {\n \tstruct rte_port_in_stats stats;\n \n \tuint16_t queue_id;\n-\tuint8_t port_id;\n+\tuint16_t port_id;\n };\n \n static void *\n@@ -156,7 +156,7 @@ struct rte_port_ethdev_writer {\n \tuint16_t tx_buf_count;\n \tuint64_t bsz_mask;\n \tuint16_t queue_id;\n-\tuint8_t port_id;\n+\tuint16_t port_id;\n };\n \n static void *\n@@ -337,7 +337,7 @@ struct rte_port_ethdev_writer_nodrop {\n \tuint64_t bsz_mask;\n \tuint64_t n_retries;\n \tuint16_t queue_id;\n-\tuint8_t port_id;\n+\tuint16_t port_id;\n };\n \n static void *\ndiff --git a/lib/librte_port/rte_port_ethdev.h b/lib/librte_port/rte_port_ethdev.h\nindex 201a79e41..f5ed9ab2d 100644\n--- a/lib/librte_port/rte_port_ethdev.h\n+++ b/lib/librte_port/rte_port_ethdev.h\n@@ -54,7 +54,7 @@ extern \"C\" {\n /** ethdev_reader port parameters */\n struct rte_port_ethdev_reader_params {\n \t/** NIC RX port ID */\n-\tuint8_t port_id;\n+\tuint16_t port_id;\n \n \t/** NIC RX queue ID */\n \tuint16_t queue_id;\n@@ -66,7 +66,7 @@ extern struct rte_port_in_ops rte_port_ethdev_reader_ops;\n /** ethdev_writer port parameters */\n struct rte_port_ethdev_writer_params {\n \t/** NIC RX port ID */\n-\tuint8_t port_id;\n+\tuint16_t port_id;\n \n \t/** NIC RX queue ID */\n \tuint16_t queue_id;\n@@ -82,7 +82,7 @@ extern struct rte_port_out_ops rte_port_ethdev_writer_ops;\n /** ethdev_writer_nodrop port parameters */\n struct rte_port_ethdev_writer_nodrop_params {\n \t/** NIC RX port ID */\n-\tuint8_t port_id;\n+\tuint16_t port_id;\n \n \t/** NIC RX queue ID */\n \tuint16_t queue_id;\n",
    "prefixes": [
        "dpdk-dev",
        "v5",
        "2/5"
    ]
}