From b55c9b923449bc345b0297f51fe8434ed6e1c66e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Gl=C3=B6ckner?= Date: Wed, 6 Feb 2019 17:46:42 +0100 Subject: [PATCH] net: gptp: fix src MAC address MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The return value of net_if_get_link_addr points to a struct net_linkaddr instead of to the raw MAC address. Without this fix the source address will always end in 06:03 and will most likely be the same for different boards running the same software. Signed-off-by: Daniel Glöckner --- subsys/net/l2/ethernet/gptp/gptp_messages.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/subsys/net/l2/ethernet/gptp/gptp_messages.c b/subsys/net/l2/ethernet/gptp/gptp_messages.c index 4c6cbb7522ee3..54695ea80678e 100644 --- a/subsys/net/l2/ethernet/gptp/gptp_messages.c +++ b/subsys/net/l2/ethernet/gptp/gptp_messages.c @@ -172,8 +172,8 @@ static struct net_pkt *setup_gptp_frame(struct net_if *iface, net_buf_add(pkt->buffer, sizeof(struct gptp_hdr) + extra_header); net_pkt_set_gptp(pkt, true); - net_pkt_lladdr_src(pkt)->addr = (u8_t *)net_if_get_link_addr(iface); - net_pkt_lladdr_src(pkt)->len = sizeof(struct net_eth_addr); + net_pkt_lladdr_src(pkt)->addr = net_if_get_link_addr(iface)->addr; + net_pkt_lladdr_src(pkt)->len = net_if_get_link_addr(iface)->len; net_pkt_lladdr_dst(pkt)->addr = (u8_t *)&gptp_multicast_eth_addr; net_pkt_lladdr_dst(pkt)->len = sizeof(struct net_eth_addr);