An error occurred fetching the project authors.
- 29 May, 2015 1 commit
-
-
Sven Eckelmann authored
Signed-off-by:
Sven Eckelmann <sven@narfation.org> Signed-off-by:
Marek Lindner <mareklindner@neomailbox.ch>
-
- 12 Jan, 2014 3 commits
-
-
Simon Wunderlich authored
Signed-off-by:
Simon Wunderlich <sw@simonwunderlich.de> Signed-off-by:
Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by:
Antonio Quartulli <antonio@meshcoding.com>
-
Simon Wunderlich authored
If the same interface is used for sending and receiving, there might be throughput degradation on half-duplex interfaces such as WiFi. Add a penalty if the same interface is used to reflect this problem in the metric. At the same time, change the hop penalty from 30 to 15 so there will be no change for single wifi mesh network. the effective hop penalty will stay at 30 due to the new wifi penalty for these networks. Signed-off-by:
Simon Wunderlich <simon@open-mesh.com> Signed-off-by:
Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by:
Antonio Quartulli <antonio@meshcoding.com>
-
Simon Wunderlich authored
For the network wide multi interface optimization it is required to save metrics per outgoing interface in one neighbor. Therefore a new type is introduced to keep interface-specific information. This also requires some changes in access and list management. The compare and equiv_or_better API calls are changed to take the outgoing interface into consideration. Signed-off-by:
Simon Wunderlich <simon@open-mesh.com> Signed-off-by:
Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by:
Antonio Quartulli <antonio@meshcoding.com>
-
- 08 Jan, 2014 1 commit
-
-
Antonio Quartulli authored
As suggested by checkpatch, remove all the references to the FSF address since the kernel already has one reference in its documentation. In this way it is easier to update it in case of future changes. Signed-off-by:
Antonio Quartulli <antonio@meshcoding.com> Signed-off-by:
Marek Lindner <mareklindner@neomailbox.ch>
-
- 23 Oct, 2013 1 commit
-
-
Antonio Quartulli authored
Upcoming changes need to perform other checks on the incoming net_device struct. To avoid performing dev_get_by_index() for each and every check, it is better to move it outside of is_wifi_iface() and search the netdev object once only. Signed-off-by:
Antonio Quartulli <antonio@open-mesh.com> Signed-off-by:
Marek Lindner <mareklindner@neomailbox.ch>
-
- 27 Mar, 2013 1 commit
-
-
Sven Eckelmann authored
batman-adv has an unusual way to manage softinterfaces. These will be created automatically when a user writes to the batman-adv/mesh_iface file in sysfs and removed when no slave device exists anymore. This behaviour cannot be changed without breaking compatibility with existing code. Instead other interfaces should be able to slightly reduce this behaviour and provide a more common reaction to a removal of a slave interface. Signed-off-by:
Sven Eckelmann <sven@narfation.org> Signed-off-by:
Marek Lindner <lindner_marek@yahoo.de> Acked-by:
Antonio Quartulli <ordex@autistici.org> Signed-off-by:
Antonio Quartulli <ordex@autistici.org>
-
- 19 Jan, 2013 1 commit
-
-
Antonio Quartulli authored
Signed-off-by:
Antonio Quartulli <ordex@autistici.org> Signed-off-by:
Marek Lindner <lindner_marek@yahoo.de>
-
- 01 Jul, 2012 2 commits
-
-
Sven Eckelmann authored
Reported-by:
Martin Hundebøll <martin@hundeboll.net> Signed-off-by:
Sven Eckelmann <sven@narfation.org>
-
Sven Eckelmann authored
Reported-by:
Martin Hundebøll <martin@hundeboll.net> Signed-off-by:
Sven Eckelmann <sven@narfation.org>
-
- 24 Jun, 2012 1 commit
-
-
Sven Eckelmann authored
All non-static symbols of batman-adv were prefixed with batadv_ to avoid collisions with other symbols of the kernel. Other symbols of batman-adv should use the same prefix to keep the naming scheme consistent. Signed-off-by:
Sven Eckelmann <sven@narfation.org>
-
- 20 Jun, 2012 2 commits
-
-
Sven Eckelmann authored
batman-adv doesn't follow the style for multiline comments that David S. Miller prefers. All comments should be reformatted to follow this consistent style to make the code slightly more readable. Signed-off-by:
Sven Eckelmann <sven@narfation.org>
-
Sven Eckelmann authored
batman-adv can be compiled as part of the kernel instead of an module. In that case the linker will see all non-static symbols of batman-adv and all other non-static symbols of the kernel. This could lead to symbol collisions. A prefix for the batman-adv symbols that defines their private namespace avoids such a problem. Reported-by:
David Miller <davem@davemloft.net> Signed-off-by:
Sven Eckelmann <sven@narfation.org>
-
- 16 Feb, 2012 1 commit
-
-
Sven Eckelmann authored
Signed-off-by:
Sven Eckelmann <sven@narfation.org> Signed-off-by:
Marek Lindner <lindner_marek@yahoo.de>
-
- 22 Aug, 2011 1 commit
-
-
Antonio Quartulli authored
Clients connected through a 802.11 device are now marked with the TT_CLIENT_WIFI flag. This flag is also advertised with the tt announcement. Signed-off-by:
Antonio Quartulli <ordex@autistici.org> Signed-off-by:
Marek Lindner <lindner_marek@yahoo.de>
-
- 09 Jun, 2011 1 commit
-
-
Sven Eckelmann authored
CodingStyle "Chapter 12: Macros, Enums and RTL" recommends to use enums for several related constants. Internal states can be used without defining the actual value, but all values which are visible to the outside must be defined as before. Normal values are assigned as usual and flags are defined by shifts of a bit. Signed-off-by:
Sven Eckelmann <sven@narfation.org>
-
- 30 May, 2011 1 commit
-
-
Sven Eckelmann authored
batman-adv uses pointers which are marked as const and should not violate that type qualifier by passing it to functions which force a cast to the non-const version. Signed-off-by:
Sven Eckelmann <sven@narfation.org>
-
- 01 May, 2011 1 commit
-
-
Marek Lindner authored
The rcu protected macros rcu_dereference() and rcu_assign_pointer() for the bat_priv->primary_if need to be used, as well as spin/rcu locking. Otherwise we might end up using a primary_if pointer pointing to already freed memory. Signed-off-by:
Marek Lindner <lindner_marek@yahoo.de> Signed-off-by:
Sven Eckelmann <sven@narfation.org>
-
- 05 Mar, 2011 2 commits
-
-
Marek Lindner authored
Signed-off-by:
Marek Lindner <lindner_marek@yahoo.de>
-
Marek Lindner authored
It might be possible that 2 threads access the same data in the same rcu grace period. The first thread calls call_rcu() to decrement the refcount and free the data while the second thread increases the refcount to use the data. To avoid this race condition all refcount operations have to be atomic. Reported-by:
Sven Eckelmann <sven@narfation.org> Signed-off-by:
Marek Lindner <lindner_marek@yahoo.de>
-
- 31 Jan, 2011 2 commits
-
-
Sven Eckelmann authored
Signed-off-by:
Sven Eckelmann <sven@narfation.org>
-
Sven Eckelmann authored
batman_skb_recv can be defined in hard-interface.c as static because it is never used outside of that file. Signed-off-by:
Sven Eckelmann <sven@narfation.org>
-
- 16 Dec, 2010 1 commit
-
-
Sven Eckelmann authored
B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is a routing protocol for multi-hop ad-hoc mesh networks. The networks may be wired or wireless. See http://www.open-mesh.org/ for more information and user space tools. Signed-off-by:
Sven Eckelmann <sven@narfation.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 29 Nov, 2010 2 commits
-
-
Marek Lindner authored
Signed-off-by:
Marek Lindner <lindner_marek@yahoo.de> Signed-off-by:
Sven Eckelmann <sven.eckelmann@gmx.de> Signed-off-by:
Greg Kroah-Hartman <gregkh@suse.de>
-
Marek Lindner authored
Signed-off-by:
Marek Lindner <lindner_marek@yahoo.de> Signed-off-by:
Sven Eckelmann <sven.eckelmann@gmx.de> Signed-off-by:
Greg Kroah-Hartman <gregkh@suse.de>
-
- 20 Sep, 2010 1 commit
-
-
Sven Eckelmann authored
get_batman_if_by_netdev and get_active_batman_if may leak data from the rcu protected list of interfaces. The rcu protected list of all gateway nodes leaks the actual data outside the read-side critical area. This is not valid as we may free the data using a call_rcu created callback after we unlock using rcu_read_unlock. A workaround is to provide a reference count to be sure that the memory isn't freed to early. It is currently only to implement the already existing functionality and doesn't provide the full tracking of all usage cases. Additionally, we must hardif_hold inside the rcu_read_lock()..rcu_read_unlock() before we attach to the structure which "leaks" it. When another function now removed it from its usage context (primary_if, usage on stack, ...) then we must hardif_put it. If it is decremented to zero then we can issue the call_rcu to the freeing function. So "put" is not allowed inside an rcu_read_lock. Signed-off-by:
Sven Eckelmann <sven.eckelmann@gmx.de> Signed-off-by:
Greg Kroah-Hartman <gregkh@suse.de>
-
- 05 Sep, 2010 1 commit
-
-
Marek Lindner authored
This patch replaces the static bat0 interface with a dynamic/abstracted approach. It is now possible to create multiple batX interfaces by assigning hard interfaces to them. Each batX interface acts as an independent mesh network. A soft interface is removed once no hard interface references it any longer. Signed-off-by:
Marek Lindner <lindner_marek@yahoo.de> [sven.eckelmann@gmx.de: Rework on top of current version] Signed-off-by:
Sven Eckelmann <sven.eckelmann@gmx.de> Signed-off-by:
Greg Kroah-Hartman <gregkh@suse.de>
-
- 08 Jul, 2010 1 commit
-
-
Sven Eckelmann authored
We include different header files indirectly to the same source file. This creates weird compiler errors from time to time. Include guards should prefend that functions/variables/... gets redefined by itself. Signed-off-by:
Sven Eckelmann <sven.eckelmann@gmx.de> Signed-off-by:
Greg Kroah-Hartman <gregkh@suse.de>
-
- 11 May, 2010 2 commits
-
-
Marek Lindner authored
Instead of having a single /proc file "interfaces" in which you have to echo the wanted interface batman-adv will create a subfolder in each suitable /sys/class/net folder. This subfolder contains files for the interface specific settings. For example, mesh_iface to add/remove an interface from a virtual mesh network (at the moment only bat0 is supported). Example: echo bat0 > /sys/class/net/eth0/batman-adv/mesh_iface to deactivate: echo none > /sys/class/net/eth0/batman-adv/mesh_iface Interfaces which are not compatible with batman-adv won't contain the batman-adv folder, therefore can't be activated. Not supported are: loopback, non-ethernet, non-ARP and virtual mesh network interfaces Signed-off-by:
Marek Lindner <lindner_marek@yahoo.de> Signed-off-by:
Andrew Lunn <andrew@lunn.ch> Signed-off-by:
Greg Kroah-Hartman <gregkh@suse.de>
-
Simon Wunderlich authored
Signed-off-by:
Simon Wunderlich <siwu@hrz.tu-chemnitz.de> Signed-off-by:
Andrew Lunn <andrew@lunn.ch> Signed-off-by:
Greg Kroah-Hartman <gregkh@suse.de>
-
- 04 Mar, 2010 1 commit
-
-
Simon Wunderlich authored
This patch removes the (ugly and racy) packet receiving thread and the kernel socket usage. Instead, packets are received directly by registering the ethernet type and handling skbs instead of self-allocated buffers. Some consequences and comments: * we don't copy the payload data when forwarding/sending/receiving data anymore. This should boost performance. * packets from/to different interfaces can be (theoretically) processed simultaneously. Only the big originator hash lock might be in the way. * no more polling or sleeping/wakeup/scheduling issues when receiving packets * this might introduce new race conditions. * aggregation and vis code still use packet buffers and are not (yet) converted. * all spinlocks were converted to irqsave/restore versions to solve some lifelock issues when preempted. This might be overkill, some of these locks might be reverted later. * skb copies are only done if neccesary to avoid overhead performance differences: * we made some "benchmarks" with intel laptops. * bandwidth on Gigabit Ethernet increased from ~500 MBit/s to ~920 MBit/s * ping latency decresed from ~2ms to ~0.2 ms I did some tests on my 9 node qemu environment and could confirm that usual sending/receiving, forwarding, vis, batctl ping etc works. Signed-off-by:
Simon Wunderlich <siwu@hrz.tu-chemnitz.de> Acked-by:
Sven Eckelmann <sven.eckelmann@gmx.de> Acked-by:
Marek Lindner <lindner_marek@yahoo.de> Acked-by:
Linus Lüssing <linus.luessing@web.de> Signed-off-by:
Andrew Lunn <andrew@lunn.ch> Signed-off-by:
Greg Kroah-Hartman <gregkh@suse.de>
-
- 11 Dec, 2009 1 commit
-
-
Andrew Lunn authored
B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is a routing protocol for multi-hop ad-hoc mesh networks. The networks may be wired or wireless. See http://www.open-mesh.org/ for more information and user space tools. This is the first submission for inclusion in staging. Signed-off-by:
Andrew Lunn <andrew@lunn.ch> Signed-off-by:
Greg Kroah-Hartman <gregkh@suse.de>
-