fix various typos found by Lintian
[dpdk.git] / app / test-pmd / cmdline.c
index dab22bc..1375f22 100644 (file)
@@ -80,9 +80,9 @@ struct cmd_help_brief_result {
        cmdline_fixed_string_t help;
 };
 
-static void cmd_help_brief_parsed(__attribute__((unused)) void *parsed_result,
+static void cmd_help_brief_parsed(__rte_unused void *parsed_result,
                                   struct cmdline *cl,
-                                  __attribute__((unused)) void *data)
+                                  __rte_unused void *data)
 {
        cmdline_printf(
                cl,
@@ -95,7 +95,7 @@ static void cmd_help_brief_parsed(__attribute__((unused)) void *parsed_result,
                "    help ports                      : Configuring ports.\n"
                "    help registers                  : Reading and setting port registers.\n"
                "    help filters                    : Filters configuration help.\n"
-               "    help traffic_management         : Traffic Management commmands.\n"
+               "    help traffic_management         : Traffic Management commands.\n"
                "    help devices                    : Device related cmds.\n"
                "    help all                        : All of the above sections.\n\n"
        );
@@ -123,7 +123,7 @@ struct cmd_help_long_result {
 
 static void cmd_help_long_parsed(void *parsed_result,
                                  struct cmdline *cl,
-                                 __attribute__((unused)) void *data)
+                                 __rte_unused void *data)
 {
        int show_all = 0;
        struct cmd_help_long_result *res = parsed_result;
@@ -1304,8 +1304,8 @@ struct cmd_operate_port_result {
 };
 
 static void cmd_operate_port_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_operate_port_result *res = parsed_result;
 
@@ -1350,8 +1350,8 @@ struct cmd_operate_specific_port_result {
 };
 
 static void cmd_operate_specific_port_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_operate_specific_port_result *res = parsed_result;
 
@@ -1399,8 +1399,8 @@ struct cmd_set_port_setup_on_result {
 };
 
 static void cmd_set_port_setup_on_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_set_port_setup_on_result *res = parsed_result;
 
@@ -1446,12 +1446,12 @@ cmdline_parse_inst_t cmd_set_port_setup_on = {
 struct cmd_operate_attach_port_result {
        cmdline_fixed_string_t port;
        cmdline_fixed_string_t keyword;
-       cmdline_fixed_string_t identifier;
+       cmdline_multi_string_t identifier;
 };
 
 static void cmd_operate_attach_port_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_operate_attach_port_result *res = parsed_result;
 
@@ -1469,7 +1469,7 @@ cmdline_parse_token_string_t cmd_operate_attach_port_keyword =
                        keyword, "attach");
 cmdline_parse_token_string_t cmd_operate_attach_port_identifier =
        TOKEN_STRING_INITIALIZER(struct cmd_operate_attach_port_result,
-                       identifier, NULL);
+                       identifier, TOKEN_STRING_MULTI);
 
 cmdline_parse_inst_t cmd_operate_attach_port = {
        .f = cmd_operate_attach_port_parsed,
@@ -1492,15 +1492,17 @@ struct cmd_operate_detach_port_result {
 };
 
 static void cmd_operate_detach_port_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_operate_detach_port_result *res = parsed_result;
 
-       if (!strcmp(res->keyword, "detach"))
+       if (!strcmp(res->keyword, "detach")) {
+               RTE_ETH_VALID_PORTID_OR_RET(res->port_id);
                detach_port_device(res->port_id);
-       else
+       } else {
                printf("Unknown parameter\n");
+       }
 }
 
 cmdline_parse_token_string_t cmd_operate_detach_port_port =
@@ -1533,13 +1535,13 @@ struct cmd_operate_detach_device_result {
 };
 
 static void cmd_operate_detach_device_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_operate_detach_device_result *res = parsed_result;
 
        if (!strcmp(res->keyword, "detach"))
-               detach_device(res->identifier);
+               detach_devargs(res->identifier);
        else
                printf("Unknown parameter\n");
 }
@@ -1630,8 +1632,8 @@ parse_and_check_speed_duplex(char *speedstr, char *duplexstr, uint32_t *speed)
 
 static void
 cmd_config_speed_all_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct cmd_config_speed_all *res = parsed_result;
        uint32_t link_speed;
@@ -1702,8 +1704,8 @@ struct cmd_config_speed_specific {
 
 static void
 cmd_config_speed_specific_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_config_speed_specific *res = parsed_result;
        uint32_t link_speed;
@@ -1776,8 +1778,8 @@ struct cmd_config_loopback_all {
 
 static void
 cmd_config_loopback_all_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct cmd_config_loopback_all *res = parsed_result;
        portid_t pid;
@@ -1832,8 +1834,8 @@ struct cmd_config_loopback_specific {
 
 static void
 cmd_config_loopback_specific_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_config_loopback_specific *res = parsed_result;
 
@@ -1892,8 +1894,8 @@ struct cmd_config_rx_tx {
 
 static void
 cmd_config_rx_tx_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct cmd_config_rx_tx *res = parsed_result;
 
@@ -1920,18 +1922,13 @@ cmd_config_rx_tx_parsed(void *parsed_result,
                nb_txq = res->value;
        }
        else if (!strcmp(res->name, "rxd")) {
-               if (res->value <= 0 || res->value > RTE_TEST_RX_DESC_MAX) {
-                       printf("rxd %d invalid - must be > 0 && <= %d\n",
-                                       res->value, RTE_TEST_RX_DESC_MAX);
+               if (check_nb_rxd(res->value) != 0)
                        return;
-               }
                nb_rxd = res->value;
        } else if (!strcmp(res->name, "txd")) {
-               if (res->value <= 0 || res->value > RTE_TEST_TX_DESC_MAX) {
-                       printf("txd %d invalid - must be > 0 && <= %d\n",
-                                       res->value, RTE_TEST_TX_DESC_MAX);
+               if (check_nb_txd(res->value) != 0)
                        return;
-               }
+
                nb_txd = res->value;
        } else {
                printf("Unknown parameter\n");
@@ -1982,8 +1979,8 @@ struct cmd_config_max_pkt_len_result {
 
 static void
 cmd_config_max_pkt_len_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_config_max_pkt_len_result *res = parsed_result;
        portid_t pid;
@@ -2064,8 +2061,8 @@ struct cmd_config_max_lro_pkt_size_result {
 
 static void
 cmd_config_max_lro_pkt_size_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_config_max_lro_pkt_size_result *res = parsed_result;
        portid_t pid;
@@ -2136,8 +2133,8 @@ struct cmd_config_mtu_result {
 
 static void
 cmd_config_mtu_parsed(void *parsed_result,
-                     __attribute__((unused)) struct cmdline *cl,
-                     __attribute__((unused)) void *data)
+                     __rte_unused struct cmdline *cl,
+                     __rte_unused void *data)
 {
        struct cmd_config_mtu_result *res = parsed_result;
 
@@ -2187,8 +2184,8 @@ struct cmd_config_rx_mode_flag {
 
 static void
 cmd_config_rx_mode_flag_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_config_rx_mode_flag *res = parsed_result;
 
@@ -2255,8 +2252,8 @@ struct cmd_config_rss {
 
 static void
 cmd_config_rss_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct cmd_config_rss *res = parsed_result;
        struct rte_eth_rss_conf rss_conf = { .rss_key_len = 0, };
@@ -2268,9 +2265,14 @@ cmd_config_rss_parsed(void *parsed_result,
        int ret;
 
        if (!strcmp(res->value, "all"))
-               rss_conf.rss_hf = ETH_RSS_IP | ETH_RSS_TCP |
-                               ETH_RSS_UDP | ETH_RSS_SCTP |
-                                       ETH_RSS_L2_PAYLOAD;
+               rss_conf.rss_hf = ETH_RSS_ETH | ETH_RSS_VLAN | ETH_RSS_IP |
+                       ETH_RSS_TCP | ETH_RSS_UDP | ETH_RSS_SCTP |
+                       ETH_RSS_L2_PAYLOAD | ETH_RSS_L2TPV3 | ETH_RSS_ESP |
+                       ETH_RSS_AH | ETH_RSS_PFCP;
+       else if (!strcmp(res->value, "eth"))
+               rss_conf.rss_hf = ETH_RSS_ETH;
+       else if (!strcmp(res->value, "vlan"))
+               rss_conf.rss_hf = ETH_RSS_VLAN;
        else if (!strcmp(res->value, "ip"))
                rss_conf.rss_hf = ETH_RSS_IP;
        else if (!strcmp(res->value, "udp"))
@@ -2297,6 +2299,18 @@ cmd_config_rss_parsed(void *parsed_result,
                rss_conf.rss_hf = ETH_RSS_L4_SRC_ONLY;
        else if (!strcmp(res->value, "l4-dst-only"))
                rss_conf.rss_hf = ETH_RSS_L4_DST_ONLY;
+       else if (!strcmp(res->value, "l2-src-only"))
+               rss_conf.rss_hf = ETH_RSS_L2_SRC_ONLY;
+       else if (!strcmp(res->value, "l2-dst-only"))
+               rss_conf.rss_hf = ETH_RSS_L2_DST_ONLY;
+       else if (!strcmp(res->value, "l2tpv3"))
+               rss_conf.rss_hf = ETH_RSS_L2TPV3;
+       else if (!strcmp(res->value, "esp"))
+               rss_conf.rss_hf = ETH_RSS_ESP;
+       else if (!strcmp(res->value, "ah"))
+               rss_conf.rss_hf = ETH_RSS_AH;
+       else if (!strcmp(res->value, "pfcp"))
+               rss_conf.rss_hf = ETH_RSS_PFCP;
        else if (!strcmp(res->value, "none"))
                rss_conf.rss_hf = 0;
        else if (!strcmp(res->value, "default"))
@@ -2336,8 +2350,10 @@ cmd_config_rss_parsed(void *parsed_result,
                                i, -diag, strerror(-diag));
                }
        }
-       if (all_updated && !use_default)
+       if (all_updated && !use_default) {
                rss_hf = rss_conf.rss_hf;
+               printf("rss_hf %#"PRIx64"\n", rss_hf);
+       }
 }
 
 cmdline_parse_token_string_t cmd_config_rss_port =
@@ -2355,7 +2371,8 @@ cmdline_parse_inst_t cmd_config_rss = {
        .f = cmd_config_rss_parsed,
        .data = NULL,
        .help_str = "port config all rss "
-               "all|default|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|vxlan-gpe|none|<flowtype_id>",
+               "all|default|eth|vlan|ip|tcp|udp|sctp|ether|port|vxlan|geneve|"
+               "nvgre|vxlan-gpe|l2tpv3|esp|ah|pfcp|none|<flowtype_id>",
        .tokens = {
                (void *)&cmd_config_rss_port,
                (void *)&cmd_config_rss_keyword,
@@ -2403,8 +2420,8 @@ parse_and_check_key_hexa_digit(char *key, int idx)
 
 static void
 cmd_config_rss_hash_key_parsed(void *parsed_result,
-                              __attribute__((unused)) struct cmdline *cl,
-                              __attribute__((unused)) void *data)
+                              __rte_unused struct cmdline *cl,
+                              __rte_unused void *data)
 {
        struct cmd_config_rss_hash_key *res = parsed_result;
        uint8_t hash_key[RSS_HASH_KEY_LENGTH];
@@ -2465,7 +2482,9 @@ cmdline_parse_token_string_t cmd_config_rss_hash_key_rss_type =
                                 "ipv4-other#ipv6#ipv6-frag#ipv6-tcp#ipv6-udp#"
                                 "ipv6-sctp#ipv6-other#l2-payload#ipv6-ex#"
                                 "ipv6-tcp-ex#ipv6-udp-ex#"
-                                "l3-src-only#l3-dst-only#l4-src-only#l4-dst-only");
+                                "l3-src-only#l3-dst-only#l4-src-only#l4-dst-only#"
+                                "l2-src-only#l2-dst-only#s-vlan#c-vlan#"
+                                "l2tpv3#esp#ah#pfcp");
 cmdline_parse_token_string_t cmd_config_rss_hash_key_value =
        TOKEN_STRING_INITIALIZER(struct cmd_config_rss_hash_key, key, NULL);
 
@@ -2476,7 +2495,9 @@ cmdline_parse_inst_t cmd_config_rss_hash_key = {
                "ipv4|ipv4-frag|ipv4-tcp|ipv4-udp|ipv4-sctp|ipv4-other|"
                "ipv6|ipv6-frag|ipv6-tcp|ipv6-udp|ipv6-sctp|ipv6-other|"
                "l2-payload|ipv6-ex|ipv6-tcp-ex|ipv6-udp-ex|"
-               "l3-src-only|l3-dst-only|l4-src-only|l4-dst-only "
+               "l3-src-only|l3-dst-only|l4-src-only|l4-dst-only|"
+               "l2-src-only|l2-dst-only|s-vlan|c-vlan|"
+               "l2tpv3|esp|ah|pfcp "
                "<string of hex digits (variable length, NIC dependent)>",
        .tokens = {
                (void *)&cmd_config_rss_hash_key_port,
@@ -2502,8 +2523,8 @@ struct cmd_config_rxtx_ring_size {
 
 static void
 cmd_config_rxtx_ring_size_parsed(void *parsed_result,
-                                __attribute__((unused)) struct cmdline *cl,
-                                __attribute__((unused)) void *data)
+                                __rte_unused struct cmdline *cl,
+                                __rte_unused void *data)
 {
        struct cmd_config_rxtx_ring_size *res = parsed_result;
        struct rte_port *port;
@@ -2596,8 +2617,8 @@ struct cmd_config_rxtx_queue {
 
 static void
 cmd_config_rxtx_queue_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct cmd_config_rxtx_queue *res = parsed_result;
        uint8_t isrx;
@@ -2691,8 +2712,8 @@ struct cmd_config_deferred_start_rxtx_queue {
 
 static void
 cmd_config_deferred_start_rxtx_queue_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct cmd_config_deferred_start_rxtx_queue *res = parsed_result;
        struct rte_port *port;
@@ -2789,8 +2810,8 @@ cmdline_parse_token_string_t cmd_setup_rxtx_queue_setup =
 static void
 cmd_setup_rxtx_queue_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_setup_rxtx_queue *res = parsed_result;
        struct rte_port *port;
@@ -2945,8 +2966,8 @@ parse_reta_config(const char *str,
 
 static void
 cmd_set_rss_reta_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        int ret;
        struct rte_eth_dev_info dev_info;
@@ -3067,8 +3088,8 @@ showport_parse_reta_config(struct rte_eth_rss_reta_entry64 *conf,
 
 static void
 cmd_showport_reta_parsed(void *parsed_result,
-                        __attribute__((unused)) struct cmdline *cl,
-                        __attribute__((unused)) void *data)
+                        __rte_unused struct cmdline *cl,
+                        __rte_unused void *data)
 {
        struct cmd_showport_reta *res = parsed_result;
        struct rte_eth_rss_reta_entry64 reta_conf[8];
@@ -3140,7 +3161,7 @@ struct cmd_showport_rss_hash {
 };
 
 static void cmd_showport_rss_hash_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
+                               __rte_unused struct cmdline *cl,
                                void *show_rss_key)
 {
        struct cmd_showport_rss_hash *res = parsed_result;
@@ -3202,8 +3223,8 @@ struct cmd_config_dcb {
 
 static void
 cmd_config_dcb_parsed(void *parsed_result,
-                        __attribute__((unused)) struct cmdline *cl,
-                        __attribute__((unused)) void *data)
+                        __rte_unused struct cmdline *cl,
+                        __rte_unused void *data)
 {
        struct cmd_config_dcb *res = parsed_result;
        portid_t port_id = res->port_id;
@@ -3300,8 +3321,8 @@ struct cmd_config_burst {
 
 static void
 cmd_config_burst_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct cmd_config_burst *res = parsed_result;
        struct rte_eth_dev_info dev_info;
@@ -3391,8 +3412,8 @@ struct cmd_config_thresh {
 
 static void
 cmd_config_thresh_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct cmd_config_thresh *res = parsed_result;
 
@@ -3460,8 +3481,8 @@ struct cmd_config_threshold {
 
 static void
 cmd_config_threshold_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct cmd_config_threshold *res = parsed_result;
 
@@ -3518,9 +3539,9 @@ struct cmd_stop_result {
        cmdline_fixed_string_t stop;
 };
 
-static void cmd_stop_parsed(__attribute__((unused)) void *parsed_result,
-                           __attribute__((unused)) struct cmdline *cl,
-                           __attribute__((unused)) void *data)
+static void cmd_stop_parsed(__rte_unused void *parsed_result,
+                           __rte_unused struct cmdline *cl,
+                           __rte_unused void *data)
 {
        stop_packet_forwarding();
 }
@@ -3611,8 +3632,8 @@ struct cmd_set_list_result {
 };
 
 static void cmd_set_list_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_set_list_result *res;
        union {
@@ -3679,8 +3700,8 @@ struct cmd_setmask_result {
 };
 
 static void cmd_set_mask_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_setmask_result *res = parsed_result;
 
@@ -3727,8 +3748,8 @@ struct cmd_set_result {
 };
 
 static void cmd_set_parsed(void *parsed_result,
-                          __attribute__((unused)) struct cmdline *cl,
-                          __attribute__((unused)) void *data)
+                          __rte_unused struct cmdline *cl,
+                          __rte_unused void *data)
 {
        struct cmd_set_result *res = parsed_result;
        if (!strcmp(res->what, "nbport")) {
@@ -3774,8 +3795,8 @@ struct cmd_set_log_result {
 
 static void
 cmd_set_log_parsed(void *parsed_result,
-                  __attribute__((unused)) struct cmdline *cl,
-                  __attribute__((unused)) void *data)
+                  __rte_unused struct cmdline *cl,
+                  __rte_unused void *data)
 {
        struct cmd_set_log_result *res;
        int ret;
@@ -3822,8 +3843,8 @@ struct cmd_set_txpkts_result {
 
 static void
 cmd_set_txpkts_parsed(void *parsed_result,
-                     __attribute__((unused)) struct cmdline *cl,
-                     __attribute__((unused)) void *data)
+                     __rte_unused struct cmdline *cl,
+                     __rte_unused void *data)
 {
        struct cmd_set_txpkts_result *res;
        unsigned seg_lengths[RTE_MAX_SEGS_PER_PKT];
@@ -3868,8 +3889,8 @@ struct cmd_set_txsplit_result {
 
 static void
 cmd_set_txsplit_parsed(void *parsed_result,
-                     __attribute__((unused)) struct cmdline *cl,
-                     __attribute__((unused)) void *data)
+                     __rte_unused struct cmdline *cl,
+                     __rte_unused void *data)
 {
        struct cmd_set_txsplit_result *res;
 
@@ -3909,8 +3930,8 @@ struct cmd_rx_vlan_filter_all_result {
 
 static void
 cmd_rx_vlan_filter_all_parsed(void *parsed_result,
-                             __attribute__((unused)) struct cmdline *cl,
-                             __attribute__((unused)) void *data)
+                             __rte_unused struct cmdline *cl,
+                             __rte_unused void *data)
 {
        struct cmd_rx_vlan_filter_all_result *res = parsed_result;
 
@@ -3960,8 +3981,8 @@ struct cmd_vlan_offload_result {
 
 static void
 cmd_vlan_offload_parsed(void *parsed_result,
-                         __attribute__((unused)) struct cmdline *cl,
-                         __attribute__((unused)) void *data)
+                         __rte_unused struct cmdline *cl,
+                         __rte_unused void *data)
 {
        int on;
        struct cmd_vlan_offload_result *res = parsed_result;
@@ -4064,8 +4085,8 @@ struct cmd_vlan_tpid_result {
 
 static void
 cmd_vlan_tpid_parsed(void *parsed_result,
-                         __attribute__((unused)) struct cmdline *cl,
-                         __attribute__((unused)) void *data)
+                         __rte_unused struct cmdline *cl,
+                         __rte_unused void *data)
 {
        struct cmd_vlan_tpid_result *res = parsed_result;
        enum rte_vlan_type vlan_type;
@@ -4126,8 +4147,8 @@ struct cmd_rx_vlan_filter_result {
 
 static void
 cmd_rx_vlan_filter_parsed(void *parsed_result,
-                         __attribute__((unused)) struct cmdline *cl,
-                         __attribute__((unused)) void *data)
+                         __rte_unused struct cmdline *cl,
+                         __rte_unused void *data)
 {
        struct cmd_rx_vlan_filter_result *res = parsed_result;
 
@@ -4175,8 +4196,8 @@ struct cmd_tx_vlan_set_result {
 
 static void
 cmd_tx_vlan_set_parsed(void *parsed_result,
-                      __attribute__((unused)) struct cmdline *cl,
-                      __attribute__((unused)) void *data)
+                      __rte_unused struct cmdline *cl,
+                      __rte_unused void *data)
 {
        struct cmd_tx_vlan_set_result *res = parsed_result;
 
@@ -4229,8 +4250,8 @@ struct cmd_tx_vlan_set_qinq_result {
 
 static void
 cmd_tx_vlan_set_qinq_parsed(void *parsed_result,
-                           __attribute__((unused)) struct cmdline *cl,
-                           __attribute__((unused)) void *data)
+                           __rte_unused struct cmdline *cl,
+                           __rte_unused void *data)
 {
        struct cmd_tx_vlan_set_qinq_result *res = parsed_result;
 
@@ -4288,8 +4309,8 @@ struct cmd_tx_vlan_set_pvid_result {
 
 static void
 cmd_tx_vlan_set_pvid_parsed(void *parsed_result,
-                           __attribute__((unused)) struct cmdline *cl,
-                           __attribute__((unused)) void *data)
+                           __rte_unused struct cmdline *cl,
+                           __rte_unused void *data)
 {
        struct cmd_tx_vlan_set_pvid_result *res = parsed_result;
 
@@ -4342,8 +4363,8 @@ struct cmd_tx_vlan_reset_result {
 
 static void
 cmd_tx_vlan_reset_parsed(void *parsed_result,
-                        __attribute__((unused)) struct cmdline *cl,
-                        __attribute__((unused)) void *data)
+                        __rte_unused struct cmdline *cl,
+                        __rte_unused void *data)
 {
        struct cmd_tx_vlan_reset_result *res = parsed_result;
 
@@ -4464,8 +4485,8 @@ cmd_config_queue_tx_offloads(struct rte_port *port)
 
 static void
 cmd_csum_parsed(void *parsed_result,
-                      __attribute__((unused)) struct cmdline *cl,
-                      __attribute__((unused)) void *data)
+                      __rte_unused struct cmdline *cl,
+                      __rte_unused void *data)
 {
        struct cmd_csum_result *res = parsed_result;
        int hw = 0;
@@ -4615,8 +4636,8 @@ struct cmd_csum_tunnel_result {
 
 static void
 cmd_csum_tunnel_parsed(void *parsed_result,
-                      __attribute__((unused)) struct cmdline *cl,
-                      __attribute__((unused)) void *data)
+                      __rte_unused struct cmdline *cl,
+                      __rte_unused void *data)
 {
        struct cmd_csum_tunnel_result *res = parsed_result;
 
@@ -4668,8 +4689,8 @@ struct cmd_tso_set_result {
 
 static void
 cmd_tso_set_parsed(void *parsed_result,
-                      __attribute__((unused)) struct cmdline *cl,
-                      __attribute__((unused)) void *data)
+                      __rte_unused struct cmdline *cl,
+                      __rte_unused void *data)
 {
        struct cmd_tso_set_result *res = parsed_result;
        struct rte_eth_dev_info dev_info;
@@ -4807,8 +4828,8 @@ check_tunnel_tso_nic_support(portid_t port_id)
 
 static void
 cmd_tunnel_tso_set_parsed(void *parsed_result,
-                         __attribute__((unused)) struct cmdline *cl,
-                         __attribute__((unused)) void *data)
+                         __rte_unused struct cmdline *cl,
+                         __rte_unused void *data)
 {
        struct cmd_tunnel_tso_set_result *res = parsed_result;
        struct rte_eth_dev_info dev_info;
@@ -4928,8 +4949,8 @@ struct cmd_gro_enable_result {
 
 static void
 cmd_gro_enable_parsed(void *parsed_result,
-               __attribute__((unused)) struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_gro_enable_result *res;
 
@@ -4978,8 +4999,8 @@ struct cmd_gro_show_result {
 
 static void
 cmd_gro_show_parsed(void *parsed_result,
-               __attribute__((unused)) struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_gro_show_result *res;
 
@@ -5024,8 +5045,8 @@ struct cmd_gro_flush_result {
 
 static void
 cmd_gro_flush_parsed(void *parsed_result,
-               __attribute__((unused)) struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_gro_flush_result *res;
 
@@ -5072,8 +5093,8 @@ struct cmd_gso_enable_result {
 
 static void
 cmd_gso_enable_parsed(void *parsed_result,
-               __attribute__((unused)) struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_gso_enable_result *res;
 
@@ -5122,14 +5143,14 @@ struct cmd_gso_size_result {
 
 static void
 cmd_gso_size_parsed(void *parsed_result,
-                      __attribute__((unused)) struct cmdline *cl,
-                      __attribute__((unused)) void *data)
+                      __rte_unused struct cmdline *cl,
+                      __rte_unused void *data)
 {
        struct cmd_gso_size_result *res = parsed_result;
 
        if (test_done == 0) {
                printf("Before setting GSO segsz, please first"
-                               " stop fowarding\n");
+                               " stop forwarding\n");
                return;
        }
 
@@ -5180,8 +5201,8 @@ struct cmd_gso_show_result {
 
 static void
 cmd_gso_show_parsed(void *parsed_result,
-                      __attribute__((unused)) struct cmdline *cl,
-                      __attribute__((unused)) void *data)
+                      __rte_unused struct cmdline *cl,
+                      __rte_unused void *data)
 {
        struct cmd_gso_show_result *res = parsed_result;
 
@@ -5237,8 +5258,8 @@ struct cmd_set_flush_rx {
 
 static void
 cmd_set_flush_rx_parsed(void *parsed_result,
-               __attribute__((unused)) struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_set_flush_rx *res = parsed_result;
        no_flush_rx = (uint8_t)((strcmp(res->mode, "on") == 0) ? 0 : 1);
@@ -5276,8 +5297,8 @@ struct cmd_set_link_check {
 
 static void
 cmd_set_link_check_parsed(void *parsed_result,
-               __attribute__((unused)) struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_set_link_check *res = parsed_result;
        no_link_check = (uint8_t)((strcmp(res->mode, "on") == 0) ? 0 : 1);
@@ -5318,8 +5339,8 @@ struct cmd_set_bypass_mode_result {
 
 static void
 cmd_set_bypass_mode_parsed(void *parsed_result,
-               __attribute__((unused)) struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_set_bypass_mode_result *res = parsed_result;
        portid_t port_id = res->port_id;
@@ -5386,8 +5407,8 @@ struct cmd_set_bypass_event_result {
 
 static void
 cmd_set_bypass_event_parsed(void *parsed_result,
-               __attribute__((unused)) struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused struct cmdline *cl,
+               __rte_unused void *data)
 {
        int32_t rc = -EINVAL;
        struct cmd_set_bypass_event_result *res = parsed_result;
@@ -5493,8 +5514,8 @@ struct cmd_set_bypass_timeout_result {
 
 static void
 cmd_set_bypass_timeout_parsed(void *parsed_result,
-               __attribute__((unused)) struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused struct cmdline *cl,
+               __rte_unused void *data)
 {
        __rte_unused struct cmd_set_bypass_timeout_result *res = parsed_result;
 
@@ -5555,8 +5576,8 @@ struct cmd_show_bypass_config_result {
 
 static void
 cmd_show_bypass_config_parsed(void *parsed_result,
-               __attribute__((unused)) struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_show_bypass_config_result *res = parsed_result;
        portid_t port_id = res->port_id;
@@ -5565,7 +5586,7 @@ cmd_show_bypass_config_parsed(void *parsed_result,
        uint32_t event_mode;
        uint32_t bypass_mode;
        uint32_t timeout = bypass_timeout;
-       int i;
+       unsigned int i;
 
        static const char * const timeouts[RTE_PMD_IXGBE_BYPASS_TMT_NUM] =
                {"off", "1.5", "2", "3", "4", "8", "16", "32"};
@@ -5578,7 +5599,6 @@ cmd_show_bypass_config_parsed(void *parsed_result,
                "OS/board off",
                "power supply off",
                "timeout"};
-       int num_events = (sizeof events) / (sizeof events[0]);
 
        /* Display the bypass mode.*/
        if (rte_pmd_ixgbe_bypass_state_show(port_id, &bypass_mode) != 0) {
@@ -5599,7 +5619,7 @@ cmd_show_bypass_config_parsed(void *parsed_result,
        printf("\tbypass timeout = %s\n", timeouts[timeout]);
 
        /* Display the bypass events and associated modes. */
-       for (i = RTE_PMD_IXGBE_BYPASS_EVENT_START; i < num_events; i++) {
+       for (i = RTE_PMD_IXGBE_BYPASS_EVENT_START; i < RTE_DIM(events); i++) {
 
                if (rte_pmd_ixgbe_bypass_event_show(port_id, i, &event_mode)) {
                        printf("\tFailed to get bypass mode for event = %s\n",
@@ -5656,8 +5676,8 @@ struct cmd_set_bonding_mode_result {
 };
 
 static void cmd_set_bonding_mode_parsed(void *parsed_result,
-               __attribute__((unused))  struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused  struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_set_bonding_mode_result *res = parsed_result;
        portid_t port_id = res->port_id;
@@ -5709,8 +5729,8 @@ struct cmd_set_bonding_lacp_dedicated_queues_result {
 };
 
 static void cmd_set_bonding_lacp_dedicated_queues_parsed(void *parsed_result,
-               __attribute__((unused))  struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused  struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_set_bonding_lacp_dedicated_queues_result *res = parsed_result;
        portid_t port_id = res->port_id;
@@ -5787,8 +5807,8 @@ struct cmd_set_bonding_balance_xmit_policy_result {
 };
 
 static void cmd_set_bonding_balance_xmit_policy_parsed(void *parsed_result,
-               __attribute__((unused))  struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused  struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_set_bonding_balance_xmit_policy_result *res = parsed_result;
        portid_t port_id = res->port_id;
@@ -5853,8 +5873,8 @@ struct cmd_show_bonding_config_result {
 };
 
 static void cmd_show_bonding_config_parsed(void *parsed_result,
-               __attribute__((unused))  struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused  struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_show_bonding_config_result *res = parsed_result;
        int bonding_mode, agg_mode;
@@ -5997,8 +6017,8 @@ struct cmd_set_bonding_primary_result {
 };
 
 static void cmd_set_bonding_primary_parsed(void *parsed_result,
-               __attribute__((unused))  struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused  struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_set_bonding_primary_result *res = parsed_result;
        portid_t master_port_id = res->port_id;
@@ -6054,8 +6074,8 @@ struct cmd_add_bonding_slave_result {
 };
 
 static void cmd_add_bonding_slave_parsed(void *parsed_result,
-               __attribute__((unused))  struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused  struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_add_bonding_slave_result *res = parsed_result;
        portid_t master_port_id = res->port_id;
@@ -6112,8 +6132,8 @@ struct cmd_remove_bonding_slave_result {
 };
 
 static void cmd_remove_bonding_slave_parsed(void *parsed_result,
-               __attribute__((unused))  struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused  struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_remove_bonding_slave_result *res = parsed_result;
        portid_t master_port_id = res->port_id;
@@ -6172,8 +6192,8 @@ struct cmd_create_bonded_device_result {
 static int bond_dev_num = 0;
 
 static void cmd_create_bonded_device_parsed(void *parsed_result,
-               __attribute__((unused))  struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused  struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_create_bonded_device_result *res = parsed_result;
        char ethdev_name[RTE_ETH_NAME_MAX_LEN];
@@ -6252,8 +6272,8 @@ struct cmd_set_bond_mac_addr_result {
 };
 
 static void cmd_set_bond_mac_addr_parsed(void *parsed_result,
-               __attribute__((unused))  struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused  struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_set_bond_mac_addr_result *res = parsed_result;
        int ret;
@@ -6307,8 +6327,8 @@ struct cmd_set_bond_mon_period_result {
 };
 
 static void cmd_set_bond_mon_period_parsed(void *parsed_result,
-               __attribute__((unused))  struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused  struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_set_bond_mon_period_result *res = parsed_result;
        int ret;
@@ -6363,8 +6383,8 @@ struct cmd_set_bonding_agg_mode_policy_result {
 
 static void
 cmd_set_bonding_agg_mode(void *parsed_result,
-               __attribute__((unused)) struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_set_bonding_agg_mode_policy_result *res = parsed_result;
        uint8_t policy = AGG_BANDWIDTH;
@@ -6425,8 +6445,8 @@ struct cmd_set_fwd_mode_result {
 };
 
 static void cmd_set_fwd_mode_parsed(void *parsed_result,
-                                   __attribute__((unused)) struct cmdline *cl,
-                                   __attribute__((unused)) void *data)
+                                   __rte_unused struct cmdline *cl,
+                                   __rte_unused void *data)
 {
        struct cmd_set_fwd_mode_result *res = parsed_result;
 
@@ -6485,8 +6505,8 @@ struct cmd_set_fwd_retry_mode_result {
 };
 
 static void cmd_set_fwd_retry_mode_parsed(void *parsed_result,
-                           __attribute__((unused)) struct cmdline *cl,
-                           __attribute__((unused)) void *data)
+                           __rte_unused struct cmdline *cl,
+                           __rte_unused void *data)
 {
        struct cmd_set_fwd_retry_mode_result *res = parsed_result;
 
@@ -6556,8 +6576,8 @@ struct cmd_set_burst_tx_retry_result {
 };
 
 static void cmd_set_burst_tx_retry_parsed(void *parsed_result,
-                                       __attribute__((unused)) struct cmdline *cl,
-                                       __attribute__((unused)) void *data)
+                                       __rte_unused struct cmdline *cl,
+                                       __rte_unused void *data)
 {
        struct cmd_set_burst_tx_retry_result *res = parsed_result;
 
@@ -6612,7 +6632,7 @@ struct cmd_set_promisc_mode_result {
 };
 
 static void cmd_set_promisc_mode_parsed(void *parsed_result,
-                                       __attribute__((unused)) struct cmdline *cl,
+                                       __rte_unused struct cmdline *cl,
                                        void *allports)
 {
        struct cmd_set_promisc_mode_result *res = parsed_result;
@@ -6684,7 +6704,7 @@ struct cmd_set_allmulti_mode_result {
 };
 
 static void cmd_set_allmulti_mode_parsed(void *parsed_result,
-                                       __attribute__((unused)) struct cmdline *cl,
+                                       __rte_unused struct cmdline *cl,
                                        void *allports)
 {
        struct cmd_set_allmulti_mode_result *res = parsed_result;
@@ -6983,7 +7003,7 @@ cmdline_parse_inst_t cmd_link_flow_control_set_autoneg = {
 
 static void
 cmd_link_flow_ctrl_set_parsed(void *parsed_result,
-                             __attribute__((unused)) struct cmdline *cl,
+                             __rte_unused struct cmdline *cl,
                              void *data)
 {
        struct cmd_link_flow_ctrl_set_result *res = parsed_result;
@@ -7072,8 +7092,8 @@ struct cmd_priority_flow_ctrl_set_result {
 
 static void
 cmd_priority_flow_ctrl_set_parsed(void *parsed_result,
-                      __attribute__((unused)) struct cmdline *cl,
-                      __attribute__((unused)) void *data)
+                      __rte_unused struct cmdline *cl,
+                      __rte_unused void *data)
 {
        struct cmd_priority_flow_ctrl_set_result *res = parsed_result;
        struct rte_eth_pfc_conf pfc_conf;
@@ -7087,9 +7107,10 @@ cmd_priority_flow_ctrl_set_parsed(void *parsed_result,
         * the RTE_FC_RX_PAUSE, Respond to the pause frame at the Tx side.
         */
        static enum rte_eth_fc_mode rx_tx_onoff_2_pfc_mode[2][2] = {
-                       {RTE_FC_NONE, RTE_FC_RX_PAUSE}, {RTE_FC_TX_PAUSE, RTE_FC_FULL}
+               {RTE_FC_NONE, RTE_FC_TX_PAUSE}, {RTE_FC_RX_PAUSE, RTE_FC_FULL}
        };
 
+       memset(&pfc_conf, 0, sizeof(struct rte_eth_pfc_conf));
        rx_fc_enable = (!strncmp(res->rx_pfc_mode, "on",2)) ? 1 : 0;
        tx_fc_enable = (!strncmp(res->tx_pfc_mode, "on",2)) ? 1 : 0;
        pfc_conf.fc.mode       = rx_tx_onoff_2_pfc_mode[rx_fc_enable][tx_fc_enable];
@@ -7165,9 +7186,9 @@ struct cmd_reset_result {
        cmdline_fixed_string_t def;
 };
 
-static void cmd_reset_parsed(__attribute__((unused)) void *parsed_result,
+static void cmd_reset_parsed(__rte_unused void *parsed_result,
                             struct cmdline *cl,
-                            __attribute__((unused)) void *data)
+                            __rte_unused void *data)
 {
        cmdline_printf(cl, "Reset to default forwarding configuration...\n");
        set_def_fwd_config();
@@ -7198,9 +7219,9 @@ struct cmd_start_result {
 cmdline_parse_token_string_t cmd_start_start =
        TOKEN_STRING_INITIALIZER(struct cmd_start_result, start, "start");
 
-static void cmd_start_parsed(__attribute__((unused)) void *parsed_result,
-                            __attribute__((unused)) struct cmdline *cl,
-                            __attribute__((unused)) void *data)
+static void cmd_start_parsed(__rte_unused void *parsed_result,
+                            __rte_unused struct cmdline *cl,
+                            __rte_unused void *data)
 {
        start_packet_forwarding(0);
 }
@@ -7222,9 +7243,9 @@ struct cmd_start_tx_first_result {
 };
 
 static void
-cmd_start_tx_first_parsed(__attribute__((unused)) void *parsed_result,
-                         __attribute__((unused)) struct cmdline *cl,
-                         __attribute__((unused)) void *data)
+cmd_start_tx_first_parsed(__rte_unused void *parsed_result,
+                         __rte_unused struct cmdline *cl,
+                         __rte_unused void *data)
 {
        start_packet_forwarding(1);
 }
@@ -7257,8 +7278,8 @@ struct cmd_start_tx_first_n_result {
 
 static void
 cmd_start_tx_first_n_parsed(void *parsed_result,
-                         __attribute__((unused)) struct cmdline *cl,
-                         __attribute__((unused)) void *data)
+                         __rte_unused struct cmdline *cl,
+                         __rte_unused void *data)
 {
        struct cmd_start_tx_first_n_result *res = parsed_result;
 
@@ -7306,9 +7327,9 @@ cmdline_parse_token_string_t cmd_set_link_up_port =
 cmdline_parse_token_num_t cmd_set_link_up_port_id =
        TOKEN_NUM_INITIALIZER(struct cmd_set_link_up_result, port_id, UINT16);
 
-static void cmd_set_link_up_parsed(__attribute__((unused)) void *parsed_result,
-                            __attribute__((unused)) struct cmdline *cl,
-                            __attribute__((unused)) void *data)
+static void cmd_set_link_up_parsed(__rte_unused void *parsed_result,
+                            __rte_unused struct cmdline *cl,
+                            __rte_unused void *data)
 {
        struct cmd_set_link_up_result *res = parsed_result;
        dev_set_link_up(res->port_id);
@@ -7346,9 +7367,9 @@ cmdline_parse_token_num_t cmd_set_link_down_port_id =
        TOKEN_NUM_INITIALIZER(struct cmd_set_link_down_result, port_id, UINT16);
 
 static void cmd_set_link_down_parsed(
-                               __attribute__((unused)) void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused void *parsed_result,
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_set_link_down_result *res = parsed_result;
        dev_set_link_down(res->port_id);
@@ -7375,8 +7396,8 @@ struct cmd_showcfg_result {
 };
 
 static void cmd_showcfg_parsed(void *parsed_result,
-                              __attribute__((unused)) struct cmdline *cl,
-                              __attribute__((unused)) void *data)
+                              __rte_unused struct cmdline *cl,
+                              __rte_unused void *data)
 {
        struct cmd_showcfg_result *res = parsed_result;
        if (!strcmp(res->what, "rxtx"))
@@ -7418,8 +7439,8 @@ struct cmd_showportall_result {
 };
 
 static void cmd_showportall_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        portid_t i;
 
@@ -7492,8 +7513,8 @@ struct cmd_showport_result {
 };
 
 static void cmd_showport_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_showport_result *res = parsed_result;
        if (!strcmp(res->show, "clear")) {
@@ -7556,8 +7577,8 @@ struct cmd_showdevice_result {
 };
 
 static void cmd_showdevice_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_showdevice_result *res = parsed_result;
        if (!strcmp(res->what, "info")) {
@@ -7603,8 +7624,8 @@ struct cmd_showqueue_result {
 
 static void
 cmd_showqueue_parsed(void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_showqueue_result *res = parsed_result;
 
@@ -7692,8 +7713,8 @@ struct cmd_read_reg_result {
 
 static void
 cmd_read_reg_parsed(void *parsed_result,
-                   __attribute__((unused)) struct cmdline *cl,
-                   __attribute__((unused)) void *data)
+                   __rte_unused struct cmdline *cl,
+                   __rte_unused void *data)
 {
        struct cmd_read_reg_result *res = parsed_result;
        port_reg_display(res->port_id, res->reg_off);
@@ -7733,8 +7754,8 @@ struct cmd_read_reg_bit_field_result {
 
 static void
 cmd_read_reg_bit_field_parsed(void *parsed_result,
-                             __attribute__((unused)) struct cmdline *cl,
-                             __attribute__((unused)) void *data)
+                             __rte_unused struct cmdline *cl,
+                             __rte_unused void *data)
 {
        struct cmd_read_reg_bit_field_result *res = parsed_result;
        port_reg_bit_field_display(res->port_id, res->reg_off,
@@ -7787,8 +7808,8 @@ struct cmd_read_reg_bit_result {
 
 static void
 cmd_read_reg_bit_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct cmd_read_reg_bit_result *res = parsed_result;
        port_reg_bit_display(res->port_id, res->reg_off, res->bit_pos);
@@ -7831,8 +7852,8 @@ struct cmd_write_reg_result {
 
 static void
 cmd_write_reg_parsed(void *parsed_result,
-                    __attribute__((unused)) struct cmdline *cl,
-                    __attribute__((unused)) void *data)
+                    __rte_unused struct cmdline *cl,
+                    __rte_unused void *data)
 {
        struct cmd_write_reg_result *res = parsed_result;
        port_reg_set(res->port_id, res->reg_off, res->value);
@@ -7876,8 +7897,8 @@ struct cmd_write_reg_bit_field_result {
 
 static void
 cmd_write_reg_bit_field_parsed(void *parsed_result,
-                              __attribute__((unused)) struct cmdline *cl,
-                              __attribute__((unused)) void *data)
+                              __rte_unused struct cmdline *cl,
+                              __rte_unused void *data)
 {
        struct cmd_write_reg_bit_field_result *res = parsed_result;
        port_reg_bit_field_set(res->port_id, res->reg_off,
@@ -7936,8 +7957,8 @@ struct cmd_write_reg_bit_result {
 
 static void
 cmd_write_reg_bit_parsed(void *parsed_result,
-                        __attribute__((unused)) struct cmdline *cl,
-                        __attribute__((unused)) void *data)
+                        __rte_unused struct cmdline *cl,
+                        __rte_unused void *data)
 {
        struct cmd_write_reg_bit_result *res = parsed_result;
        port_reg_bit_set(res->port_id, res->reg_off, res->bit_pos, res->value);
@@ -7985,8 +8006,8 @@ struct cmd_read_rxd_txd_result {
 
 static void
 cmd_read_rxd_txd_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct cmd_read_rxd_txd_result *res = parsed_result;
 
@@ -8027,9 +8048,9 @@ struct cmd_quit_result {
        cmdline_fixed_string_t quit;
 };
 
-static void cmd_quit_parsed(__attribute__((unused)) void *parsed_result,
+static void cmd_quit_parsed(__rte_unused void *parsed_result,
                            struct cmdline *cl,
-                           __attribute__((unused)) void *data)
+                           __rte_unused void *data)
 {
        cmdline_quit(cl);
 }
@@ -8056,8 +8077,8 @@ struct cmd_mac_addr_result {
 };
 
 static void cmd_mac_addr_parsed(void *parsed_result,
-               __attribute__((unused)) struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_mac_addr_result *res = parsed_result;
        int ret;
@@ -8111,8 +8132,8 @@ struct cmd_eth_peer_result {
 };
 
 static void cmd_set_eth_peer_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
                struct cmd_eth_peer_result *res = parsed_result;
 
@@ -8159,8 +8180,8 @@ struct cmd_set_qmap_result {
 
 static void
 cmd_set_qmap_parsed(void *parsed_result,
-                      __attribute__((unused)) struct cmdline *cl,
-                      __attribute__((unused)) void *data)
+                      __rte_unused struct cmdline *cl,
+                      __rte_unused void *data)
 {
        struct cmd_set_qmap_result *res = parsed_result;
        int is_rx = (strcmp(res->what, "tx") == 0) ? 0 : 1;
@@ -8212,8 +8233,8 @@ struct cmd_set_xstats_hide_zero_result {
 
 static void
 cmd_set_xstats_hide_zero_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct cmd_set_xstats_hide_zero_result *res;
        uint16_t on_off = 0;
@@ -8257,8 +8278,8 @@ struct cmd_set_uc_hash_table {
 
 static void
 cmd_set_uc_hash_parsed(void *parsed_result,
-                      __attribute__((unused)) struct cmdline *cl,
-                      __attribute__((unused)) void *data)
+                      __rte_unused struct cmdline *cl,
+                      __rte_unused void *data)
 {
        int ret=0;
        struct cmd_set_uc_hash_table *res = parsed_result;
@@ -8318,8 +8339,8 @@ struct cmd_set_uc_all_hash_table {
 
 static void
 cmd_set_uc_all_hash_parsed(void *parsed_result,
-                      __attribute__((unused)) struct cmdline *cl,
-                      __attribute__((unused)) void *data)
+                      __rte_unused struct cmdline *cl,
+                      __rte_unused void *data)
 {
        int ret=0;
        struct cmd_set_uc_all_hash_table *res = parsed_result;
@@ -8382,8 +8403,8 @@ struct cmd_set_vf_macvlan_filter {
 
 static void
 cmd_set_vf_macvlan_parsed(void *parsed_result,
-                      __attribute__((unused)) struct cmdline *cl,
-                      __attribute__((unused)) void *data)
+                      __rte_unused struct cmdline *cl,
+                      __rte_unused void *data)
 {
        int is_on, ret = 0;
        struct cmd_set_vf_macvlan_filter *res = parsed_result;
@@ -8485,8 +8506,8 @@ struct cmd_set_vf_traffic {
 
 static void
 cmd_set_vf_traffic_parsed(void *parsed_result,
-                      __attribute__((unused)) struct cmdline *cl,
-                      __attribute__((unused)) void *data)
+                      __rte_unused struct cmdline *cl,
+                      __rte_unused void *data)
 {
        struct cmd_set_vf_traffic *res = parsed_result;
        int is_rx = (strcmp(res->what, "rx") == 0) ? 1 : 0;
@@ -8547,8 +8568,8 @@ struct cmd_set_vf_rxmode {
 
 static void
 cmd_set_vf_rxmode_parsed(void *parsed_result,
-                      __attribute__((unused)) struct cmdline *cl,
-                      __attribute__((unused)) void *data)
+                      __rte_unused struct cmdline *cl,
+                      __rte_unused void *data)
 {
        int ret = -ENOTSUP;
        uint16_t vf_rxmode = 0;
@@ -8638,8 +8659,8 @@ struct cmd_vf_mac_addr_result {
 };
 
 static void cmd_vf_mac_addr_parsed(void *parsed_result,
-               __attribute__((unused)) struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_vf_mac_addr_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -8715,8 +8736,8 @@ struct cmd_vf_rx_vlan_filter {
 
 static void
 cmd_vf_rx_vlan_filter_parsed(void *parsed_result,
-                         __attribute__((unused)) struct cmdline *cl,
-                         __attribute__((unused)) void *data)
+                         __rte_unused struct cmdline *cl,
+                         __rte_unused void *data)
 {
        struct cmd_vf_rx_vlan_filter *res = parsed_result;
        int ret = -ENOTSUP;
@@ -8808,8 +8829,8 @@ struct cmd_queue_rate_limit_result {
 };
 
 static void cmd_queue_rate_limit_parsed(void *parsed_result,
-               __attribute__((unused)) struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_queue_rate_limit_result *res = parsed_result;
        int ret = 0;
@@ -8877,8 +8898,8 @@ struct cmd_vf_rate_limit_result {
 };
 
 static void cmd_vf_rate_limit_parsed(void *parsed_result,
-               __attribute__((unused)) struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_vf_rate_limit_result *res = parsed_result;
        int ret = 0;
@@ -8959,8 +8980,8 @@ struct cmd_tunnel_filter_result {
 
 static void
 cmd_tunnel_filter_parsed(void *parsed_result,
-                         __attribute__((unused)) struct cmdline *cl,
-                         __attribute__((unused)) void *data)
+                         __rte_unused struct cmdline *cl,
+                         __rte_unused void *data)
 {
        struct cmd_tunnel_filter_result *res = parsed_result;
        struct rte_eth_tunnel_filter_conf tunnel_filter_conf;
@@ -9103,8 +9124,8 @@ struct cmd_tunnel_udp_config {
 
 static void
 cmd_tunnel_udp_config_parsed(void *parsed_result,
-                         __attribute__((unused)) struct cmdline *cl,
-                         __attribute__((unused)) void *data)
+                         __rte_unused struct cmdline *cl,
+                         __rte_unused void *data)
 {
        struct cmd_tunnel_udp_config *res = parsed_result;
        struct rte_eth_udp_tunnel tunnel_udp;
@@ -9165,8 +9186,8 @@ struct cmd_config_tunnel_udp_port {
 
 static void
 cmd_cfg_tunnel_udp_port_parsed(void *parsed_result,
-                              __attribute__((unused)) struct cmdline *cl,
-                              __attribute__((unused)) void *data)
+                              __rte_unused struct cmdline *cl,
+                              __rte_unused void *data)
 {
        struct cmd_config_tunnel_udp_port *res = parsed_result;
        struct rte_eth_udp_tunnel tunnel_udp;
@@ -9248,8 +9269,8 @@ struct cmd_global_config_result {
 
 static void
 cmd_global_config_parsed(void *parsed_result,
-                        __attribute__((unused)) struct cmdline *cl,
-                        __attribute__((unused)) void *data)
+                        __rte_unused struct cmdline *cl,
+                        __rte_unused void *data)
 {
        struct cmd_global_config_result *res = parsed_result;
        struct rte_eth_global_cfg conf;
@@ -9338,8 +9359,8 @@ cmdline_parse_token_string_t cmd_mirror_mask_on =
 
 static void
 cmd_set_mirror_mask_parsed(void *parsed_result,
-                      __attribute__((unused)) struct cmdline *cl,
-                      __attribute__((unused)) void *data)
+                      __rte_unused struct cmdline *cl,
+                      __rte_unused void *data)
 {
        int ret,nb_item,i;
        struct cmd_set_mirror_mask_result *res = parsed_result;
@@ -9449,8 +9470,8 @@ cmdline_parse_token_string_t cmd_mirror_link_on =
 
 static void
 cmd_set_mirror_link_parsed(void *parsed_result,
-                      __attribute__((unused)) struct cmdline *cl,
-                      __attribute__((unused)) void *data)
+                      __rte_unused struct cmdline *cl,
+                      __rte_unused void *data)
 {
        int ret;
        struct cmd_set_mirror_link_result *res = parsed_result;
@@ -9523,8 +9544,8 @@ cmdline_parse_token_num_t cmd_rm_mirror_rule_ruleid =
 
 static void
 cmd_reset_mirror_rule_parsed(void *parsed_result,
-                      __attribute__((unused)) struct cmdline *cl,
-                      __attribute__((unused)) void *data)
+                      __rte_unused struct cmdline *cl,
+                      __rte_unused void *data)
 {
        int ret;
        struct cmd_set_mirror_link_result *res = parsed_result;
@@ -9564,14 +9585,66 @@ dump_struct_sizes(void)
 #undef DUMP_SIZE
 }
 
+
+/* Dump the socket memory statistics on console */
+static void
+dump_socket_mem(FILE *f)
+{
+       struct rte_malloc_socket_stats socket_stats;
+       unsigned int i;
+       size_t total = 0;
+       size_t alloc = 0;
+       size_t free = 0;
+       unsigned int n_alloc = 0;
+       unsigned int n_free = 0;
+       static size_t last_allocs;
+       static size_t last_total;
+
+
+       for (i = 0; i < RTE_MAX_NUMA_NODES; i++) {
+               if (rte_malloc_get_socket_stats(i, &socket_stats) ||
+                   !socket_stats.heap_totalsz_bytes)
+                       continue;
+               total += socket_stats.heap_totalsz_bytes;
+               alloc += socket_stats.heap_allocsz_bytes;
+               free += socket_stats.heap_freesz_bytes;
+               n_alloc += socket_stats.alloc_count;
+               n_free += socket_stats.free_count;
+               fprintf(f,
+                       "Socket %u: size(M) total: %.6lf alloc: %.6lf(%.3lf%%) free: %.6lf \tcount alloc: %-4u free: %u\n",
+                       i,
+                       (double)socket_stats.heap_totalsz_bytes / (1024 * 1024),
+                       (double)socket_stats.heap_allocsz_bytes / (1024 * 1024),
+                       (double)socket_stats.heap_allocsz_bytes * 100 /
+                       (double)socket_stats.heap_totalsz_bytes,
+                       (double)socket_stats.heap_freesz_bytes / (1024 * 1024),
+                       socket_stats.alloc_count,
+                       socket_stats.free_count);
+       }
+       fprintf(f,
+               "Total   : size(M) total: %.6lf alloc: %.6lf(%.3lf%%) free: %.6lf \tcount alloc: %-4u free: %u\n",
+               (double)total / (1024 * 1024), (double)alloc / (1024 * 1024),
+               (double)alloc * 100 / (double)total,
+               (double)free / (1024 * 1024),
+               n_alloc, n_free);
+       if (last_allocs)
+               fprintf(stdout, "Memory total change: %.6lf(M), allocation change: %.6lf(M)\n",
+                       ((double)total - (double)last_total) / (1024 * 1024),
+                       (double)(alloc - (double)last_allocs) / 1024 / 1024);
+       last_allocs = alloc;
+       last_total = total;
+}
+
 static void cmd_dump_parsed(void *parsed_result,
-                           __attribute__((unused)) struct cmdline *cl,
-                           __attribute__((unused)) void *data)
+                           __rte_unused struct cmdline *cl,
+                           __rte_unused void *data)
 {
        struct cmd_dump_result *res = parsed_result;
 
        if (!strcmp(res->dump, "dump_physmem"))
                rte_dump_physmem_layout(stdout);
+       else if (!strcmp(res->dump, "dump_socket_mem"))
+               dump_socket_mem(stdout);
        else if (!strcmp(res->dump, "dump_memzone"))
                rte_memzone_dump(stdout);
        else if (!strcmp(res->dump, "dump_struct_sizes"))
@@ -9590,6 +9663,7 @@ cmdline_parse_token_string_t cmd_dump_dump =
        TOKEN_STRING_INITIALIZER(struct cmd_dump_result, dump,
                "dump_physmem#"
                "dump_memzone#"
+               "dump_socket_mem#"
                "dump_struct_sizes#"
                "dump_ring#"
                "dump_mempool#"
@@ -9614,7 +9688,7 @@ struct cmd_dump_one_result {
 };
 
 static void cmd_dump_one_parsed(void *parsed_result, struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused void *data)
 {
        struct cmd_dump_one_result *res = parsed_result;
 
@@ -9668,8 +9742,8 @@ struct cmd_syn_filter_result {
 
 static void
 cmd_syn_filter_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct cmd_syn_filter_result *res = parsed_result;
        struct rte_eth_syn_filter syn_filter;
@@ -9762,8 +9836,8 @@ struct cmd_queue_region_result {
 
 static void
 cmd_queue_region_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct cmd_queue_region_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -9861,8 +9935,8 @@ struct cmd_region_flowtype_result {
 
 static void
 cmd_region_flowtype_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct cmd_region_flowtype_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -9952,8 +10026,8 @@ struct cmd_user_priority_region_result {
 
 static void
 cmd_user_priority_region_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct cmd_user_priority_region_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -10043,8 +10117,8 @@ struct cmd_flush_queue_region_result {
 
 static void
 cmd_flush_queue_region_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct cmd_flush_queue_region_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -10125,8 +10199,8 @@ struct cmd_show_queue_region_info {
 
 static void
 cmd_show_queue_region_info_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct cmd_show_queue_region_info *res = parsed_result;
        int ret = -ENOTSUP;
@@ -10209,8 +10283,8 @@ struct cmd_2tuple_filter_result {
 
 static void
 cmd_2tuple_filter_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct rte_eth_ntuple_filter filter;
        struct cmd_2tuple_filter_result *res = parsed_result;
@@ -10364,8 +10438,8 @@ struct cmd_5tuple_filter_result {
 
 static void
 cmd_5tuple_filter_parsed(void *parsed_result,
-                       __attribute__((unused)) struct cmdline *cl,
-                       __attribute__((unused)) void *data)
+                       __rte_unused struct cmdline *cl,
+                       __rte_unused void *data)
 {
        struct rte_eth_ntuple_filter filter;
        struct cmd_5tuple_filter_result *res = parsed_result;
@@ -10572,8 +10646,8 @@ static int xdigit2val(unsigned char c)
 
 static void
 cmd_flex_filter_parsed(void *parsed_result,
-                         __attribute__((unused)) struct cmdline *cl,
-                         __attribute__((unused)) void *data)
+                         __rte_unused struct cmdline *cl,
+                         __rte_unused void *data)
 {
        int ret = 0;
        struct rte_eth_flex_filter filter;
@@ -10779,8 +10853,8 @@ cmdline_parse_token_num_t cmd_ethertype_filter_queue_id =
 
 static void
 cmd_ethertype_filter_parsed(void *parsed_result,
-                         __attribute__((unused)) struct cmdline *cl,
-                         __attribute__((unused)) void *data)
+                         __rte_unused struct cmdline *cl,
+                         __rte_unused void *data)
 {
        struct cmd_ethertype_filter_result *res = parsed_result;
        struct rte_eth_ethertype_filter filter;
@@ -11003,8 +11077,8 @@ do { \
 
 static void
 cmd_flow_director_filter_parsed(void *parsed_result,
-                         __attribute__((unused)) struct cmdline *cl,
-                         __attribute__((unused)) void *data)
+                         __rte_unused struct cmdline *cl,
+                         __rte_unused void *data)
 {
        struct cmd_flow_director_result *res = parsed_result;
        struct rte_eth_fdir_filter entry;
@@ -11623,8 +11697,8 @@ cmdline_parse_token_num_t cmd_flush_flow_director_port_id =
 
 static void
 cmd_flush_flow_director_parsed(void *parsed_result,
-                         __attribute__((unused)) struct cmdline *cl,
-                         __attribute__((unused)) void *data)
+                         __rte_unused struct cmdline *cl,
+                         __rte_unused void *data)
 {
        struct cmd_flow_director_result *res = parsed_result;
        int ret = 0;
@@ -11681,8 +11755,8 @@ struct cmd_flow_director_mask_result {
 
 static void
 cmd_flow_director_mask_parsed(void *parsed_result,
-                         __attribute__((unused)) struct cmdline *cl,
-                         __attribute__((unused)) void *data)
+                         __rte_unused struct cmdline *cl,
+                         __rte_unused void *data)
 {
        struct cmd_flow_director_mask_result *res = parsed_result;
        struct rte_eth_fdir_masks *mask;
@@ -11873,8 +11947,8 @@ struct cmd_flow_director_flex_mask_result {
 
 static void
 cmd_flow_director_flex_mask_parsed(void *parsed_result,
-                         __attribute__((unused)) struct cmdline *cl,
-                         __attribute__((unused)) void *data)
+                         __rte_unused struct cmdline *cl,
+                         __rte_unused void *data)
 {
        struct cmd_flow_director_flex_mask_result *res = parsed_result;
        struct rte_eth_fdir_info fdir_info;
@@ -12027,8 +12101,8 @@ parse_offsets(const char *q_arg, uint16_t *offsets, uint16_t max_num)
 
 static void
 cmd_flow_director_flxpld_parsed(void *parsed_result,
-                         __attribute__((unused)) struct cmdline *cl,
-                         __attribute__((unused)) void *data)
+                         __rte_unused struct cmdline *cl,
+                         __rte_unused void *data)
 {
        struct cmd_flow_director_flexpayload_result *res = parsed_result;
        struct rte_eth_flex_payload_cfg flex_cfg;
@@ -12631,8 +12705,8 @@ struct cmd_mcast_addr_result {
 };
 
 static void cmd_mcast_addr_parsed(void *parsed_result,
-               __attribute__((unused)) struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_mcast_addr_result *res = parsed_result;
 
@@ -12746,8 +12820,8 @@ str2fdir_l2_tunnel_type(char *string)
 static void
 cmd_config_l2_tunnel_eth_type_all_parsed
        (void *parsed_result,
-        __attribute__((unused)) struct cmdline *cl,
-        __attribute__((unused)) void *data)
+        __rte_unused struct cmdline *cl,
+        __rte_unused void *data)
 {
        struct cmd_config_l2_tunnel_eth_type_result *res = parsed_result;
        struct rte_eth_l2_tunnel_conf entry;
@@ -12781,8 +12855,8 @@ cmdline_parse_inst_t cmd_config_l2_tunnel_eth_type_all = {
 static void
 cmd_config_l2_tunnel_eth_type_specific_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_config_l2_tunnel_eth_type_result *res =
                 parsed_result;
@@ -12857,8 +12931,8 @@ cmdline_parse_token_string_t cmd_config_l2_tunnel_en_dis_en_dis =
 static void
 cmd_config_l2_tunnel_en_dis_all_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_config_l2_tunnel_en_dis_result *res = parsed_result;
        struct rte_eth_l2_tunnel_conf entry;
@@ -12899,8 +12973,8 @@ cmdline_parse_inst_t cmd_config_l2_tunnel_en_dis_all = {
 static void
 cmd_config_l2_tunnel_en_dis_specific_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_config_l2_tunnel_en_dis_result *res =
                parsed_result;
@@ -13055,8 +13129,8 @@ cmdline_parse_token_num_t cmd_config_e_tag_vf_id =
 static void
 cmd_config_e_tag_insertion_en_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_config_e_tag_result *res =
                parsed_result;
@@ -13077,8 +13151,8 @@ cmd_config_e_tag_insertion_en_parsed(
 static void
 cmd_config_e_tag_insertion_dis_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_config_e_tag_result *res =
                parsed_result;
@@ -13136,8 +13210,8 @@ cmdline_parse_inst_t cmd_config_e_tag_insertion_dis = {
 static void
 cmd_config_e_tag_stripping_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_config_e_tag_result *res =
                parsed_result;
@@ -13181,8 +13255,8 @@ cmdline_parse_inst_t cmd_config_e_tag_stripping_en_dis = {
 static void
 cmd_config_e_tag_forwarding_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_config_e_tag_result *res = parsed_result;
        struct rte_eth_l2_tunnel_conf entry;
@@ -13225,8 +13299,8 @@ cmdline_parse_inst_t cmd_config_e_tag_forwarding_en_dis = {
 static void
 cmd_config_e_tag_filter_add_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_config_e_tag_result *res = parsed_result;
        struct rte_eth_l2_tunnel_conf entry;
@@ -13283,8 +13357,8 @@ cmdline_parse_inst_t cmd_config_e_tag_filter_add = {
 static void
 cmd_config_e_tag_filter_del_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_config_e_tag_result *res = parsed_result;
        struct rte_eth_l2_tunnel_conf entry;
@@ -13381,8 +13455,8 @@ cmdline_parse_token_string_t cmd_vf_vlan_anti_spoof_on_off =
 static void
 cmd_set_vf_vlan_anti_spoof_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_vf_vlan_anti_spoof_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -13487,8 +13561,8 @@ cmdline_parse_token_string_t cmd_vf_mac_anti_spoof_on_off =
 static void
 cmd_set_vf_mac_anti_spoof_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_vf_mac_anti_spoof_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -13593,8 +13667,8 @@ cmdline_parse_token_string_t cmd_vf_vlan_stripq_on_off =
 static void
 cmd_set_vf_vlan_stripq_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_vf_vlan_stripq_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -13699,8 +13773,8 @@ cmdline_parse_token_num_t cmd_vf_vlan_insert_vlan_id =
 static void
 cmd_set_vf_vlan_insert_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_vf_vlan_insert_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -13793,8 +13867,8 @@ cmdline_parse_token_string_t cmd_tx_loopback_on_off =
 static void
 cmd_set_tx_loopback_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_tx_loopback_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -13893,8 +13967,8 @@ cmdline_parse_token_string_t cmd_all_queues_drop_en_on_off =
 static void
 cmd_set_all_queues_drop_en_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_all_queues_drop_en_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -13989,8 +14063,8 @@ cmdline_parse_token_string_t cmd_vf_split_drop_en_on_off =
 static void
 cmd_set_vf_split_drop_en_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_vf_split_drop_en_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -14082,8 +14156,8 @@ cmdline_parse_token_etheraddr_t cmd_set_vf_mac_addr_mac_addr =
 static void
 cmd_set_vf_mac_addr_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_set_vf_mac_addr_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -14196,8 +14270,8 @@ cmdline_parse_token_string_t cmd_macsec_offload_on_rp_on_off =
 static void
 cmd_set_macsec_offload_on_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_macsec_offload_on_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -14295,8 +14369,8 @@ cmdline_parse_token_string_t cmd_macsec_offload_off_off =
 static void
 cmd_set_macsec_offload_off_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_macsec_offload_off_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -14394,8 +14468,8 @@ cmdline_parse_token_num_t cmd_macsec_sc_pi =
 static void
 cmd_set_macsec_sc_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_macsec_sc_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -14494,8 +14568,8 @@ cmdline_parse_token_string_t cmd_macsec_sa_key =
 static void
 cmd_set_macsec_sa_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_macsec_sa_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -14606,8 +14680,8 @@ cmdline_parse_token_string_t cmd_vf_promisc_on_off =
 static void
 cmd_set_vf_promisc_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_vf_promisc_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -14696,8 +14770,8 @@ cmdline_parse_token_string_t cmd_vf_allmulti_on_off =
 static void
 cmd_set_vf_allmulti_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_vf_allmulti_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -14786,8 +14860,8 @@ cmdline_parse_token_string_t cmd_set_vf_broadcast_on_off =
 static void
 cmd_set_vf_broadcast_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_set_vf_broadcast_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -14880,8 +14954,8 @@ cmdline_parse_token_string_t cmd_set_vf_vlan_tag_on_off =
 static void
 cmd_set_vf_vlan_tag_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_set_vf_vlan_tag_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -15003,8 +15077,8 @@ cmdline_parse_token_num_t cmd_vf_tc_bw_tc_map =
 static void
 cmd_vf_max_bw_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_vf_tc_bw_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -15097,8 +15171,8 @@ vf_tc_min_bw_parse_bw_list(uint8_t *bw_list,
 static void
 cmd_vf_tc_min_bw_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_vf_tc_bw_result *res = parsed_result;
        uint8_t tc_num;
@@ -15155,8 +15229,8 @@ cmdline_parse_inst_t cmd_vf_tc_min_bw = {
 static void
 cmd_tc_min_bw_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_vf_tc_bw_result *res = parsed_result;
        struct rte_port *port;
@@ -15218,8 +15292,8 @@ cmdline_parse_inst_t cmd_tc_min_bw = {
 static void
 cmd_vf_tc_max_bw_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_vf_tc_bw_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -15305,8 +15379,8 @@ cmdline_parse_token_num_t cmd_set_port_tm_hierarchy_default_port_id =
                        port_id, UINT16);
 
 static void cmd_set_port_tm_hierarchy_default_parsed(void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_set_port_tm_hierarchy_default_result *res = parsed_result;
        struct rte_port *p;
@@ -15430,8 +15504,8 @@ cmdline_parse_token_etheraddr_t cmd_set_vxlan_eth_dst_value =
        TOKEN_ETHERADDR_INITIALIZER(struct cmd_set_vxlan_result, eth_dst);
 
 static void cmd_set_vxlan_parsed(void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_set_vxlan_result *res = parsed_result;
        union {
@@ -15630,8 +15704,8 @@ cmdline_parse_token_etheraddr_t cmd_set_nvgre_eth_dst_value =
        TOKEN_ETHERADDR_INITIALIZER(struct cmd_set_nvgre_result, eth_dst);
 
 static void cmd_set_nvgre_parsed(void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_set_nvgre_result *res = parsed_result;
        union {
@@ -15761,8 +15835,8 @@ cmdline_parse_token_etheraddr_t cmd_set_l2_encap_eth_dst_value =
        TOKEN_ETHERADDR_INITIALIZER(struct cmd_set_l2_encap_result, eth_dst);
 
 static void cmd_set_l2_encap_parsed(void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_set_l2_encap_result *res = parsed_result;
 
@@ -15840,8 +15914,8 @@ cmdline_parse_token_string_t cmd_set_l2_decap_l2_decap_with_vlan =
                                 "l2_decap-with-vlan");
 
 static void cmd_set_l2_decap_parsed(void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_set_l2_decap_result *res = parsed_result;
 
@@ -15939,8 +16013,8 @@ cmdline_parse_token_etheraddr_t cmd_set_mplsogre_encap_eth_dst_value =
                                    eth_dst);
 
 static void cmd_set_mplsogre_encap_parsed(void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_set_mplsogre_encap_result *res = parsed_result;
        union {
@@ -16054,8 +16128,8 @@ cmdline_parse_token_string_t cmd_set_mplsogre_decap_ip_version_value =
                                 ip_version, "ipv4#ipv6");
 
 static void cmd_set_mplsogre_decap_parsed(void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_set_mplsogre_decap_result *res = parsed_result;
 
@@ -16175,8 +16249,8 @@ cmdline_parse_token_etheraddr_t cmd_set_mplsoudp_encap_eth_dst_value =
                                    eth_dst);
 
 static void cmd_set_mplsoudp_encap_parsed(void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_set_mplsoudp_encap_result *res = parsed_result;
        union {
@@ -16301,8 +16375,8 @@ cmdline_parse_token_string_t cmd_set_mplsoudp_decap_ip_version_value =
                                 ip_version, "ipv4#ipv6");
 
 static void cmd_set_mplsoudp_decap_parsed(void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_set_mplsoudp_decap_result *res = parsed_result;
 
@@ -16346,8 +16420,8 @@ cmdline_parse_inst_t cmd_set_mplsoudp_decap_with_vlan = {
 static void
 cmd_strict_link_prio_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_vf_tc_bw_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -16410,8 +16484,8 @@ cmdline_parse_token_string_t cmd_ddp_add_filepath =
 static void
 cmd_ddp_add_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_ddp_add_result *res = parsed_result;
        uint8_t *buff;
@@ -16490,8 +16564,8 @@ cmdline_parse_token_string_t cmd_ddp_del_filepath =
 static void
 cmd_ddp_del_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_ddp_del_result *res = parsed_result;
        uint8_t *buff;
@@ -16555,8 +16629,8 @@ cmdline_parse_token_string_t cmd_ddp_info_filepath =
 static void
 cmd_ddp_info_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_ddp_info_result *res = parsed_result;
        uint8_t *pkg;
@@ -16794,9 +16868,9 @@ cmdline_parse_token_num_t cmd_ddp_get_list_port_id =
 
 static void
 cmd_ddp_get_list_parsed(
-       __attribute__((unused)) void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused void *parsed_result,
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
 #ifdef RTE_LIBRTE_I40E_PMD
        struct cmd_ddp_get_list_result *res = parsed_result;
@@ -16870,9 +16944,9 @@ struct cmd_cfg_input_set_result {
 
 static void
 cmd_cfg_input_set_parsed(
-       __attribute__((unused)) void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused void *parsed_result,
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
 #ifdef RTE_LIBRTE_I40E_PMD
        struct cmd_cfg_input_set_result *res = parsed_result;
@@ -16993,9 +17067,9 @@ struct cmd_clear_input_set_result {
 
 static void
 cmd_clear_input_set_parsed(
-       __attribute__((unused)) void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused void *parsed_result,
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
 #ifdef RTE_LIBRTE_I40E_PMD
        struct cmd_clear_input_set_result *res = parsed_result;
@@ -17112,8 +17186,8 @@ cmdline_parse_token_num_t cmd_show_vf_stats_vf_id =
 static void
 cmd_show_vf_stats_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_show_vf_stats_result *res = parsed_result;
        struct rte_eth_stats stats;
@@ -17221,8 +17295,8 @@ cmdline_parse_token_num_t cmd_clear_vf_stats_vf_id =
 static void
 cmd_clear_vf_stats_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_clear_vf_stats_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -17313,8 +17387,8 @@ cmdline_parse_token_string_t cmd_pctype_mapping_reset_reset =
 static void
 cmd_pctype_mapping_reset_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_pctype_mapping_reset_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -17391,8 +17465,8 @@ cmdline_parse_token_string_t cmd_pctype_mapping_get_mapping =
 static void
 cmd_pctype_mapping_get_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_pctype_mapping_get_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -17507,8 +17581,8 @@ cmdline_parse_token_num_t cmd_pctype_mapping_update_flow_type =
 static void
 cmd_pctype_mapping_update_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_pctype_mapping_update_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -17605,8 +17679,8 @@ cmdline_parse_token_num_t cmd_ptype_mapping_get_valid_only =
 static void
 cmd_ptype_mapping_get_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_ptype_mapping_get_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -17710,8 +17784,8 @@ cmdline_parse_token_num_t cmd_ptype_mapping_replace_pkt_type =
 static void
 cmd_ptype_mapping_replace_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_ptype_mapping_replace_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -17792,8 +17866,8 @@ cmdline_parse_token_num_t cmd_ptype_mapping_reset_port_id =
 static void
 cmd_ptype_mapping_reset_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_ptype_mapping_reset_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -17873,8 +17947,8 @@ cmdline_parse_token_num_t cmd_ptype_mapping_update_sw_ptype =
 static void
 cmd_ptype_mapping_update_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_ptype_mapping_update_result *res = parsed_result;
        int ret = -ENOTSUP;
@@ -17940,8 +18014,8 @@ cmdline_parse_token_string_t cmd_load_cmdfile_filename =
 static void
 cmd_load_from_file_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_cmdfile_result *res = parsed_result;
 
@@ -18015,8 +18089,8 @@ print_rx_offloads(uint64_t offloads)
 static void
 cmd_rx_offload_get_capa_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_rx_offload_get_capa_result *res = parsed_result;
        struct rte_eth_dev_info dev_info;
@@ -18089,8 +18163,8 @@ cmdline_parse_token_string_t cmd_rx_offload_get_configuration_configuration =
 static void
 cmd_rx_offload_get_configuration_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_rx_offload_get_configuration_result *res = parsed_result;
        struct rte_eth_dev_info dev_info;
@@ -18201,8 +18275,8 @@ search_rx_offload(const char *name)
 
 static void
 cmd_config_per_port_rx_offload_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_config_per_port_rx_offload_result *res = parsed_result;
        portid_t port_id = res->port_id;
@@ -18307,8 +18381,8 @@ cmdline_parse_token_string_t cmd_config_per_queue_rx_offload_result_on_off =
 
 static void
 cmd_config_per_queue_rx_offload_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_config_per_queue_rx_offload_result *res = parsed_result;
        struct rte_eth_dev_info dev_info;
@@ -18425,8 +18499,8 @@ print_tx_offloads(uint64_t offloads)
 static void
 cmd_tx_offload_get_capa_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_tx_offload_get_capa_result *res = parsed_result;
        struct rte_eth_dev_info dev_info;
@@ -18499,8 +18573,8 @@ cmdline_parse_token_string_t cmd_tx_offload_get_configuration_configuration =
 static void
 cmd_tx_offload_get_configuration_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_tx_offload_get_configuration_result *res = parsed_result;
        struct rte_eth_dev_info dev_info;
@@ -18615,8 +18689,8 @@ search_tx_offload(const char *name)
 
 static void
 cmd_config_per_port_tx_offload_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_config_per_port_tx_offload_result *res = parsed_result;
        portid_t port_id = res->port_id;
@@ -18723,8 +18797,8 @@ cmdline_parse_token_string_t cmd_config_per_queue_tx_offload_result_on_off =
 
 static void
 cmd_config_per_queue_tx_offload_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_config_per_queue_tx_offload_result *res = parsed_result;
        struct rte_eth_dev_info dev_info;
@@ -18797,8 +18871,8 @@ struct cmd_config_tx_metadata_specific_result {
 
 static void
 cmd_config_tx_metadata_specific_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_config_tx_metadata_specific_result *res = parsed_result;
 
@@ -18855,8 +18929,8 @@ struct cmd_config_tx_dynf_specific_result {
 
 static void
 cmd_config_dynf_specific_parsed(void *parsed_result,
-                               __attribute__((unused)) struct cmdline *cl,
-                               __attribute__((unused)) void *data)
+                               __rte_unused struct cmdline *cl,
+                               __rte_unused void *data)
 {
        struct cmd_config_tx_dynf_specific_result *res = parsed_result;
        struct rte_mbuf_dynflag desc_flag;
@@ -18867,14 +18941,18 @@ cmd_config_dynf_specific_parsed(void *parsed_result,
                return;
        flag = rte_mbuf_dynflag_lookup(res->name, NULL);
        if (flag <= 0) {
-               strcpy(desc_flag.name, res->name);
+               if (strlcpy(desc_flag.name, res->name,
+                           RTE_MBUF_DYN_NAMESIZE) >= RTE_MBUF_DYN_NAMESIZE) {
+                       printf("Flag name too long\n");
+                       return;
+               }
                desc_flag.flags = 0;
                flag = rte_mbuf_dynflag_register(&desc_flag);
                if (flag < 0) {
                        printf("Can't register flag\n");
                        return;
                }
-               strcpy(dynf_names[flag], res->name);
+               strcpy(dynf_names[flag], desc_flag.name);
        }
        old_port_flags = ports[res->port_id].mbuf_dynf;
        if (!strcmp(res->value, "set")) {
@@ -18932,8 +19010,8 @@ struct cmd_show_tx_metadata_result {
 
 static void
 cmd_show_tx_metadata_parsed(void *parsed_result,
-               __attribute__((unused)) struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_show_tx_metadata_result *res = parsed_result;
 
@@ -19004,8 +19082,8 @@ cmdline_parse_token_string_t cmd_show_port_supported_ptypes_ptypes =
 static void
 cmd_show_port_supported_ptypes_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
 #define RSVD_PTYPE_MASK       0xf0000000
 #define MAX_PTYPES_PER_LAYER  16
@@ -19095,8 +19173,8 @@ struct cmd_show_rx_tx_desc_status_result {
 
 static void
 cmd_show_rx_tx_desc_status_parsed(void *parsed_result,
-               __attribute__((unused)) struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_show_rx_tx_desc_status_result *res = parsed_result;
        int rc;
@@ -19211,8 +19289,8 @@ cmdline_parse_token_num_t cmd_set_port_ptypes_mask_u32 =
 static void
 cmd_set_port_ptypes_parsed(
        void *parsed_result,
-       __attribute__((unused)) struct cmdline *cl,
-       __attribute__((unused)) void *data)
+       __rte_unused struct cmdline *cl,
+       __rte_unused void *data)
 {
        struct cmd_set_port_ptypes_result *res = parsed_result;
 #define PTYPE_NAMESIZE        256
@@ -19269,8 +19347,8 @@ struct cmd_showport_macs_result {
 
 static void
 cmd_showport_macs_parsed(void *parsed_result,
-               __attribute__((unused)) struct cmdline *cl,
-               __attribute__((unused)) void *data)
+               __rte_unused struct cmdline *cl,
+               __rte_unused void *data)
 {
        struct cmd_showport_macs_result *res = parsed_result;