svn commit: r337776 - head/sys/netinet6

Rick Macklem rmacklem at uoguelph.ca
Thu Aug 30 22:51:54 UTC 2018


Sorry for the top post, but I'm on a web based email.
pi at freebsd.org reported a problem w.r.t. IPv6 fragmentation when
using NFS. (He switched from UDP --> TCP and the problem went
away.)
It's over here on freebsd-stable:
http://docs.FreeBSD.org/cgi/mid.cgi?20180827155651.GW2118

I don't know if this is related, given that it is a recent commit.
(There have been a bunch of other IPv6 fragmentation commits.)

rick

________________________________________
From: owner-src-committers at freebsd.org <owner-src-committers at freebsd.org> on behalf of Kristof Provost <kp at FreeBSD.org>
Sent: Thursday, August 30, 2018 6:12:40 PM
To: Bjoern A. Zeeb
Cc: Jonathan T. Looney; src-committers at freebsd.org; svn-src-all at freebsd.org; svn-src-head at freebsd.org
Subject: Re: svn commit: r337776 - head/sys/netinet6

On 31 Aug 2018, at 0:07, Bjoern A. Zeeb wrote:

On 30 Aug 2018, at 22:00, Kristof Provost wrote:

I’ve done this, which fixes the problem:

diff --git a/sys/netinet6/frag6.c b/sys/netinet6/frag6.c
index 0f30801540a..e1f2b3f5842 100644
--- a/sys/netinet6/frag6.c
+++ b/sys/netinet6/frag6.c
@@ -218,7 +218,9 @@ frag6_input(struct mbuf **mp, int *offp, int proto)
int offset = *offp, nxt, i, next;
int first_frag = 0;
int fragoff, frgpartlen; /* must be larger than u_int16_t */
- uint32_t hash, hashkey[sizeof(struct in6_addr) * 2 + 1], *hashkeyp;
+ uint32_t hashkey[(sizeof(struct in6_addr) * 2 + sizeof(u_int32_t)) /

Can we actually make it the size of the field rather than uint32_t (not u_int32_t)? I guess not easily but at least change the type spelling and leave a comment what it is?

I think we can spell that sizeof(ip6f->ip6f_ident)), yes.

Kristof


More information about the svn-src-head mailing list