lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [lwip-users] TCP checksumming


From: Bill Auerbach
Subject: RE: [lwip-users] TCP checksumming
Date: Mon, 25 Feb 2008 15:45:48 -0500

> >>> One problem however: If I define LWIP_CHKSUM in my sys_arch.h, 
> >>> inet_chksum.c doesn't know about it. I had to add #include 
> >>> "sys_arch.h" to inet_chksum.c. In order to override LWIP_CHKSUM 
> >>> without changing source code, shouldn't include sys_arch.h?
> >>>
> >>>       
> >> I don't think so: sys_arch.h is supposed to provide things needed for 
> >> the sys layer (like threads, mboxes and semaphores). When compiling 
> >> with NO_SYS=1, the whole stack should still be compilable without the 
> >> whole sys_arch.h file. You will have to put the definition somewhere
else.
> >>     
> > OK.  I see.  This define (LWIP_CHKSUM) belongs in lwipopts.h not 
> > sys_arch.h as per the comment.  The question becomes where to put the 
> > prototype for the replacement function.  If it's in sys_arch.h to 
> > match sys_arch.c where the function definition is, then lwipopts.h or 
> > inet_chksum.c need sys_arch.h added to get the prototype pulled in.
> >   
> In my opinion, the comment is wrong. Also the place you want 
> to put it seems wrong. The files sys_arch.c and sys_arch.h 
> are supposed to be an architecture-dependent extension for 
> sys.c. And sys.c's purpose is to provide OS abstraction 
> functions. Like you already stated, the LWIP_CHKSUM function 
> is needed regardless of the NO_SYS setting (in fact, that's 
> what I meant in my last mail) so you have to put it somwhere 
> else, not in sys_arch.c: sys.c and sys_arch.c don't have to 
> be included in your build when compiling with NO_SYS=1!

Yes, you're right, it doesn't belong there.  I see your point on NO_SYS.

> You can just put the definition into cc.h or lwipopts.h and 
> create your own c file with the function in it.

I tried lwipopts.h and it doesn't know about types so it belongs in cc.h.

> And perhaps 
> we should include an example in the contrib folder to clarify 
> this for the future...?

Sure.  Or clarify the comments in inet_chksum.c since they are the only
reference I've seen to mention performance gains by optimizing the checksum
routine and it already provides a hint about how to go about it.  I don't
mind doing this if you can tell me quickly how are you generating patch
files that I've seen others submit.

Bill





reply via email to

[Prev in Thread] Current Thread [Next in Thread]