Skip to content

Commit 32e3339

Browse files
committed
net: ipv6_fragment: Data in one frag must be multiple of 8
After we take the true MTU into account, we need to send proper number of bytes (multiple of 8) in one IPv6 fragment. Signed-off-by: Jukka Rissanen <[email protected]>
1 parent 8d61425 commit 32e3339

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

subsys/net/ip/ipv6_fragment.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -715,6 +715,10 @@ int net_ipv6_send_fragmented_pkt(struct net_if *iface, struct net_pkt *pkt,
715715
*/
716716
fit_len = (int)mtu - NET_IPV6_FRAGH_LEN -
717717
(net_pkt_ip_hdr_len(pkt) + net_pkt_ipv6_ext_len(pkt));
718+
719+
/* The data we want to sent in one fragment must be multiple of 8 */
720+
fit_len = ROUND_DOWN(fit_len, 8);
721+
718722
if (fit_len <= 0) {
719723
/* Must be invalid extension headers length */
720724
NET_DBG("No room for IPv6 payload MTU %d hdrs_len %d",

0 commit comments

Comments
 (0)