Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Apr 2009 17:37:59 +0900
From:      Pyun YongHyeon <pyunyh@gmail.com>
To:        Beat Siegenthaler <beat.siegenthaler@beatsnet.com>
Cc:        stable@freebsd.org
Subject:   Re: fxp unusable after make world
Message-ID:  <20090411083759.GB54253@michelle.cdnetworks.co.kr>
In-Reply-To: <20090309000610.GA5039@michelle.cdnetworks.co.kr>
References:  <49B1AC25.3000700@onetel.com> <27998819.871236382003017.JavaMail.HALO$@halo> <1d001f850903061814k2577f3ccs94be86bcc87b9efd@mail.gmail.com> <49B38AEF.8070909@beatsnet.com> <20090308093653.GD1531@michelle.cdnetworks.co.kr> <49B3FAA3.9010302@beatsnet.com> <20090309000610.GA5039@michelle.cdnetworks.co.kr>

next in thread | previous in thread | raw e-mail | index | archive | help

--s2ZSL+KKDSLx8OML
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Mon, Mar 09, 2009 at 09:06:10AM +0900, Pyun YongHyeon wrote:
> On Sun, Mar 08, 2009 at 06:04:35PM +0100, Beat Siegenthaler wrote:
> > Pyun YongHyeon wrote:
> > 
> > > 
> > > I touched fxp(4) to add more hardware assistance so it could cause
> > > problems on your box. Please show me dmesg output and
> > > "ifconfig fxp0"
> > > output.
> > > 
> > > If you doubt checksum offloading or TSO issues, try
> > > "ifconfig fxp0 -tso -txcsum -rxcsum".
> > > 
> 
> And the command above fixed your issue?
> 

It seems that fxp(4) has a TSO bug. Would you try attached patch?
(Make sure to enable TSO to check whether the issue was resolved.)

--s2ZSL+KKDSLx8OML
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="fxp.tso.patch"

Index: sys/dev/fxp/if_fxp.c
===================================================================
--- sys/dev/fxp/if_fxp.c	(revision 190876)
+++ sys/dev/fxp/if_fxp.c	(working copy)
@@ -1485,7 +1485,8 @@
 		 * checksum in the first frame driver should compute it.
 		 */
 		ip->ip_sum = 0;
-		ip->ip_len = htons(ifp->if_mtu);
+		ip->ip_len = htons(m->m_pkthdr.tso_segsz + (ip->ip_hl << 2) +
+		    (tcp->th_off << 2));
 		tcp->th_sum = in_pseudo(ip->ip_src.s_addr, ip->ip_dst.s_addr,
 		    htons(IPPROTO_TCP + (tcp->th_off << 2) +
 		    m->m_pkthdr.tso_segsz));

--s2ZSL+KKDSLx8OML--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090411083759.GB54253>