From (spam-protected) Tue Sep 4 03:29:56 2007 From: (spam-protected) (Sven Wagner) Date: Tue, 04 Sep 2007 03:29:56 +0200 Subject: [Olsr-announce] [OT] c-base crash cancelled Message-ID: <46DCB514.3050204@c-base.org> *please spread the good news* a personal big thanks to everyone who helped us out. The public response was/is amazing It's nice to see how many people round the world, realize how important a *free hacker space* is! *A big T H A N K S from all the crew* cheers cven :-) ###################################################### *c-base crash cancelled: c-base reconstruction project continues !!* *spectacular public response: space station's untimely end prevented for now* In mid-July of this year the non-profit association c-base came close to bankruptcy and faced eviction. The cause was an accumulated rent debt that we couldn't afford due to chronic financing gaps. The news about this predicament spread quickly throughout the internet: within a few hours a press release and several donation requests were issued in the blogosphere. National and international communities and culture projects spread the word, even country-wide news channels such as Heise and Spiegel Online provided coverage. This public response, along with the considerable amounts that arrived on the donation account, led to new hope and motivation among the dismayed c-base crew... *thank you to all activists and donors – your contribution counts!* In the following days and weeks the donation request yielded 12 000 Euros altogether – a good part of which came from private donors, including some large donations. We would like to thank every one of them! Many organisations also supported us through monetary and equipment donations – they deserve our gratitude, too! There have been many commendable actions in our own ranks as well: the society's members, who all work voluntarily, showed a remarkable devotion at acquiring donations, managing the space station, and working on projects and events. Thanks to all the efforts, almost 20 000 of the needed 30 000 Euros was raised in only 6 weeks. This money was used to reduce our debt with the cooperative which houses the space station, and as a result they have announced the withdrawal of the eviction. It seems that the space station is saved for the time being. *we realize the issue went beyond the cash box* Of course we want to prevent similar situations in the future. For this reason, the c-base's board – which has grown by four energetic members as of the general meeting two weeks ago – is not only concerned with the settlement of debts, but also with changes and investments which enhance and stabilise our situation. To this end, we have consciously decided not to scale down the rented area in order to keep the option of hosting events (with a renewed emphasis on a media-cultural focus). In fact, we are even aiming to develop and enhance the rooms and their infrastructure to provide a reliable and efficient platform for partners and their projects. Some of the changes and instant measures have already led to a tangible enhancement of the situation; for instance, a newly organised, dependable and courteous bar crew was able to double the revenue from drinks in the past weeks. Currently, our internal management structure is being reworked, restructured and made more efficient and we are aiming to draw new members by an enhanced access to infrastructure and resources. An improved internal and external communication should further help to support own projects and provide a better accessibility for the public. *be future compatible – reboot your universe now!* So the story continues and it will remain exciting … and you should be a part of it. ;-) With your membership fee you not only support the continuity of a most unusual part of the Berlin sub-culture, you also gain an opportunity for creative exchange and access to trend-setting projects on-board your own space station. Membership application forms can be found at: http://www.c-base.org/ beitrittsformular.pdf c-base e.V. space station beneath Berlin Rungestraße 20, 10179 Berlin +49 (0) 30 – 28 599 300 http://www.c-base.org Donation account c-base e.V. Hypovereinsbank Potsdam Sort Code 160 200 86, Account No 4910173974 IBAN: DE 09 16 02 00 86 49 10 17 39 74 BIC: HYVEDEMM470 From (spam-protected) Fri Sep 14 01:10:26 2007 From: (spam-protected) (Bernd Petrovitsch) Date: Fri, 14 Sep 2007 01:10:26 +0200 Subject: [Olsr-announce] olsrd-0.5.4rc1 released Message-ID: <1189725026.4058.15.camel@gimli.at.home> Hi all! I just released olsrd-0.5.4rc1. Due to the further massive changes (a good part of it was rewritten) in the routing core to further reduce duplicated data and *lots* of malloc() and free() calls (see the changelog below for more), we ask for further testing and - thus - this is a release candidate. It compiles and runs on Linux and Win32 (though the testing on Win32 was pretty minimal), so we are especially interested in feedback from all non-Linux systems. The only known issues are - warnings on x86_64 in code only used by the nameservice plugin. - the Quagga plugin is the last with the old plugin interface version. A .tar.gz and a .tar.bz2 can be found on http://bernd.petrovitsch.priv.at/olsr-ng/. To quote from the changelog: ---- snip ---- QUAGGA by Immo 'FaUl' Wehrenberg - updated to svn version 33 BMF PLUGIN by Erik Tromp - updated to 1.5.1 - updated to latest plugin interfaces changes and killed warnings (by Bernd Petrovitsch ) PATCH by Hannes Gredler which rewrites the route handling. To quote him: ---- snip ---- change list: - get rid of separate routing tables for HNA and per-node routes, everything is now unified in an AVL routing tree (&routingtree) - introduce walking macros (OLSR_FOR_ALL_RT_ENTRIES()) that hide the internal structure of the RIB for making life of the plugin authors easier. - get rid of different SPF implementations for LQ and non-LQ code paths. a non-LQ edge is simply substituted with a cost of 1.0 - get rid of host masks - a new data type olsr_prefix is introduced which is basically an ip address plus a prefix length. do not install the metric in the kernel FIB - for the kernel its pointless if the route gets installed with a metric of N or M. we do not need to update the kernel FIB if we have hop count only changes (for example if there is a reroute action further downstream) the only things which triggers a kernel FIB route update is a next hop change (a next hop is neighboring gateway router plus an interface). all OLSR routes are installed with a metric of 2 - separate between rt_entry and rt_path - the former is a route installed in the kernel with an next hop. the latter is a candidate for best path selection after SPF calculation has been done. in the rt_entry we keep a pointer to the best_path and also to the next hop that was installed in the kernel FIB. we always keep all originator of a route, if a route originator goes away we can easy recompute the best path for the route. the next hop in the rt_entry gets only updated upon a successful route_add call - that way we always remember what next hop to delete. stray routes should be history now. - tweak the linked list toolkit to operate on circular lists. - get rid of malloc calls for building the kernel update list. the list node is now embedded in the rt_entry. - introduce three queues (add/chg/del) for kernel updates. - for neighbor route dependency tracking the neighbor routes are queued first or last (depending on which queue you work on) - rework all the plugins which directly manipulate rt entries. - rework the plugins that read from the routing table (most notably nameserver, httpinfo and quagga plugin) - lots of comments that explains the intentions and purpose of this code-piece. non RT related stuff: - use a list rather than a tree for storing the post-SPF results, which further improves the raw-SPF runtime. - add display of SPF runtime (masked behind #ifdef SPF_PROFILING) ---- snip ---- And Sven-Ola Tuecke fixed an instability issue on interface up/down operations (see 102-olsrd-rt-refactoring-fixes.patch below). PATCH by Hannes Gredler which "consolidates the link-state database and the spf-calculation in order to calculate routes more efficiently". To quote him (more): ---- snip ---- - use the link-state (tc) database for SPF calculations rather than replicating the notion of vertices and edges for a SPF run. this heavily reduces malloc() calls and shrinks the total CPU load of the route calculation path between 60%-80%. ---- snip ---- PATCHES by Sven-Ola Tücke to be found on from http://download-master.berlin.freifunk.net/sven-ola/nylon/packages/olsrd/files/ - 102-olsrd-rt-refactoring-fixes.patch Because you changed a lot of basics: It's time to handle a general flaw in the routing system. Plase take a look at chk_if_changed(). This will free() any "struct interface" pointer without warning at any time. This is why it's possile to SEGV olsrd with a simple "ifdown xxx". The patch replaces the (maybe) invalid pointer with an index reference "iif_index". You can always ask the OS for a name. Please note, that I do not have a working BSD toolchain, so I've placed an #error in the IPv6 BSD-part where the author/porter has started to hack something funny. - 110-olsrd-double-wlancard-neigh-hack.patch: This is a hack for Nodes having to wifi cards with the same channel, bssid, IP-Range etc. If two nodes can see each other by means of two possible links (here: two wifi cards with equal config), a bug is triggered with the Neigh-is-SYM detections. This small little hack prevents this. - 112-olsrd-nameservice-fixemptyname.patch: This is an addon to my lat/lon stuff which will prevent olsrd from running (oops?) if no hostname is given and the nameservice plugin is loaded. - 113-olsrd-dyngwplain-pluginvers5.patch: This updates the dyngwplain plugin to the new Plugin Iface - 140-olsrd-arprefreshed.patch: This is a new one. Opens a packet socket and listen to UDP(698), extract the sender MAC and refreshes the ARP cache whith that. Should speedup especially in cases, if you initially try to use a longer routing path which normally triggers a "ARP-Lookup-Chain". - 106-olsrd-nameserviceparams.patch: This patch converts more plugins to the new interface version. - 104-olsrd-policy-routing.patch Reworked this one to discard GPL helper functions. Also checked IPv6 and re-included the IPC hookup. The patch adds a "RtTable [number]" for /etc/olsrd.conf which is simply the Linux policy routing table to use. Defaults to 254 (== main). This patch was modified/clenaed up by to use "#if" instead of "#ifdef" as it's more robust against typos. PATCH by Arnd Hannemann olsr_makefile_make_use_of_exename.patch - This patch makes sure that the EXENAME variable of Makefile.inc is used in Makefile. PATCHES by John Hay - update to new FreeBSD WLAN API - do not require /bin/bash, use /bin/sh PATCHES and CLEANUPS by Bernd Petrovitsch - Made a function from the ME_TO_DOUBLE() macro (in src/mantissa.h). This saves code throughout the code even on i386 and will even more on architectures without floating point units and "-msoft-float". - And the mathemathics in src/mantissa.h is reformulated to minimize floating point operations to save CPU power - especially on embedded devices. - I rewrote the half of src/lq_packet.[ch] which deals with incoming packets. This was triggered with performance output of gcc produced by Sven-Ola Tuecke at CCCamp07. This kills *lots* of (more than) superflous malloc()s and the same number of (free()s). And it also kills some code and copying around of data. - converted the dyn_gw plugin to plugin interface version 5 (which leaves the quagga plugion as the last with the old one). - paving the way to activate -Wshadow, much more to do - const-ify parameters here and there - use NULL for pointers (and not "0") - Killed "extern" declarations in (not generated) .c files - Based on a patch by Gianni Costanzi (so credits and thanks have to go there): added OS_CFLAG_PTHREAD Makefile variable since gcc (on Linux) requests this in the manual page. Changes/additions: - I added definitions to all OS-specific Makefile.$OS with the value similar to the value in OS_LIB_PTHREAD (either empty or "-pthread"). - The variable is added to CPPFLAGS (and not CFLAGS) since CPPFLAGS is used for all cpp and gcc calls (and gcc's man page indicates that it sets variables for both of them). ---- snip ---- Have fun! Bernd -- Firmix Software GmbH http://www.firmix.at/ mobil: +43 664 4416156 fax: +43 1 7890849-55 Embedded Linux Development and Services