Hi,
since the vis code and the bridge loop avoidance code already use
the kref library functions, I converted the remaining refcounting
code to use kref as well.
Regards,
Marek
Marek Lindner (4):
batman-adv: convert gw_node custom refcounting to kref functions
batman-adv: use rcu callbacks when freeing gw_nodes
batman-adv: convert batman_if custom refcounting to kref functions
batman-adv: use rcu callbacks when freeing batman_if
batman-adv/bat_sysfs.c | 12 ++++++------
batman-adv/gateway_client.c | 30 ++++++++++++++++--------------
batman-adv/hard-interface.c | 41 +++++++++++++++++++++++------------------
batman-adv/hard-interface.h | 13 ++++---------
batman-adv/types.h | 6 ++++--
5 files changed, 53 insertions(+), 49 deletions(-)
Hi,
the received comments motivated me to reword the commit messages to outline
that the loop is caused by bridging the payload traffic and not by the LAN
itself. Furthermore, the locking has been cleaned up and the neighbor list is
purged when the module is unloaded.
Let me know if you have additional questions,
Marek
Hi!
I am struggling with setting up a mesh network. It should be available
for users without batmand both on the lan interfaces and wan interfaces.
Surely I do have some misconceptions in my setup, but don't know where.
The nodes are wistron ca8 ones, with official OpenWrt Backfire
10.03.1-rc3 r22796 atheros.
I try to set up the following network topology:
- there is a /c subnet for batman nodes, 10.42.0.N/24
- there is a /c subnet on each node for non-batman users, 10.42.N.1/24
(dhcp runs there in force mode)
- there is a /c subnet on each node for lan (non-batman) 10.43.N.1/24
(dhcp runs there)
with only two nodes I have managed to handle all the traffic with the
following rules in firewall.user:
iptables -A forwarding_rule -s 10.42.N.0/24 -i ath0 -j ACCEPT
iptables -A forwarding_rule -d 10.42.N.0/24 -o ath0 -j ACCEPT
But with three nodes in a linear topology user-A-B-C, the reject
firewall chain (basically the FORWARD chain) eats up the packets user->A
This is the same rule which rejects batman packets A->C which go through
B, and there are the gate interface which I do not understand, so while
the following rules seem to solve the problem at least for three nodes,
I have a feeling that I am not on the right path, and maybe on a way to
cause packet storms.
iptables -A forwarding_rule -d 10.42.0.0/24 ! -s 10.42.0.0/24 -i ath0 -o
ath0 -j ACCEPT
iptables -A forwarding_rule -s 10.42.0.0/24 ! -d 10.42.0.0/24 -o ath0 -i
ath0 -j ACCEPT
Can someone tell me what I have missed (or is it the right solution indeed?)
Hi,
since nobody objected to the concept regarding lan loops that I presented a
couple of days ago, I went forward and improved the code:
* locking has been revised
* batctl support was added
The new patches require the latest trunk.
Regards,
Marek
=======================================================================
Announcing the Wireless Battle Mesh v3.3
(Godarville, Belgium), 11-12-13-14 Nov 2010
=======================================================================
The Wireless Battle Mesh edition v3.3 will be a 4-day camp in
Godarville, near Charleroi (South of Belgium). This Wireless Battle Mesh
aims to test a network of isolated routers with different routing
protocols (OLSR, BATMAN, Babel, WING, AODV-UU, etc...), in a countryside
environment (cows, trees, pastures, and forests).
Dates
====
Start: Thursday 11th of Nov 2010 @ 09h00
End: Sunday 14th Nov @ 19h00
Goals
=====
* Setup of a testbed of nodes, some of them on batteries in remote
locations
* Data collection, statistics and reproductibility of the experience
* Degustation of local beers
We provide
==========
* electricity
* toilet and shower
* internet connectivity
* spot to work
* a place to sleep
Do not forget
==========
* your laptop/computer
* your compatible router(s) with OpenWRT pre-installed
* your WiFi antenna(s) and connectors
* your batteries
* your floor matelas and sleeping bag
Fee
===
We ask for a participation fee of 15EUR for the 4 days, in order to
cover the basic running costs of the event. This does not include food
nor beverages, nor insurance.
Location
========
Netflow sprl
94 Rue de Nivelles
7160 Godarville
Belgium
Lat/Long: 50.501992,4.284022
Google Map: http://ur1.ca/1rois
Pictures: http://www.flickr.com/photos/zoobab/sets/72157624904679481/
Transport
=========
Godarville is easily reachable by
1) train (1h00 from Brussels)
2) by car (45min from Brussels)
3) by plane (Charleroi-Airport has cheap airlines with Ryanair and Wizzair)
In case you are travelling by plane, we can pick you up at the airport
if you contact us in advance.
Registration
============
Please register on doodle:
http://doodle.com/xqmy9qurmrxhvnhf
And send an email to bh at udev.org with:
1. Name, Surname or Nickname
3. Date of arrival and departure
Contacts
=======
Thierry Watelet
Email: thierry dot watelet at netflow.be
GSM: +32-495-745 315
Benjamin Henrion
Email: bh at udev.org
GSM: +32-484-566 109
Pieter Heremans
Email: pieter at l45.be
Philippe De Wolf
Email: info at netflow.be
A dedicated IRC channel is open at #battlemesh on irc.freenode.net
Organisation
=========
HackerSpaceBrussels (HSB) vzw
Netflow.be
Links
====
* http://battlemesh.org/BattleMeshV3.3
* http://www.olsr.org
* http://www.pps.jussieu.fr/~jch/software/babel/
* http://en.wikipedia.org/wiki/B.A.T.M.A.N.
* http://freshmeat.net/projects/aodvruu/
* http://www.wing-project.org/
* http://www.hackerspace.be
* http://www.netflow.be
Hi again,
things that changed since the last patch:
- add support to fragment packets on every node,
if outgoing iface mtu is smaller as the packet
- add support to defragment packets on every node,
if outgoing iface mtu is >= original size
- rename some functions
In this patch every node defragment packets if it can. Do you think it
is better to add an option to enable/disable this ?
Sven, any idea why checkpatch (0.31)b do this ?
ERROR: space prohibited after that '-' (ctx:WxW)
#10: FILE: batman-adv/routing.c:1146:
+ uni_diff = sizeof(struct unicast_frag_packet) - hdr_len;
^
regards,
Andreas
Hi,
i tried to prevent the race condition [1] that I mentioned yesterday. The
patchset was also slightly extended to use a refcnt a little bit more.
Best regards,
Sven
[1] 201009170317.28338.sven.eckelmann(a)gmx.de
Sven Eckelmann (9):
batman-adv: Introduce if_list_lock to protect if_list
batman-adv: Protect update side of gw_list
batman-adv: Always protect list_for_each_entry_rcu with RCU
batman-adv: Remove unneeded rcu_read_lock
batman-adv: Use synchronize_rcu instead of call_rcu
batman-adv: Use refcnt to track usage count of gw_node
batman-adv: Use refcnt to track usage count of batman_if
batman-adv: count election of gateway as reference
batman-adv: count batman_if list queries as reference
batman-adv/bat_sysfs.c | 37 ++++++++++++++++++-------
batman-adv/gateway_client.c | 64 ++++++++++++++++++++++++++++++-------------
batman-adv/hard-interface.c | 59 +++++++++++++++++++++++++++++-----------
batman-adv/hard-interface.h | 13 +++++++++
batman-adv/originator.c | 2 -
batman-adv/routing.c | 2 +
batman-adv/types.h | 4 +-
7 files changed, 132 insertions(+), 49 deletions(-)