ether: new function to format mac address
Signed-off-by: Cunming Liang <cunming.liang@intel.com>
This commit is contained in:
parent
90924caf08
commit
ec3d82db2d
@ -99,13 +99,9 @@
|
||||
static void
|
||||
print_ethaddr(const char *name, struct ether_addr *eth_addr)
|
||||
{
|
||||
printf("%s%02X:%02X:%02X:%02X:%02X:%02X", name,
|
||||
(unsigned int)eth_addr->addr_bytes[0],
|
||||
(unsigned int)eth_addr->addr_bytes[1],
|
||||
(unsigned int)eth_addr->addr_bytes[2],
|
||||
(unsigned int)eth_addr->addr_bytes[3],
|
||||
(unsigned int)eth_addr->addr_bytes[4],
|
||||
(unsigned int)eth_addr->addr_bytes[5]);
|
||||
char buf[ETHER_ADDR_FMT_SIZE];
|
||||
ether_format_addr(buf, ETHER_ADDR_FMT_SIZE, eth_addr);
|
||||
printf("%s%s", name, buf);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -235,18 +235,6 @@ ip_proto_name(uint8_t ip_proto)
|
||||
return "UNASSIGNED";
|
||||
}
|
||||
|
||||
static void
|
||||
ether_addr_to_hexa(const struct ether_addr *ea, char *buf)
|
||||
{
|
||||
sprintf(buf, "%02x:%02x:%02x:%02x:%02x:%02x",
|
||||
ea->addr_bytes[0],
|
||||
ea->addr_bytes[1],
|
||||
ea->addr_bytes[2],
|
||||
ea->addr_bytes[3],
|
||||
ea->addr_bytes[4],
|
||||
ea->addr_bytes[5]);
|
||||
}
|
||||
|
||||
static void
|
||||
ipv4_addr_to_dot(uint32_t be_ipv4_addr, char *buf)
|
||||
{
|
||||
@ -261,9 +249,9 @@ ipv4_addr_to_dot(uint32_t be_ipv4_addr, char *buf)
|
||||
static void
|
||||
ether_addr_dump(const char *what, const struct ether_addr *ea)
|
||||
{
|
||||
char buf[18];
|
||||
char buf[ETHER_ADDR_FMT_SIZE];
|
||||
|
||||
ether_addr_to_hexa(ea, buf);
|
||||
ether_format_addr(buf, ETHER_ADDR_FMT_SIZE, ea);
|
||||
if (what)
|
||||
printf("%s", what);
|
||||
printf("%s", buf);
|
||||
|
@ -94,14 +94,9 @@ static const char *pkt_rx_flag_names[MAX_PKT_RX_FLAGS] = {
|
||||
static inline void
|
||||
print_ether_addr(const char *what, struct ether_addr *eth_addr)
|
||||
{
|
||||
printf("%s%02X:%02X:%02X:%02X:%02X:%02X",
|
||||
what,
|
||||
eth_addr->addr_bytes[0],
|
||||
eth_addr->addr_bytes[1],
|
||||
eth_addr->addr_bytes[2],
|
||||
eth_addr->addr_bytes[3],
|
||||
eth_addr->addr_bytes[4],
|
||||
eth_addr->addr_bytes[5]);
|
||||
char buf[ETHER_ADDR_FMT_SIZE];
|
||||
ether_format_addr(buf, ETHER_ADDR_FMT_SIZE, eth_addr);
|
||||
printf("%s%s", what, buf);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -592,13 +592,9 @@ parse_args(int argc, char **argv)
|
||||
static void
|
||||
print_ethaddr(const char *name, const struct ether_addr *eth_addr)
|
||||
{
|
||||
printf ("%s%02X:%02X:%02X:%02X:%02X:%02X", name,
|
||||
eth_addr->addr_bytes[0],
|
||||
eth_addr->addr_bytes[1],
|
||||
eth_addr->addr_bytes[2],
|
||||
eth_addr->addr_bytes[3],
|
||||
eth_addr->addr_bytes[4],
|
||||
eth_addr->addr_bytes[5]);
|
||||
char buf[ETHER_ADDR_FMT_SIZE];
|
||||
ether_format_addr(buf, ETHER_ADDR_FMT_SIZE, eth_addr);
|
||||
printf("%s%s", name, buf);
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -600,13 +600,9 @@ parse_args(int argc, char **argv)
|
||||
static void
|
||||
print_ethaddr(const char *name, struct ether_addr *eth_addr)
|
||||
{
|
||||
printf("%s%02X:%02X:%02X:%02X:%02X:%02X", name,
|
||||
eth_addr->addr_bytes[0],
|
||||
eth_addr->addr_bytes[1],
|
||||
eth_addr->addr_bytes[2],
|
||||
eth_addr->addr_bytes[3],
|
||||
eth_addr->addr_bytes[4],
|
||||
eth_addr->addr_bytes[5]);
|
||||
char buf[ETHER_ADDR_FMT_SIZE];
|
||||
ether_format_addr(buf, ETHER_ADDR_FMT_SIZE, eth_addr);
|
||||
printf("%s%s", name, buf);
|
||||
}
|
||||
|
||||
/* Check the link status of all ports in up to 9s, and print them finally */
|
||||
|
@ -729,13 +729,9 @@ parse_args(int argc, char **argv)
|
||||
static void
|
||||
print_ethaddr(const char *name, const struct ether_addr *eth_addr)
|
||||
{
|
||||
printf ("%s%02X:%02X:%02X:%02X:%02X:%02X", name,
|
||||
eth_addr->addr_bytes[0],
|
||||
eth_addr->addr_bytes[1],
|
||||
eth_addr->addr_bytes[2],
|
||||
eth_addr->addr_bytes[3],
|
||||
eth_addr->addr_bytes[4],
|
||||
eth_addr->addr_bytes[5]);
|
||||
char buf[ETHER_ADDR_FMT_SIZE];
|
||||
ether_format_addr(buf, ETHER_ADDR_FMT_SIZE, eth_addr);
|
||||
printf("%s%s", name, buf);
|
||||
}
|
||||
|
||||
/* Check the link status of all ports in up to 9s, and print them finally */
|
||||
|
@ -586,13 +586,9 @@ parse_args(int argc, char **argv)
|
||||
static void
|
||||
print_ethaddr(const char *name, struct ether_addr *eth_addr)
|
||||
{
|
||||
printf("%s%02X:%02X:%02X:%02X:%02X:%02X", name,
|
||||
eth_addr->addr_bytes[0],
|
||||
eth_addr->addr_bytes[1],
|
||||
eth_addr->addr_bytes[2],
|
||||
eth_addr->addr_bytes[3],
|
||||
eth_addr->addr_bytes[4],
|
||||
eth_addr->addr_bytes[5]);
|
||||
char buf[ETHER_ADDR_FMT_SIZE];
|
||||
ether_format_addr(buf, ETHER_ADDR_FMT_SIZE, eth_addr);
|
||||
printf("%s%s", name, buf);
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -1820,13 +1820,9 @@ parse_args(int argc, char **argv)
|
||||
static void
|
||||
print_ethaddr(const char *name, const struct ether_addr *eth_addr)
|
||||
{
|
||||
printf("%s%02X:%02X:%02X:%02X:%02X:%02X", name,
|
||||
eth_addr->addr_bytes[0],
|
||||
eth_addr->addr_bytes[1],
|
||||
eth_addr->addr_bytes[2],
|
||||
eth_addr->addr_bytes[3],
|
||||
eth_addr->addr_bytes[4],
|
||||
eth_addr->addr_bytes[5]);
|
||||
char buf[ETHER_ADDR_FMT_SIZE];
|
||||
ether_format_addr(buf, ETHER_ADDR_FMT_SIZE, eth_addr);
|
||||
printf("%s%s", name, buf);
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -1240,13 +1240,9 @@ parse_args(int argc, char **argv)
|
||||
static void
|
||||
print_ethaddr(const char *name, const struct ether_addr *eth_addr)
|
||||
{
|
||||
printf ("%s%02X:%02X:%02X:%02X:%02X:%02X", name,
|
||||
eth_addr->addr_bytes[0],
|
||||
eth_addr->addr_bytes[1],
|
||||
eth_addr->addr_bytes[2],
|
||||
eth_addr->addr_bytes[3],
|
||||
eth_addr->addr_bytes[4],
|
||||
eth_addr->addr_bytes[5]);
|
||||
char buf[ETHER_ADDR_FMT_SIZE];
|
||||
ether_format_addr(buf, ETHER_ADDR_FMT_SIZE, eth_addr);
|
||||
printf("%s%s", name, buf);
|
||||
}
|
||||
|
||||
#if (APP_LOOKUP_METHOD == APP_LOOKUP_EXACT_MATCH)
|
||||
|
@ -826,13 +826,9 @@ parse_args(int argc, char **argv)
|
||||
static void
|
||||
print_ethaddr(const char *name, const struct ether_addr *eth_addr)
|
||||
{
|
||||
printf ("%s%02X:%02X:%02X:%02X:%02X:%02X", name,
|
||||
eth_addr->addr_bytes[0],
|
||||
eth_addr->addr_bytes[1],
|
||||
eth_addr->addr_bytes[2],
|
||||
eth_addr->addr_bytes[3],
|
||||
eth_addr->addr_bytes[4],
|
||||
eth_addr->addr_bytes[5]);
|
||||
char buf[ETHER_ADDR_FMT_SIZE];
|
||||
ether_format_addr(buf, ETHER_ADDR_FMT_SIZE, eth_addr);
|
||||
printf("%s%s", name, buf);
|
||||
}
|
||||
|
||||
#if (APP_LOOKUP_METHOD == APP_LOOKUP_EXACT_MATCH)
|
||||
|
@ -1976,13 +1976,9 @@ parse_args(int argc, char **argv)
|
||||
static void
|
||||
print_ethaddr(const char *name, const struct ether_addr *eth_addr)
|
||||
{
|
||||
printf ("%s%02X:%02X:%02X:%02X:%02X:%02X", name,
|
||||
eth_addr->addr_bytes[0],
|
||||
eth_addr->addr_bytes[1],
|
||||
eth_addr->addr_bytes[2],
|
||||
eth_addr->addr_bytes[3],
|
||||
eth_addr->addr_bytes[4],
|
||||
eth_addr->addr_bytes[5]);
|
||||
char buf[ETHER_ADDR_FMT_SIZE];
|
||||
ether_format_addr(buf, ETHER_ADDR_FMT_SIZE, eth_addr);
|
||||
printf("%s%s", name, buf);
|
||||
}
|
||||
|
||||
#if (APP_LOOKUP_METHOD == APP_LOOKUP_EXACT_MATCH)
|
||||
|
@ -45,6 +45,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <rte_memcpy.h>
|
||||
#include <rte_random.h>
|
||||
@ -266,6 +267,30 @@ static inline void ether_addr_copy(const struct ether_addr *ea_from,
|
||||
#endif
|
||||
}
|
||||
|
||||
#define ETHER_ADDR_FMT_SIZE 18
|
||||
/**
|
||||
* Format 48bits Ethernet address in pattern xx:xx:xx:xx:xx:xx.
|
||||
*
|
||||
* @param buf
|
||||
* A pointer to buffer contains the formatted MAC address.
|
||||
* @param size
|
||||
* The format buffer size.
|
||||
* @param ea_to
|
||||
* A pointer to a ether_addr structure.
|
||||
*/
|
||||
static inline void
|
||||
ether_format_addr(char *buf, uint16_t size,
|
||||
const struct ether_addr *eth_addr)
|
||||
{
|
||||
snprintf(buf, size, "%02X:%02X:%02X:%02X:%02X:%02X",
|
||||
eth_addr->addr_bytes[0],
|
||||
eth_addr->addr_bytes[1],
|
||||
eth_addr->addr_bytes[2],
|
||||
eth_addr->addr_bytes[3],
|
||||
eth_addr->addr_bytes[4],
|
||||
eth_addr->addr_bytes[5]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ethernet header: Contains the destination address, source address
|
||||
* and frame type.
|
||||
|
Loading…
x
Reference in New Issue
Block a user