IP checksum offloading with intel 82559 fast ethernet.
Apparently (http://developer.intel.com/design/network/82559.htm) the i82559 can offload TCP and UDP checksums. A quick peruse of /usr/src/sys/pci/if_fxp.c shows we are not currently using this - which is fair enough since the driver also has to work with 82557 and 82558. It strikes me that due to the driver architecture (i.e. the IP packet is formed way before it gets to ip_fxp) that we couldn't use this facility - even if it does have some potentially excellent throughput implications. Maybe there's a possibility for treating it as an IP accelerating 'co-processor' (much as the early power vr 3d accelerators did). Any comments? Anyone working on this? Maybe I had better learn to write drivers ;) Dave To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
RE: IP checksum offloading with intel 82559 fast ethernet.
> Don't some of the Gigabit FreeBSD drivers actually utilize > the on-board > checksum processing??? H, can't see anything specific Looking at if_wx.c we have a function wx_start(ifp) where ifp is an ifnet pointer. ifnet has a member if_snd, of type ifqueue (according to the man page). And ifqueue is a safe looking memory buffer, but no actual statement as to whether we are expected to put raw packets on the queue or what. Presumably entire ethernet frames are put on the queue so we can spoof ethernet mac addresses occasionally - but no real way of indicating to the card that we have put an IP packet on with no checksum (and could you calculate it for me please). As an aside, if checksum calculations were offloadable via a call across PCI (i.e. send raw packet, get packet back with tcp calculated, queue packet for delivery), then it's a bit touch and go as to whether this is actually a good idea - given that we'll start to load up PCI quite badly doing this. > Nice to see someone keeping our drivers fresh :-) Oh, no. I wish. I'm well off the end of my abilities here, but clearly into what I 'owe' the community in general. Hopefully I'll get there at some time. > -marc Dave To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
RE: IP checksum offloading with intel 82559 fast ethernet.
(I'm the wx author)... I want to do checksum offloading too at some point. There's been some work done on this by Andrew Gallatin and Ken Merry amongst others insofar as I recall, but I don't believe it's been checked in. Let me see if I can dig up the mail.. Everyone's at Usenix this week && next, so don't expect too much of a response. -matt On Wed, 21 Jun 2000, Dave Preece wrote: > > Don't some of the Gigabit FreeBSD drivers actually utilize > > the on-board > > checksum processing??? > > H, can't see anything specific Looking at if_wx.c we have a function > wx_start(ifp) where ifp is an ifnet pointer. ifnet has a member if_snd, of > type ifqueue (according to the man page). And ifqueue is a safe looking > memory buffer, but no actual statement as to whether we are expected to put > raw packets on the queue or what. Presumably entire ethernet frames are > put on the queue so we can spoof ethernet mac addresses occasionally - but > no real way of indicating to the card that we have put an IP packet on with > no checksum (and could you calculate it for me please). > > As an aside, if checksum calculations were offloadable via a call across PCI > (i.e. send raw packet, get packet back with tcp calculated, queue packet for > delivery), then it's a bit touch and go as to whether this is actually a > good idea - given that we'll start to load up PCI quite badly doing this. > > > Nice to see someone keeping our drivers fresh :-) > > Oh, no. I wish. I'm well off the end of my abilities here, but clearly into > what I 'owe' the community in general. Hopefully I'll get there at some > time. > > > -marc > > Dave > > > > To Unsubscribe: send mail to [EMAIL PROTECTED] > with "unsubscribe freebsd-hackers" in the body of the message > To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
RE: IP checksum offloading with intel 82559 fast ethernet.
It was mail from Andrew Gallatin ([EMAIL PROTECTED]), but it was private so I can't just redistribute it. Andrew- want to comment? To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: IP checksum offloading with intel 82559 fast ethernet.
The checksome off loading for the Intel gigabit card is broken. All you get is the checksum of the frame, so it really isn't all that useful. paul Matthew Jacob ([EMAIL PROTECTED]) wrote: > > > (I'm the wx author)... I want to do checksum offloading too at some point. > > There's been some work done on this by Andrew Gallatin and Ken Merry amongst > others insofar as I recall, but I don't believe it's been checked in. Let me > see if I can dig up the mail.. > > Everyone's at Usenix this week && next, so don't expect too much of a > response. > > -matt > > > On Wed, 21 Jun 2000, Dave Preece wrote: > > > > Don't some of the Gigabit FreeBSD drivers actually utilize > > > the on-board > > > checksum processing??? > > > > H, can't see anything specific Looking at if_wx.c we have a function > > wx_start(ifp) where ifp is an ifnet pointer. ifnet has a member if_snd, of > > type ifqueue (according to the man page). And ifqueue is a safe looking > > memory buffer, but no actual statement as to whether we are expected to put > > raw packets on the queue or what. Presumably entire ethernet frames are > > put on the queue so we can spoof ethernet mac addresses occasionally - but > > no real way of indicating to the card that we have put an IP packet on with > > no checksum (and could you calculate it for me please). > > > > As an aside, if checksum calculations were offloadable via a call across PCI > > (i.e. send raw packet, get packet back with tcp calculated, queue packet for > > delivery), then it's a bit touch and go as to whether this is actually a > > good idea - given that we'll start to load up PCI quite badly doing this. > > > > > Nice to see someone keeping our drivers fresh :-) > > > > Oh, no. I wish. I'm well off the end of my abilities here, but clearly into > > what I 'owe' the community in general. Hopefully I'll get there at some > > time. > > > > > -marc > > > > Dave > > > > > > > > To Unsubscribe: send mail to [EMAIL PROTECTED] > > with "unsubscribe freebsd-hackers" in the body of the message > > > > > > > > To Unsubscribe: send mail to [EMAIL PROTECTED] > with "unsubscribe freebsd-hackers" in the body of the message -- Paul Saab Technical Yahoo [EMAIL PROTECTED] - [EMAIL PROTECTED] - [EMAIL PROTECTED] Do You .. uhh .. Yahoo!? To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: IP checksum offloading with intel 82559 fast ethernet.
> The checksome off loading for the Intel gigabit card is broken. All you > get is the checksum of the frame, so it really isn't all that useful. Yeah, well, there's a couple of things that supposedly can be done about that. For transmit, there's a start/offset you can do which could allow to insert a checksum that didn't start at the frame header. Layering violation, but probably would be helpful. To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: IP checksum offloading with intel 82559 fast ethernet.
> > Don't some of the Gigabit FreeBSD drivers actually utilize > > the on-board > > checksum processing??? FreeBSD 5.0-current has support for TCP/IP checksum offload, and the if_ti driver makes use of it. The Tigon NICs do this in firmware though. I attempted to add support to the SysKonnect driver, however the transmit side checksum offload support apparently doesn't work, and the receive side offloading has a bug which requires a bit of a workaround. The 3Com 3c90xB/3c90xC chips are also supposed to support checksum offload, but as of yet I haven't had much luck getting this to work either. -Bill To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
RE: IP checksum offloading with intel 82559 fast ethernet. (fwd)
-- Forwarded message -- Date: Tue, 20 Jun 2000 19:57:04 -0400 (EDT) From: Andrew Gallatin <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] Subject: RE: IP checksum offloading with intel 82559 fast ethernet. Matthew Jacob writes: > > Sorry- they're talking about IP checksum offloading. You sent some mail last > December talking about checking support for this in, but I didn't want to just > forward that mail because I can't recall whether you checked it in (I don't > believe that we have). > We support hardware checksum offloading in both -current & -stable both sending & receiving. Jonathan Lemon's code is what got checked in -- its considerably better than my private hacks. I think the if_ti.c driver is the only drive to make use of it. You might want to peek at it if you're feeling like making the if_wx driver offload checksums. You can feel free to forward that ;) Drew BTW -- how is the if_wx.c driver? Has it gotten any better (you were talking about how poorly it performed & were going to see where the bottleneck was the last I heard). To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message