examples: fix port mask parsing failure handling
[dpdk.git] / examples / tep_termination / main.c
index d6379e3..232ed59 100644 (file)
 
 #define JUMBO_FRAME_MAX_SIZE    0x2600
 
-/* State of virtio device. */
-#define DEVICE_MAC_LEARNING 0
-#define DEVICE_RX          1
-#define DEVICE_SAFE_REMOVE  2
-
 /* Config_core_flag status definitions. */
 #define REQUEST_DEV_REMOVAL 1
 #define ACK_DEV_REMOVAL     0
@@ -157,7 +152,7 @@ uint16_t ports[RTE_MAX_ETHPORTS];
 static unsigned nb_ports; /**< The number of ports specified in command line */
 
 /* ethernet addresses of ports */
-struct ether_addr ports_eth_addr[RTE_MAX_ETHPORTS];
+struct rte_ether_addr ports_eth_addr[RTE_MAX_ETHPORTS];
 
 /* heads for the main used and free linked lists for the data path. */
 static struct virtio_net_data_ll *ll_root_used;
@@ -191,7 +186,7 @@ us_vhost_parse_basename(const char *q_arg)
        if (strlen(q_arg) >= MAX_BASENAME_SZ)
                return -1;
        else
-               snprintf((char *)&dev_basename, MAX_BASENAME_SZ, "%s", q_arg);
+               strlcpy((char *)&dev_basename, q_arg, MAX_BASENAME_SZ);
 
        return 0;
 }
@@ -208,10 +203,7 @@ parse_portmask(const char *portmask)
        /* parse hexadecimal string */
        pm = strtoul(portmask, &end, 16);
        if ((portmask[0] == '\0') || (end == NULL) || (*end != '\0'))
-               return -1;
-
-       if (pm == 0)
-               return -1;
+               return 0;
 
        return pm;
 }
@@ -1115,6 +1107,8 @@ print_stats(__rte_unused void *arg)
                        dev_ll = dev_ll->next;
                }
                printf("\n================================================\n");
+
+               fflush(stdout);
        }
 
        return NULL;