Re: Problem using ng_ether

2002-06-18 Thread Sebastien Petit

On Tuesday 18 June 2002 05:54, you wrote:
 In article 001f01c21493$b0612620$010110ac@SPEWIN,

 Sebastien Petit [EMAIL PROTECTED] wrote:
  Apparently, my kernel contains the fix already:
  [spe@artik /usr/src/sys/netgraph]$ grep if_hwassist ng_ether.c
  priv-hwassist = ifp-if_hwassist;
  priv-ifp-if_hwassist = 0;
  priv-ifp-if_hwassist = priv-hwassist;  /* restore h/w
  csum */
 
  So, Why I've problem with checksums ?

 I don't know.  Are you sure your running kernel was actually built
 from those sources?

Ok, I think that I've found the problem, this patch was not applied in 
RELENG_4_5 branch and is just available on RELENG_4 (so FreeBSD-4.6)
Effectlivly, my running kernel was not actually built from those sources. So 
now all is working fine, thank you for your help John.

I've two other questions:
* Why this patch was not applied on 4.5-STABLE branch ?
* How can I distribute my software working with ng_ether without forcing the 
user to upgrade his kernel to FreeBSD-4.6 that is not released for the moment 
?

Regards,
Sebastien
-- 
[EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-net in the body of the message



Re: Problem using ng_ether

2002-06-18 Thread John Polstra

In article [EMAIL PROTECTED],
Sebastien Petit  [EMAIL PROTECTED] wrote:
 Ok, I think that I've found the problem, this patch was not applied in 
 RELENG_4_5 branch and is just available on RELENG_4 (so FreeBSD-4.6)
 Effectlivly, my running kernel was not actually built from those sources. So 
 now all is working fine, thank you for your help John.

Thanks for the follow-up.  I'm glad to hear that the fix actually
works. :-)

 I've two other questions:
 * Why this patch was not applied on 4.5-STABLE branch ?

RELENG_4_5 is a security branch.  Nothing is added to it except
important security-related fixes.  Ordinary bug fixes are not added to
that branch.  If you want bug fixes too, you should use RELENG_4.

 * How can I distribute my software working with ng_ether without forcing the 
 user to upgrade his kernel to FreeBSD-4.6 that is not released for the moment 
 ?

It is released now.  But here's another option for you.  Along with
your software, distribute the fixed version of the ng_ether kernel
loadable module (ng_ether.ko).  Tell your users not to configure
NETGRAPH_ETHER into their kernels.  Instead, they should load the
module.  That should solve the problem for them.  I think the fixed
module should work fine with a 4.5 kernel.

John
-- 
  John Polstra
  John D. Polstra  Co., Inc.Seattle, Washington USA
  Disappointment is a good sign of basic intelligence.  -- Chögyam Trungpa


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-net in the body of the message



Re: Problem using ng_ether

2002-06-15 Thread Sebastien Petit

I'm using actually FreeBSD-4.5-RELEASE-p5, This kernel doesn't have the
patch ?

Sebastien.
--
[EMAIL PROTECTED]

 In article [EMAIL PROTECTED],
 Julian Elischer  [EMAIL PROTECTED] wrote:
  I guess we need to figure out a way make the activation of
  the netgraph hooks automatically disable H/W checksumming by default.

 Hmm, it looks like Archie already did that in February, in ng_ether.c
 revisions 1.22 (-current) and 1.2.2.11 (-stable).  Maybe the person
 who started this thread is using an older kernel than that.

 John
 --
   John Polstra
   John D. Polstra  Co., Inc.Seattle, Washington
USA
   Disappointment is a good sign of basic intelligence.  -- Chögyam
Trungpa


 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with unsubscribe freebsd-net in the body of the message




To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-net in the body of the message



Re: Problem using ng_ether

2002-06-15 Thread John Polstra

In article 001901c21456$3e08c3e0$010110ac@SPEWIN,
Sebastien Petit [EMAIL PROTECTED] wrote:
 I'm using actually FreeBSD-4.5-RELEASE-p5, This kernel doesn't have the
 patch ?

I don't know, but you can find out pretty easily.  Run this command:

grep if_hwassist /sys/netgraph/ng_ether.c

If it produces any output, then the file contains the fix already.

John
-- 
  John Polstra
  John D. Polstra  Co., Inc.Seattle, Washington USA
  Disappointment is a good sign of basic intelligence.  -- Chögyam Trungpa


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-net in the body of the message



Re: Problem using ng_ether

2002-06-15 Thread Sebastien Petit

Apparently, my kernel contains the fix already:
[spe@artik /usr/src/sys/netgraph]$ grep if_hwassist ng_ether.c
priv-hwassist = ifp-if_hwassist;
priv-ifp-if_hwassist = 0;
priv-ifp-if_hwassist = priv-hwassist;  /* restore h/w
csum */

So, Why I've problem with checksums ?
I remember that in January, Only IP checksum was affected but now I've a
problem with IP, TCP and UDP checksum. What is wrong ?

Regards,
Sebastien.
--
[EMAIL PROTECTED]

  I'm using actually FreeBSD-4.5-RELEASE-p5, This kernel doesn't have the
  patch ?

 I don't know, but you can find out pretty easily.  Run this command:

 grep if_hwassist /sys/netgraph/ng_ether.c

 If it produces any output, then the file contains the fix already.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-net in the body of the message



Re: Problem using ng_ether

2002-06-14 Thread Julian Elischer



On Fri, 14 Jun 2002, John Polstra wrote:

 
 I'm not Julian or Archie, but I think I know what the problem is.
 The xl interface supports hardware checksum offloading, while the rl
 interface does not.  When checksum offloading is used, the NIC itself
 checks the checksums of received packets, and calculates the checksums
 of transmitted packets.
 
 When transmitting packets the TCP/IP/UDP stacks set flags in the mbuf
 headers which tell the interface to calculate the checksums itself,
 if the interface has reported that it is capable of that.  In that
 case, the TCP/IP/UDP layers don't bother to calculate the checksums
 in software.  If you pass the mbufs directly from the upper hook
 to the lower hook inside the kernel, the relevant mbuf flags are
 preserved, and it all works as one would hope.  But since you're doing
 the forwarding between hooks at the application layer, the mbuf flags
 are lost.  The TCP/IP/UDP stacks assume the NIC will calculate the
 checksums of transmitted packets (because it said it could).  But the
 flags telling the NIC to do so are lost.

I think you are 'spot on'

I guess we need to figure out a way make the activation of
the netgraph hooks automatically disable H/W checksumming by default.
(or at least on how to codify metadata such as that so it can be
passed through user space successfully)

Julian



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-net in the body of the message



Re: Problem using ng_ether

2002-06-14 Thread John Polstra

In article [EMAIL PROTECTED],
Julian Elischer  [EMAIL PROTECTED] wrote:
 I guess we need to figure out a way make the activation of
 the netgraph hooks automatically disable H/W checksumming by default.

Hmm, it looks like Archie already did that in February, in ng_ether.c
revisions 1.22 (-current) and 1.2.2.11 (-stable).  Maybe the person
who started this thread is using an older kernel than that.

John
-- 
  John Polstra
  John D. Polstra  Co., Inc.Seattle, Washington USA
  Disappointment is a good sign of basic intelligence.  -- Chögyam Trungpa


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-net in the body of the message