olsr.funkfeuer.at
Friday, November 30, 2007
  Patchbomb Day on olsr-cvs@
Yesterday was another patch bomb day after having various patches in various checked out CVS trees:
 
Sunday, November 25, 2007
  More Ongoing Work
Changes in the last days:
  1. Hannes almost nailed down a bug. And I gave him the finishing shot.
  2. I saved some run-time bytes with small reordering in various structs to reduce padding bytes. Much more could be saved it the "enum olsr_bool" is replaced by an "unsigned char" or bit fields.
  3. http://bernd.petrovitsch.priv.at/olsr-ng/kill-hna_chgestruct.patch kills superflous malloc()/free() calls. Actually all of the *_chgestruct() function should be (virtually) inlined at their only call site and resolved. This would save a lot of code and run-time performance and we loose only a useless abstraction layer.
  4. http://bernd.petrovitsch.priv.at/olsr-ng/kill-netmasks.patch:
And as always: the CVS logs contain the full stories. And the olsr-dev@olsr.org mailing list is the right address to ask and comment on!
 
Friday, November 16, 2007
  Lots of activities
Hannes Gredler refactored another part and killed again lots of run-time malloc()s and free()s.

I added a few warnings - namely
-Wcast-qual, -Wbad-function-cast, -Wwrite-strings, - and fixed bugs in the dot-draw plugin. And it is now somewhat prettier than before.
 
Monday, November 12, 2007
  funkfeuer has a new 3D map
Markus Kittenberger (nord27) programmed a very cool new 3D map with a clever google earth map hack!

In this map you can easily see how much the fresnell zone is cut off. So this way you can plan links based on google earth's height map. try it out yourself.
Congrats, Markus!


(aaron)

 
Sunday, November 11, 2007
  More Cleanups
I just committed more code cleanups:. To quote from the CVS commit messages:
 
Thursday, November 08, 2007
  Another major cleanup: Fixed the definiton of "v4" in olsr_ip_addr
Another fat commit:

The main target was:
- Fixed the misleading definition of "v4" in "struct olsr_ip_addr" fom
"olsr_u32_t" (in network-byteorder!) to "struct in_addr". Lots of
temporary variables to call inet_ntoa()/inet_ptoa() vanished .....
- declare "int_addr", "int_netmask" and "int_broadaddr" in "struct interface"
as "struct sockaddr_in" since it is that what we actually want there (and
it is similar to the IPv6 code).

To get that thoroughly via compiler errors, we get:
- We have now ip4_to_string(), ip6_to_string() and olsr_ip_to_string()
to print a "struct in_addr", "struct in6_addr" and "union olsr_ip_addr"
into a string buffer.

Alas, this also annoyed me since ages:
- cleanup: olsr_ip_to_string() and similar non-reentrant functions now must
get a target buffer. To ease that, there is the "struct ipaddr_str"
which is large enough for all of them (read: for an IPv6 address). This
also removes the cyclic buffer there.
All of these function return a "const char *" which can be directly used
for printf(3) and friends.

And some cleanups:
- const'ified more functions
- converted the source to UTF-8.
- "struct sig_msg" uses an olsr_u8_t for a byte array (and not "char")
- force the few inline function to always be inlined.
- #ifdef the body of the olsr_print_hna_set() and olsr_print_neighbor_table()
if nothing is done
- use "inline_avl_comp_ipv4()" in "avl_comp_ipv4()"
- clean up the routes on more signals. Basically we want to do this on all
signals which terminate the program.
- killed a superflous global buffer in src/main.c

This version was breing since weeks and running for severa day in Vienna's
FunkFeuer net without any noticably problem!
 
olsr next generation development @ funkfeuer

Quick Nav

Links

Mercurial source code repository
funkfeuer.at
freifunk.net
olsr.org
olsr CVS

ARCHIVES
October 2006 / November 2006 / December 2006 / January 2007 / February 2007 / March 2007 / April 2007 / May 2007 / June 2007 / July 2007 / August 2007 / September 2007 / October 2007 / November 2007 / December 2007 / January 2008 /



Google
Locations of visitors to this page