static const char *
get_printable_mac_addr(uint16_t port)
{
- static const char err_address[] = "00:00:00:00:00:00";
- static char addresses[RTE_MAX_ETHPORTS][sizeof(err_address)];
+ static const struct rte_ether_addr null_mac; /* static defaults to 0 */
+ static char err_address[32];
+ static char addresses[RTE_MAX_ETHPORTS][32];
int ret;
- if (unlikely(port >= RTE_MAX_ETHPORTS))
+ if (unlikely(port >= RTE_MAX_ETHPORTS)) {
+ if (err_address[0] == '\0')
+ rte_ether_format_addr(err_address,
+ sizeof(err_address), &null_mac);
return err_address;
+ }
if (unlikely(addresses[port][0]=='\0')){
struct rte_ether_addr mac;
ret = rte_eth_macaddr_get(port, &mac);
port, rte_strerror(-ret));
return err_address;
}
- snprintf(addresses[port], sizeof(addresses[port]),
- "%02x:%02x:%02x:%02x:%02x:%02x\n",
- mac.addr_bytes[0], mac.addr_bytes[1], mac.addr_bytes[2],
- mac.addr_bytes[3], mac.addr_bytes[4], mac.addr_bytes[5]);
+ rte_ether_format_addr(addresses[port],
+ sizeof(addresses[port]), &mac);
}
return addresses[port];
}
* Given the rx queue name template above, get the queue name
*/
static inline const char *
-get_rx_queue_name(unsigned id)
+get_rx_queue_name(uint8_t id)
{
/* buffer for return value. Size calculated by %u being replaced
* by maximum 3 digits (plus an extra byte for safety) */