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