From ff5954890a05ca4c679e7218965ca7cfc0bd0f84 Mon Sep 17 00:00:00 2001 From: Tomasz Bursztyka Date: Wed, 28 Dec 2016 13:48:35 +0100 Subject: [PATCH] net: ethernet: IPv6 packet length should be relevantly handled It's much different than IPv4 where it's possible to find the whole packet length. Here it has to count also the ipv6 header size by itself. Jira: ZEP-1422 Change-Id: I84b1602ac75ef81b9ceda7898ca9dedf2e54d633 Signed-off-by: Tomasz Bursztyka --- subsys/net/ip/l2/ethernet.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/subsys/net/ip/l2/ethernet.c b/subsys/net/ip/l2/ethernet.c index d915cd94b40..a19a288d120 100644 --- a/subsys/net/ip/l2/ethernet.c +++ b/subsys/net/ip/l2/ethernet.c @@ -75,7 +75,8 @@ static inline void ethernet_update_length(struct net_if *iface, NET_IPV4_BUF(buf)->len[1]); } else { len = ((NET_IPV6_BUF(buf)->len[0] << 8) + - NET_IPV6_BUF(buf)->len[1]); + NET_IPV6_BUF(buf)->len[1]) + + NET_IPV6H_LEN; } if (len < NET_ETH_MINIMAL_FRAME_SIZE - sizeof(struct net_eth_hdr)) {