Skip to content

Commit 687bd0d

Browse files
nxa22042Anas Nashif
authored andcommitted
net: pkt: Account for IP header length for allowable payload data
For calculating amount of payload data that can be added in a packet, we need to subtract IPv6 or IPv4 header lengths from MTU. Signed-off-by: Vakul Garg <[email protected]>
1 parent 24076ab commit 687bd0d

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

subsys/net/ip/net_pkt.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -535,10 +535,12 @@ static struct net_pkt *net_pkt_get(struct k_mem_slab *slab,
535535

536536
if (IS_ENABLED(CONFIG_NET_IPV6) && family == AF_INET6) {
537537
data_len = max(iface_len, NET_IPV6_MTU);
538+
data_len -= NET_IPV6H_LEN;
538539
}
539540

540541
if (IS_ENABLED(CONFIG_NET_IPV4) && family == AF_INET) {
541542
data_len = max(iface_len, NET_IPV4_MTU);
543+
data_len -= NET_IPV4H_LEN;
542544
}
543545

544546
proto = net_context_get_ip_proto(context);

0 commit comments

Comments
 (0)