Signed-off-by: Nicolas Morey-Chaisemartin <[email protected]>
---
platform/linux-generic/include/odp_packet_io_internal.h | 1 +
platform/linux-generic/odp_packet_io.c | 8 +++-----
platform/linux-generic/pktio/loop.c | 8 ++++++++
3 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/platform/linux-generic/include/odp_packet_io_internal.h
b/platform/linux-generic/include/odp_packet_io_internal.h
index e5fc265..496a273 100644
--- a/platform/linux-generic/include/odp_packet_io_internal.h
+++ b/platform/linux-generic/include/odp_packet_io_internal.h
@@ -94,6 +94,7 @@ int loopback_recv_pkt(pktio_entry_t *pktio_entry,
odp_packet_t pkts[],
int loopback_send_pkt(pktio_entry_t *pktio_entry, odp_packet_t pkt_tbl[],
unsigned len);
int loopback_mtu_get(pktio_entry_t *pktio_entry);
+int loopback_mac_addr_get(pktio_entry_t *pktio_entry, void *mac_addr);
#ifdef __cplusplus
}
diff --git a/platform/linux-generic/odp_packet_io.c
b/platform/linux-generic/odp_packet_io.c
index fc57752..b7ebeb8 100644
--- a/platform/linux-generic/odp_packet_io.c
+++ b/platform/linux-generic/odp_packet_io.c
@@ -25,9 +25,6 @@
#include <ifaddrs.h>
#include <errno.h>
-/* MAC address for the "loop" interface */
-static const char pktio_loop_mac[] = {0x02, 0xe9, 0x34, 0x80, 0x73, 0x01};
-
static pktio_table_t *pktio_tbl;
/* pktio pointer entries ( for inlines) */
@@ -828,6 +825,7 @@ int odp_pktio_promisc_mode(odp_pktio_t id)
int odp_pktio_mac_addr(odp_pktio_t id, void *mac_addr, int addr_size)
{
pktio_entry_t *entry;
+ int ret = ETH_ALEN;
if (addr_size < ETH_ALEN) {
/* Output buffer too small */
@@ -859,7 +857,7 @@ int odp_pktio_mac_addr(odp_pktio_t id, void *mac_addr, int
addr_size)
ETH_ALEN);
break;
case ODP_PKTIO_TYPE_LOOPBACK:
- memcpy(mac_addr, pktio_loop_mac, ETH_ALEN);
+ ret = loopback_mac_addr_get(entry, mac_addr);
break;
default:
ODP_ABORT("Wrong socket type %d\n", entry->s.type);
@@ -867,5 +865,5 @@ int odp_pktio_mac_addr(odp_pktio_t id, void *mac_addr, int
addr_size)
unlock_entry(entry);
- return ETH_ALEN;
+ return ret;
}
diff --git a/platform/linux-generic/pktio/loop.c
b/platform/linux-generic/pktio/loop.c
index 3cbc4b1..b0403e8 100644
--- a/platform/linux-generic/pktio/loop.c
+++ b/platform/linux-generic/pktio/loop.c
@@ -21,6 +21,8 @@
/* MTU to be reported for the "loop" interface */
#define PKTIO_LOOP_MTU 1500
+/* MAC address for the "loop" interface */
+static const char pktio_loop_mac[] = {0x02, 0xe9, 0x34, 0x80, 0x73, 0x01};
int loopback_init(pktio_entry_t *pktio_entry, odp_pktio_t id)
{
@@ -74,3 +76,9 @@ int loopback_mtu_get(pktio_entry_t *pktio_entry ODP_UNUSED)
{
return PKTIO_LOOP_MTU;
}
+
+int loopback_mac_addr_get(pktio_entry_t *pktio_entry ODP_UNUSED, void
*mac_addr)
+{
+ memcpy(mac_addr, pktio_loop_mac, ETH_ALEN);
+ return ETH_ALEN;
+}
--
2.4.5.3.g4915f6f
_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp