Signed-off-by: Cunming Liang <cunming.liang at intel.com>
---
 lib/librte_ether/rte_ether.h |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/lib/librte_ether/rte_ether.h b/lib/librte_ether/rte_ether.h
index f173509..187608d 100644
--- a/lib/librte_ether/rte_ether.h
+++ b/lib/librte_ether/rte_ether.h
@@ -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.
-- 
1.7.4.1

Reply via email to