On Mon, Oct 29, 2012 at 09:21:00AM +0400, Gleb Smirnoff wrote: > On Mon, Oct 29, 2012 at 01:41:04PM -0700, YongHyeon PYUN wrote: > Y> On Sun, Oct 28, 2012 at 02:01:37AM +0400, Gleb Smirnoff wrote: > Y> > On Sat, Oct 27, 2012 at 12:58:52PM +0200, Andre Oppermann wrote: > Y> > A> On 26.10.2012 23:06, Gleb Smirnoff wrote: > Y> > A> > Author: glebius > Y> > A> > Date: Fri Oct 26 21:06:33 2012 > Y> > A> > New Revision: 242161 > Y> > A> > URL: http://svn.freebsd.org/changeset/base/242161 > Y> > A> > > Y> > A> > Log: > Y> > A> > o Remove last argument to ip_fragment(), and obtain all needed > information > Y> > A> > on checksums directly from mbuf flags. This simplifies code. > Y> > A> > o Clear CSUM_IP from the mbuf in ip_fragment() if we did > checksums in > Y> > Y> I'm not sure whether ti(4)'s checksum offloading for IP fragmented > Y> packets(CSUM_IP_FRAGS) still works after this change. ti(4) > Y> requires CSUM_IP should be set for IP fragmented packets. Not sure > Y> whether it's a bug or not. I have a ti(4) controller but I don't > Y> remember where I can find it and don't have a link > Y> parter(1000baseSX) to test it. :-( > > ti(4) declares both CSUM_IP and CSUM_IP_FRAGS, so ip_fragment() won't do
Because it supports both CSUM_IP and CSUM_IP_FRAGS. Probably ti(4) is the only controller that supports TCP/UDP checksum offloading for an IP fragmented packet. > software checksums, and thus won't clear these flags. > > Potentially a driver that announces one flag in if_hwassist but relies on > couple of flags to be set on mbuf is not correct. If a driver can't do single > checksum processing independently from others, then it should set or clear > appropriate flags in if_hwassist as a group. Hmm, then what would be best way to achieve CSUM_IP_FRAGS in driver? I don't have clear idea how to utilize the hardware feature. The stack should tell that the mbuf needs TCP/UDP checksum offloading for IP fragmented packet(i.e. CSUM_IP_FRAGS is not set by upper stack). > > Y> > A> > hardware. Some driver may not announce CSUM_IP in theur > if_hwassist, > ^^^^^^^^ > > Oh, that was a typo! Software was meant. > > -- > Totus tuus, Glebius. _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"