Fixes https://bugs.linaro.org/show_bug.cgi?id=2496

Signed-off-by: Balasubramanian Manoharan <bala.manoha...@linaro.org>
---
v2: Incorporate review comments
 test/common_plat/validation/api/pktio/pktio.c | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/test/common_plat/validation/api/pktio/pktio.c 
b/test/common_plat/validation/api/pktio/pktio.c
index a6a18c3..7115def 100644
--- a/test/common_plat/validation/api/pktio/pktio.c
+++ b/test/common_plat/validation/api/pktio/pktio.c
@@ -31,6 +31,8 @@
 #define PKTIN_TS_MAX_RES       10000000000
 #define PKTIN_TS_CMP_RES       1
 
+#define PKTIO_SRC_MAC          {1, 2, 3, 4, 5, 6}
+#define PKTIO_DST_MAC          {1, 2, 3, 4, 5, 6}
 #undef DEBUG_STATS
 
 /** interface names used for testing */
@@ -241,16 +243,32 @@ static uint32_t pktio_init_packet(odp_packet_t pkt)
        odph_udphdr_t *udp;
        char *buf;
        uint16_t seq;
-       uint8_t mac[ODP_PKTIO_MACADDR_MAXSIZE] = {0};
+       uint8_t src_mac[ODP_PKTIO_MACADDR_MAXSIZE] = PKTIO_SRC_MAC;
+       uint8_t dst_mac[ODP_PKTIO_MACADDR_MAXSIZE] = PKTIO_DST_MAC;
+       uint8_t src_mac_be[ODP_PKTIO_MACADDR_MAXSIZE];
+       uint8_t dst_mac_be[ODP_PKTIO_MACADDR_MAXSIZE];
        int pkt_len = odp_packet_len(pkt);
+       int i;
+
+       #if ODP_BYTE_ORDER == ODP_LITTLE_ENDIAN
+       for (i = 0; i < ODP_PKTIO_MACADDR_MAXSIZE; i++) {
+               src_mac_be[i] = src_mac[i];
+               dst_mac_be[i] = dst_mac[i];
+       }
+       #else
+       for (i = 0; i < ODP_PKTIO_MACADDR_MAXSIZE; i++) {
+               src_mac_be[i] = src_mac[ODP_PKTIO_MACADDR_MAXSIZE - i];
+               dst_mac_be[i] = dst_mac[ODP_PKTIO_MACADDR_MAXSIZE - i];
+       }
+       #endif
 
        buf = odp_packet_data(pkt);
 
        /* Ethernet */
        odp_packet_l2_offset_set(pkt, 0);
        eth = (odph_ethhdr_t *)buf;
-       memcpy(eth->src.addr, mac, ODPH_ETHADDR_LEN);
-       memcpy(eth->dst.addr, mac, ODPH_ETHADDR_LEN);
+       memcpy(eth->src.addr, &src_mac_be, ODPH_ETHADDR_LEN);
+       memcpy(eth->dst.addr, &dst_mac_be, ODPH_ETHADDR_LEN);
        eth->type = odp_cpu_to_be_16(ODPH_ETHTYPE_IPV4);
 
        /* IP */
-- 
1.9.1

Reply via email to