public inbox for b.a.t.m.a.n@lists.open-mesh.org
 help / color / mirror / Atom feed
* [B.A.T.M.A.N.] batman-adv 2012.2.0 released
@ 2012-06-15 18:56 Marek Lindner
  2012-06-16  8:28 ` Gioacchino Mazzurco
  0 siblings, 1 reply; 2+ messages in thread
From: Marek Lindner @ 2012-06-15 18:56 UTC (permalink / raw)
  To: b.a.t.m.a.n


Today, the B.A.T.M.A.N. team releases batman-adv 2012.2.0, packed with new 
features and improvements in various subsystems as well as the usual set of 
fixes and cleanups. As the kernel module always depends on the Linux kernel it 
was compiled against, it does not make sense to provide binaries on our 
website. As usual, you will find the signed tarballs in our download section:

http://downloads.open-mesh.org/batman/releases/batman-adv-2012.2.0/

as well as prepackaged binaries in your distribution.


Important changes
-----------------

This release comes with a completely rewritten bridge loop avoidance (also 
known as bridge loop avoidance II). The concept of the first bridge loop 
avoidance was simple and worked well in small size LANs while larger networks 
suffered from the overhead. The new concept is very different and requires 
changes in your batman-adv configuration. If you were using the bridge loop 
avoidance you should consult our documentation before upgrading your 
network(s).

The default "per hop" penalty was increased to encourage batman-adv to take 
shorter routes. If you notice altered routing behavior and are unhappy with 
the result you should revisit the hop penalty configuration option.


Thanks
------

Thanks to all people sending in patches:

 * Antonio Quartulli <ordex@autistici.org>
 * Danny Kukawka <danny.kukawka@bisect.de>
 * David S. Miller <davem@davemloft.net>
 * Eric Dumazet <eric.dumazet@gmail.com>
 * Linus Luessing <linus.luessing@web.de>
 * Marek Lindner <lindner_marek@yahoo.de>
 * Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
 * Sven Eckelmann <sven@narfation.org>
 * Xabier Rodriguez <xrb@kalrong.net>

and to all those that supported us with good advice, code review and/or 
rigorous testing:

 * Al Viro <viro@ZenIV.linux.org.uk>
 * David Laight <David.Laight@aculab.com>
 * Jo-Philipp Wich <jow@openwrt.org>
 * Martin Hundebøll <martin@hundeboll.net>


batman-adv
----------

The new bridge loop avoidance certainly is the most prominent of the new 
features this release has to offer (completely replacing the old bridge loop 
avoidance mechanism). The major design goals were performance and scalability. 
Since the old implementation was relying on a single gateway to be the master 
gateway to the LAN for everybody else it created a performance bottleneck. 
Furthermore, the LAN was used to send traffic to and receive data from the 
master gateway. With the number of bridged gateways grew the amount of 
broadcast traffic in the LAN. The new bridge loop avoidance splits the client 
responsibility amongst all participating gateways. Each gateway "claims" the 
clients it feels responsible for and ignores the traffic from all other 
clients to avoid the bridge loop. It also is able to handle multiple VLANs on 
top of the batX interface connected to different topologies. All details about 
the loop avoidance mechanism are explained in our documentation section.

The routing code also received lots of attention: The recently added routing 
protocol abstraction was further polished and extended to better accommodate 
the needs of alternative routing protocols. B.A.T.M.A.N. IV protocol has been 
enhanced with an additional flag to apply stricter forwarding rules to OGMs 
which allows the protocol to avert routing loops in certain corner cases. 
Also, the B.A.T.M.A.N. IV sequence numbers are now randomized at startup to 
reduce the probability of a collision and thus, slowing down the protocol in 
the startup phase. Rerouting of unicast payload packets during a roaming phase 
is handled with greater efficiency to avoid as much packet loss while roaming 
as possible. 

All manual HZ-jiffies-calculations have been replaced with the in-kernel 
jiffies_to_msecs() function. To facilitate comprehension of the code base the 
ETH_ALEN macro is used instead of hardcoded numeric constants. The batman-adv 
internal bitarray operations have been converted to the efficient in-kernel 
bitmap operations. It was discovered that the TT-Request packet did not always 
send the tt-crc field in network byte order, thereby invalidating the packet. 
This has been fixed alongside the suboptimal DHCP option list parser used by 
the gateway extension. OGM sequence numbers now are always printed as unsigned 
long to avoid misinterpretation while printing the numbers in the debug log.


batctl
------

The batctl utility supports the new bridge loop avoidance by providing an 
option to conveniently enable/disable the bridge loop avoidance and exports 
the bridge loop avoidance claim table. It will also warn about features that 
haven't been compiled into batman-adv such as debug log and bridge loop 
avoidance. The mini-tcpdump learned to display the newly added 'not best hop 
flag' when parsing OGMs. 


Happy routing, 
The B.A.T.M.A.N. team

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-06-16  8:28 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-15 18:56 [B.A.T.M.A.N.] batman-adv 2012.2.0 released Marek Lindner
2012-06-16  8:28 ` Gioacchino Mazzurco

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox