Repository : ssh://git@open-mesh.org/batman-adv
On branches: ecsv/rst,master
commit cf64a04f05fed86cf04f3713da1efd230f8d7608 Author: Sven Eckelmann sven@narfation.org Date: Mon Nov 20 17:27:26 2017 +0100
batman-adv: Convert CHANGELOG to reStructuredText
The current format of the file is not well defined. The reStructuredText format (as used by other batman-adv related files) has the benefit that it is similar easy to read and write. And it allows other tools to parse the content of the file and convert it in a sensible way to a different file format.
Multiple git repository web-based management software also can directly render these files as properly formatted HTML output.
Signed-off-by: Sven Eckelmann sven@narfation.org
cf64a04f05fed86cf04f3713da1efd230f8d7608 CHANGELOG | 634 ------------------------------------------------------- CHANGELOG.rst | 666 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 666 insertions(+), 634 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG deleted file mode 100644 index b32d1d09..00000000 --- a/CHANGELOG +++ /dev/null @@ -1,634 +0,0 @@ -batman-adv 2017.3 - - * support latest kernels (3.2 - 4.14) - * coding style cleanups and refactoring - * bugs squashed: - - fix TT sync flag inconsistencies - - ignore invalid throughput values from wifi interfaces - - -- Thu, 28 Sep 2017 13:43:18 +0200 - -batman-adv 2017.2 - - * support latest kernels (3.2 - 4.13) - * avoid bridge loop detection mac addresses in translation tables - * coding style cleanups and refactoring - * bugs squashed: - - ignore invalid throughput values from wifi interfaces - - -- Fri, 28 Jul 2017 13:38:45 +0200 - -batman-adv 2017.1 - - * support latest kernels (3.2 - 4.12) - * bridge loop avoidance improvements for various corner cases - * reduction of maximum fragment size - * coding style cleanups and refactoring - * bugs squashed: - - fix rx packet/bytes stats on local DAT ARP reply - - -- Tue, 23 May 2017 11:40:21 +0200 - -batman-adv 2017.0.1 - - * support latest kernels (3.2 - 4.11) - * bugs squashed: - - avoid API incompatibilities with new EWMA implementation - - generate equally size fragments to reduce chance of padding or MTU problems - - fix initialization of gateway sel class when BATMAN_V is compiled in - - -- Tue, 07 Mar 2017 16:33:11 +0100 - -batman-adv 2017.0 - - * support latest kernels (3.2 - 4.11) - * remove bridge loop avoidance addresses from translation table - * allow to build B.A.T.M.A.N. V without cfg80211 integration on Linux < 3.16 - * coding style cleanups and refactoring - * bugs squashed: - - fix interface reference counter on fragmentation errors - - avoid double free on fragment merge error - - fix support for up to 16 fragments - - fix build of multicast compatibility code on some architectures - - -- Tue, 28 Feb 2017 17:22:49 +0100 - -batman-adv 2016.5 - - * support latest kernels (3.2 - 4.10) - * change installation path back to $INSTALL_MOD_DIR/updates/net/batman-adv - * add simple (re)broadcast avoidance - * reduce multicast TT and TVLV update delays under B.A.T.M.A.N. V - * support B.A.T.M.A.N. V throughput detection when using VLANs on top of WiFi - * improve documentation of sysfs and debugfs files - * coding style cleanups and refactoring - * bugs squashed: - - detect missing primaryif during tp_send as error - - fix re-adding of previously removed interfaces via rtnetlink - - fix rare race conditions on interface removal - - handle allocation error when generating TT responses - - -- Thu, 15 Dec 2016 18:11:55 +0100 - -batman-adv 2016.4 - - * support latest kernels (3.2 - 4.9) - * add GW selection algorithm for B.A.T.M.A.N. V - * add support for querying most tables/lists via netlink - * adjusted device modifications for easier handling via rtnl (ip-link) - * disabled (bad) debugfs support in network namespaces - * add improved compat-patches support (note the new build directory) - * reduced translation table memory consumption - * coding style cleanups and refactoring - * bugs squashed: - - avoid locking problems when modifying interfaces - - fix sysfs errors on fast device deletion/creation events - - add missing memory barriers for neighbor list modifications - - fix tpmeter debug log output - - -- Thu, 27 Oct 2016 21:12:07 +0200 - -batman-adv 2016.3 - - * support latest kernels (3.2 - 4.8) - * multicast optimization support for bridged setups - * initial, limited support for batman-adv netlink family - * throughput meter implementation - * support for frame priority in fragment packets - * kernel doc updates and coding style cleanups - * bugs squashed: - - fix (re-)initialization of ELP tweaking options - - fix elp packet data reservation - - fix nullptr dereference after using vlan_insert_tag - - fix various reference counting bugs in bonding, bla, tt and - originator code - - fix speedy join in gateway client mode - - -- Thu, 01 Sep 2016 16:12:26 +0200 - -batman-adv 2016.2 - - * support latest kernels (3.2 - 4.7) - * initial, limited support for network namespaces - * kernel doc updates and coding style cleanups - * cleanup of legacy kernel compat code - * support for detection and reporting of complex bridge loops - * bugs squashed: - - fix some TT issues: double free for full table request structs - (created problems on multi-core systems) and a double put of VLAN - objects - - fix various B.A.T.M.A.N. V issues: fix mac address after address - change, ELP orig address on secondary interfaces, null pointer - dereference in metric comparison, refcount issues, ... - - fix skb deref after transmission - - avoid duplicate neigh_node additions - - replace WARN with rate limited output on non-existing VLAN - - fix ICMP RR ethernet header access after skb_linearize - - fix memleak of untagged vlan when removing interface via rtnl-link - - fix build against Debian Stretch kernels - - -- Thu, 09 Jun 2016 15:37:44 +0200 - -batman-adv 2016.1 - - * support latest kernels (3.2 - 4.6) - * drop support for older kernels 2.6.29 - 3.1 - * B.A.T.M.A.N. V routing algorithm support - * kernel doc updates and coding style cleanups - * conversion to the kref based reference counting framework - * bugs squashed: - - fix endless loop in bat-on-bat netdevice check when using veth - - fix various reference counting issues - - init neigh node last seen field - - fix integer overflow in batadv_iv_ogm_calc_tq - - fix broadcast/ogm queue limit on a removed interface - - fix DAT candidate selection to use VID - - fix unexpected free of bcast_own on add_if error - - check skb size before using encapsulated ETH+VLAN header - - -- Thu, 21 Apr 2016 14:10:38 +0200 - -batman-adv 2016.0 - - * support latest kernels (2.6.29 - 4.5) - * add list of unique single hop neighbors and export it via debugfs - * massive kernel doc updates and coding style cleanups - * redesign/fix RCU handling when cleaning up to avoid bad memory access - * increase bridge loop avoidance wait time to 60 seconds - * remove bridge loop avoidance state when it gets disabled - * support for interfaces which switch from non-ethernet to ethernet mode - * bugs squashed: - - fix lockdep splat when doing mcast_free or batadv_tlv_container_remove - - fix invalid memory access when shrinking buffer for the OGM-return-rate - measurement on interface removal - - -- Tue, 19 Jan 2016 17:02:46 +0100 - -batman-adv 2015.2 - - * support latest kernels (2.6.29 - 4.4) - * cleanup of coding style and kernel docs - * fix includes in various files - * add lower layer head/tail room to avoid problems when slave devices - encapsulate packets and have not enough space available - * fix hard_header_len which allows sending packets shorter than 64byte - * Remove obsolete deleted attribute for gateway node to simplify - code and avoid delayed free of structures referenced by the gateway - * Add lockdep asserts to find locking problems - * bugs squashed: - - Fix gw_bandwidth calculation on 32 bit systems - - prevent potential hlist double deletion - - fix soft interface access on unload - - fix invalid stack access in DAT - - lock CRC access in bridge loop avoidance - - fix TT client duplicate detection with VLANs - - fix excess VLANs in TT requests - - avoid keeping false temporary TT entries - - fix TT speedy join for DAT cache replies - - fix TT memory leak on add with invalid VLAN - - -- Mon, 23 Nov 2015 20:25:19 +0100 - -batman-adv 2015.1 - - * support latest kernels (2.6.29 - 4.2) - * cleanup of coding style - * cleanup of the compatibility layer - * convert to the Linux source directory structure - * adjust default configuration - - disable network coding - - enable bridge loop avoidance - * bugs squashed: - - avoid DAT to mess up local LAN state - - fix race conditions in DAT/NC/TT/MCAST TVLV handlers - - fix build system POSIX compatibility - - fix gateway selection in fast connection (1) gw_mode - - fix initialization of detected gateway, which caused hangs on unloads - - fix race conditions in the translation table - - fix kernel crash due to missing NULL checks in vlan handlers - - fix potentially broken header access by multicast optimization - - fix broadcast packets cleanup for purged outgoing interface - - -- Tue, 04 Aug 2015 14:34:42 +0200 - -batman-adv 2015.0 - - * support latest kernels (2.6.29 - 4.1) - * cleanup of coding style and add kerneldoc - * bugs squashed: - - fix incorrect lockdep warning in network coding - - fix condition when bonding should be used - - fix support of bridged batman-adv devices with kernel < 2.6.39 - - -- Tue, 28 Apr 2015 20:20:02 +0200 - -batman-adv 2014.4.0 - - * support latest kernels (2.6.29 - 3.19) - * double default hop penalty - * bugs squashed: - - fix wrong size calculations and out of order support in - fragmentation (fixes CVE-2014-9428) - - fix double fetch in RCU for old kernels (<3.9) - - fix NULL dereference and check in gateway code - - fix multicast counters - - fix network coding SKB control block initialization - - fix last_seen initialization for orig nodes - - -- Mon, 05 Jan 2015 20:03:39 +0100 - -batman-adv 2014.3.0 - - * support latest kernels (2.6.29 - 3.16) - * drop QinQ claim frames in bridge loop avoidance - * fix a bogus warning from batadv_is_on_batman_iface() - * removed SET_ETHTOOL_OPS - * style improvements: - - remove semi-colon after macro definition - - add blank line between declarations and the rest of the code - - -- Mon, 21 Jul 2014 16:02:17 +0200 - -batman-adv 2014.2.0 - - * support latest kernels (2.6.29 - 3.15) - * add multicast optimization for certain type of multicast networks - to send data only to nodes actually registered using new TVLVs - and the translation table - * use ether_addr_copy instead of memcpy - * remove obsolete reset mac headers - * bugs squashed: - - fix various (reference counting) bugs introduced by the multi - interface optimization - - fix a reference count problem when sending fragmented packets - - count references for originator nodes referenced by gateway - - fix local TT check for outgoing arp requests in DAT - - fix TT inconsistencies when VLANs are re-created very fast - - update TT entries for each VLAN when the MAC address of the - parent interface is changed - - improve documentation of DAT, TT and general kerneldoc - - -- Thu, 15 May 2014 19:36:10 +0200 - -batman-adv 2014.1.0 - - * support latest kernels (2.6.29 - 3.14) - * add mesh wide multi interface optimization, which replaces the old - interface alternating and bonding features with a new network wide - implementation - * add mesh wide client isolation based on fwmark by using and - propagating the new isolation flag in TT - * send every DHCP packet as bat-unicast when gateway feature is used - * add new build checks for packet sizes to avoid architecture dependent - problems - * bugs squashed: - - deselect current gateway when switching away from client mode - - fix batman-adv header MTU calculation - - fix potential paging error for unicast transmissions - - fix vlan refcounter imbalance on failure paths - - fix TT-TVLV parsing and a TVLV leak - - fix TT CRC computation by ensuring byte order - - fix function names, paranthesis, comments, warnings, chachacha ... - - -- Thu, 13 Mar 2014 12:08:00 +0100 - -batman-adv 2014.0.0 - - * support latest kernels (2.6.29 - 3.13) - * This release contains major rework to allow better backward compatibility - in the future. Unfortunately these changes require a bump of the compat - version to 15, making this and future releases incompatible to the previous - releases. - * add TVLV container infrastructure for OGMs and TT packets - * remove vis functionality (replaced by userspace tool alfred) - * reorder packet types and flags in packet types - * move some packet members (gw flags, TT, ...) into TVLV containers - * rewrite the fragementation code for more fragments (up to 16), more - general usage (not only unicast packets) and reassembly on the way - * add VLAN awareness to TT, DAT and AP isolation - * use CRC32 instead of CRC16 for TT - * generalize many functions (neighbor comparison, etc) to prepare - code-sharing of BATMAN IV and BATMAN V - * set SKB priority according to content (for correct WMM classification) - * add a dummy soft-interface rx mode handler to allow static multicast - listeners - * bugs squashed: - - various packet alignment and size fixes (especially on ARM) - - white space, typos, kernel doc, etc - - improve backward compatibility code - - -- Sat, 04 Jan 2014 20:20:05 +0100 - -batman-adv 2013.4.0 - - * support latest kernels (2.6.29 - 3.12) - * bugs squashed: - - fix potential kernel paging errors for unicast transmissions - - fix network coding initialization for multiple soft interfaces - - fix BLA VLAN handling regression - - improve backward compatibility code - - -- Sun, 13 Oct 2013 18:50:11 +0200 - -batman-adv 2013.3.0: - - * support latest kernels (2.6.29 - 3.11) - * send each broadcast only once on non-wireless interfaces - * change VID handling to prepare enhanced VLAN features - * bugs squashed: - - forward late OGMs from best next hop - - avoid double free of bat_counters - - fix rcu barrier miss - - use the proper header len when checking the TTVN - - make DAT drop ARP requests targeting local clients - * style improvements, code moving and refactoring - - -- Sat, 20 Jul 2013 22:06:46 +0200 - -batman-adv 2013.2.0: - - * support latest kernels (2.6.29 - 3.10) - * add network coding feature - * add rtnl interface configuration support - * fix rtnl and sysfs locking issue - * avoid duplicate interface enslaving - * bugs squashed: - - verify tt len to not exceed packet len - - fix identification of own mac addresses - * style improvements (change seq_printf to seq_puts) - - -- Sat, 20 Apr 2013 16:42:51 +0200 - -batman-adv 2013.1.0: - - * support latest kernels (2.6.29 - 3.9) - * add lots of kerneldoc in types.h - * clean up (kerneldoc alignment, group tt definitions, renaming, ...) - * TT improvements: - - add CRC to debugging tables - - ignore multicast addresses - - reduce local TT timeout from 1 hour to 10 minutes - * Initialize lockdep class keys for hashes - * unbloat bat_priv if debug is not enabled - * bugs squashed - - fix possible sysfs/rtnl deadlock when deregistering - - fix some DAT bugs (skb leak, invalid MAC addresses, NULL pointer dereference) - - -- Sat, 02 Mar 2013 16:02:00 +0100 - -batman-adv 2013.0.0: - -* support latest kernels (2.6.29 - 3.8) -* cleanup of coding style and add kerneldoc -* add new distributed ARP table feature to cache ARP entries -* remove __packed attribute whenever possible to allow better compiler - optimizations -* use kernel-registered BATMAN Ethernet type -* block ECTP traffic to remove integration problems when using BLA -* allow roaming multiple times in TT -* bugs squashed - - fix lockdeps for interfaces - - disallow batman-over-batman configurations - - various BLA fixes (wait at startup, hashing, duplist, ...) - - fix TT roaming cases - - fix TT packet rerouting - - fix TT flags handling - - fix speedy join/BLA interaction bug - - fix random jitter calculation - - -- Sat, 12 Jan 2013 12:00:16 +0100 - -batman-adv 2012.4.0: - -* support latest kernels (2.6.29 - 3.7) -* cleanup of coding style -* integration of remaining packet counters in ethtool statistic -* speedy join of new non-mesh clients based on broadcast packets -* added bridge loop avoidance backbone gateway debugfs table -* workaround for kernel bug when running on top of vlan device -* bugs squashed - - announcement of own MAC address after modification - - wrong counting of received OGMs on x86 - - route flapping in multiple interfaces setup - - receiving of translation table requests for foreign nodes - - invalid memory access after failure during the interface appending - - wrong calculation of packet crc which lead to dropping of broadcast - packets when bridge loop avoidance is enabled - - -- Mon, 29 Oct 2012 16:47:05 +0100 - -batman-adv 2012.3.0: - -* support latest kernels (2.6.29 - 3.6) -* added namespace-like prefix for all batman-adv symbols -* integrated extended statistic support using ethtool -* important bugs fixed - - correct endianness for translation table crc - - avoid race condition in translation table replacements - - ensure gateway gets selected - - allow broadcasts with enabled AP isolation - - fix vis output for multiple interface configurations - - fix race condition during adds in hashes - - fix dropped DHCP packets with enabled bridge loop avoidance and gateway - support - - don't leak information through uninitialized packets fields - - -- Sun, 19 Aug 2012 21:28:23 +0200 - -batman-adv 2012.2.0: - -* support latest kernels (2.6.29 - 3.5) -* cleanup of coding style (use of named constants instead of values, refactored - code to reduce readability, replace bitarrays with kernel functionality, ...) -* tweaking hop penalty to reduce route flapping -* enhanced the framework to support multiple routing algorithms -* reimplemented the bridge loop avoidance with support for multiple active - backbone gateways -* some bugs fixed (translation table flag handling, correct unicast rerouting, - endianness fixed for translation table crc, avoid of routing loops by being - strict on forwarded ogms, ...) - - -- Tue, 12 Jun 2012 18:21:54 +0200 - -batman-adv 2012.1.0: - -* support latest kernels (2.6.29 - 3.4) -* makefile rewrite (install target, cleanups, new selection system for features) -* cleanup of coding style (explicit marking of common headers, common unit for - time specific defines, ...) -* Added framework to switch between different routing algorithms -* some bugs fixes (distinguish between wrap-around ttvn and uninitialized ttvn - value, ...) - - -- Fri, 30 Mar 2012 19:31:12 +0300 - -batman-adv 2012.0.0: - -* support latest kernels (2.6.29 - 3.3) -* Fix bat_socket_read memory corruption (CVE-2011-4604) -* Cleanup of gateway handling code -* many bugs (hang when softif creation fails, memory leaks when hashes - table cannot be filled, wrong filter for missed ogms, many smaller - translation table problems, ...) fixed - - -- Sun, 05 Feb 2012 15:06:08 +0100 - -batman-adv 2011.4.0: - -* support latest kernels (2.6.29 - 3.2) -* starting of code refactoring to support multiple protocol versions -* added support for AP-isolation to prevent non-mesh WIFI clients to talk to - each other over the mesh -* some bugs (memory leaks in the translation table, wrong initialization of - ethernet addresses of translation table entries, ...) squashed - - -- Sun, 13 Nov 2011 20:40:05 +0100 - -batman-adv 2011.3.1: - -* don't send all packets to selected gateway as broadcast -* prevent translation table corruptions caused by uninitialized memory and - invalid sizes send through client announcement mechanism - - -- Tue, 18 Oct 2011 20:40:59 +0200 - -batman-adv 2011.3.0: - -* support latest kernels (2.6.29 - 3.1) -* remove compat code for < 2.6.29 -* cleanup of coding style -* improve client and roaming announcement mechanisms -* add framework to inform userspace of gateway changes using uevent -* improve gateway handling to filter out incoming DHCP renewal requests -* many bugs (acceptance of delayed rebroadcasts, unsigned char on powerpc used - to store -1, ...) squashed - - -- Sun, 21 Aug 2011 14:49:20 +0200 - -batman-adv 2011.2.0: - -* support latest kernels (2.6.21 - 3.0) -* cleanup of coding style -* rename of HNA to TT -* support for multi vlan in bridge loop detection -* many bug fixes (rcu protection of router/primary_if/softif_neigh, - race condition in TQ calculation, deadlock when creating new mesh - interfaces, ...) - - -- Sun, 19 Jun 2011 20:07:47 +0200 - -batman-adv 2011.1.0: - -* support latest kernels (2.6.21 - 2.6.39) -* cleanup of coding style -* removal of the big orig_hash lock and usage of fine grained locking -* many bug fixes (fragmented packets linearisation, fragments numbering, - verification of added interfaces, ...) - - -- Sun, 17 Apr 2011 17:41:53 +0200 - -batman-adv 2011.0.0: - -* support latest kernels (2.6.21 - 2.6.38) -* conversion of reference counting to kref -* allow merging and refragmentation of unicast packets during transfers -* add softif bridge loop detection -* make hop_penalty configurable through sysfs -* reimplement most of the batman-adv hash functionality -* support for optimized DHCP based gateway selection -* cleanup of the sysfs code - - -- Sat, 29 Jan 2011 20:08:05 +0100 - -batman-adv 2010.2.0: - -* support latest kernels (2.6.21 - 2.6.37) -* further cleanup of coding style -* new rcu and referenced based interface management -* support for multiple mesh clouds -* create packets directly in socket buffers -* add layer2 unicast packet fragmentation -* usage of optimised kernel functionality for ogm counting -* many bugs (false warnings, processing of big ogms, ...) squashed - - -- Sun, 21 Nov 2010 21:02:40 +0100 - -batman-adv 2010.1.0: - -* support latest kernels (2.6.21 - 2.6.36) -* further cleanup of coding style -* recording of routes for batman icmp messages -* move of complex sysfs files to debugfs -* change output of all sysfs files to single-value-only -* reintroduce virtual file for the debug log -* bonding and alternating added -* add ttl to broadcasts -* change all sequence numbers to 32 bit -* show last-seen in originator table -* many bugs (rounding issues, locking, netdev event handler, ...) squashed - - -- Sat, 04 Sep 2010 13:56:38 +0200 - -batman-adv 2010.0.0: - -* support latest kernels (2.6.21 - 2.6.35) -* further code refactoring and cleaning for coding style -* move from procfs based configuration to sysfs -* reorganized sequence number handling -* limit queue lengths for batman and broadcast packets -* many bugs (endless loop and rogue packets on shutdown, wrong tcpdump output, - missing frees in error situations, sleeps in atomic contexts) squashed - - -- Fri, 18 Jun 2010 21:34:26 +0200 - -batman-adv 0.2.1: - -* support latest kernels (2.6.20 - 2.6.33) -* receive packets directly using skbs, remove old sockets and threads -* fix various regressions in the vis server -* don't disable interrupts while sending -* replace internal logging mechanism with standard kernel logging -* move vis formats into userland, one general format remains in the kernel -* allow MAC address to be set, correctly initialize them -* code refactoring and cleaning for coding style -* many bugs (null pointers, locking, hash iterators) squashed - - -- Sun, 21 Mar 2010 20:46:47 +0100 - -batman-adv 0.2: - -* support latest kernels (2.6.20 - 2.6.31) -* temporary routing loops / TTL code bug / ghost entries in originator table fixed -* internal packet queue for packet aggregation & transmission retry (ARQ) - for payload broadcasts added -* interface detection converted to event based handling to avoid timers -* major linux coding style adjustments applied -* all kernel version compatibility functions has been moved to compat.h -* use random ethernet address generator from the kernel -* /sys/module/batman_adv/version to export kernel module version -* vis: secondary interface export for dot draw format + JSON output format added -* many bugs (alignment issues, race conditions, deadlocks, etc) squashed - - -- Sat, 07 Nov 2009 15:44:31 +0100 - -batman-adv 0.1: - -* support latest kernels (2.6.20 - 2.6.28) -* LOTS of cleanup: locking, stack usage, memory leaks -* Change Ethertype from 0x0842 to 0x4305 - unregistered at IEEE, if you want to sponsor an official Ethertype ($2500) - please contact us - - -- Sun, 28 Dec 2008 00:44:31 +0100 - -batman-adv 0.1-beta: - -* layer 2 meshing based on BATMAN TQ algorithm in kernelland -* operates on any ethernet like interface -* supports IPv4, IPv6, DHCP, etc -* is controlled via /proc/net/batman-adv/ -* bridging via brctl is supported -* interface watchdog (interfaces can be (de)activated dynamically) -* offers integrated vis server which meshes/syncs with other vis servers in range - - -- Mon, 05 May 2008 14:10:04 +0200 diff --git a/CHANGELOG.rst b/CHANGELOG.rst new file mode 100644 index 00000000..16eb6e6d --- /dev/null +++ b/CHANGELOG.rst @@ -0,0 +1,666 @@ +.. SPDX-License-Identifier: GPL-2.0 + +2017.3 (2017-09-28) +=================== + +* support latest kernels (3.2 - 4.14) +* coding style cleanups and refactoring +* bugs squashed: + + - fix TT sync flag inconsistencies + - ignore invalid throughput values from wifi interfaces + + +2017.2 (2017-07-28) +=================== + +* support latest kernels (3.2 - 4.13) +* avoid bridge loop detection mac addresses in translation tables +* coding style cleanups and refactoring +* bugs squashed: + + - ignore invalid throughput values from wifi interfaces + + +2017.1 (2017-05-23) +=================== + +* support latest kernels (3.2 - 4.12) +* bridge loop avoidance improvements for various corner cases +* reduction of maximum fragment size +* coding style cleanups and refactoring +* bugs squashed: + + - fix rx packet/bytes stats on local DAT ARP reply + + +2017.0.1 (2017-03-07) +===================== + +* support latest kernels (3.2 - 4.11) +* bugs squashed: + + - avoid API incompatibilities with new EWMA implementation + - generate equally size fragments to reduce chance of padding or MTU problems + - fix initialization of gateway sel class when BATMAN_V is compiled in + + +2017.0 (2017-02-28) +=================== + +* support latest kernels (3.2 - 4.11) +* remove bridge loop avoidance addresses from translation table +* allow to build B.A.T.M.A.N. V without cfg80211 integration on Linux < 3.16 +* coding style cleanups and refactoring +* bugs squashed: + + - fix interface reference counter on fragmentation errors + - avoid double free on fragment merge error + - fix support for up to 16 fragments + - fix build of multicast compatibility code on some architectures + + +2016.5 (2016-12-15) +=================== + +* support latest kernels (3.2 - 4.10) +* change installation path back to $INSTALL_MOD_DIR/updates/net/batman-adv +* add simple (re)broadcast avoidance +* reduce multicast TT and TVLV update delays under B.A.T.M.A.N. V +* support B.A.T.M.A.N. V throughput detection when using VLANs on top of WiFi +* improve documentation of sysfs and debugfs files +* coding style cleanups and refactoring +* bugs squashed: + + - detect missing primaryif during tp_send as error + - fix re-adding of previously removed interfaces via rtnetlink + - fix rare race conditions on interface removal + - handle allocation error when generating TT responses + + +2016.4 (2016-10-27) +=================== + +* support latest kernels (3.2 - 4.9) +* add GW selection algorithm for B.A.T.M.A.N. V +* add support for querying most tables/lists via netlink +* adjusted device modifications for easier handling via rtnl (ip-link) +* disabled (bad) debugfs support in network namespaces +* add improved compat-patches support (note the new build directory) +* reduced translation table memory consumption +* coding style cleanups and refactoring +* bugs squashed: + + - avoid locking problems when modifying interfaces + - fix sysfs errors on fast device deletion/creation events + - add missing memory barriers for neighbor list modifications + - fix tpmeter debug log output + + +2016.3 (2016-09-01) +=================== + +* support latest kernels (3.2 - 4.8) +* multicast optimization support for bridged setups +* initial, limited support for batman-adv netlink family +* throughput meter implementation +* support for frame priority in fragment packets +* kernel doc updates and coding style cleanups +* bugs squashed: + + - fix (re-)initialization of ELP tweaking options + - fix elp packet data reservation + - fix nullptr dereference after using vlan_insert_tag + - fix various reference counting bugs in bonding, bla, tt and + originator code + - fix speedy join in gateway client mode + + +2016.2 (2016-06-09) +=================== + +* support latest kernels (3.2 - 4.7) +* initial, limited support for network namespaces +* kernel doc updates and coding style cleanups +* cleanup of legacy kernel compat code +* support for detection and reporting of complex bridge loops +* bugs squashed: + + - fix some TT issues: double free for full table request structs + (created problems on multi-core systems) and a double put of VLAN + objects + - fix various B.A.T.M.A.N. V issues: fix mac address after address + change, ELP orig address on secondary interfaces, null pointer + dereference in metric comparison, refcount issues, ... + - fix skb deref after transmission + - avoid duplicate neigh_node additions + - replace WARN with rate limited output on non-existing VLAN + - fix ICMP RR ethernet header access after skb_linearize + - fix memleak of untagged vlan when removing interface via rtnl-link + - fix build against Debian Stretch kernels + + +2016.1 (2016-04-21) +=================== + +* support latest kernels (3.2 - 4.6) +* drop support for older kernels 2.6.29 - 3.1 +* B.A.T.M.A.N. V routing algorithm support +* kernel doc updates and coding style cleanups +* conversion to the kref based reference counting framework +* bugs squashed: + + - fix endless loop in bat-on-bat netdevice check when using veth + - fix various reference counting issues + - init neigh node last seen field + - fix integer overflow in batadv_iv_ogm_calc_tq + - fix broadcast/ogm queue limit on a removed interface + - fix DAT candidate selection to use VID + - fix unexpected free of bcast_own on add_if error + - check skb size before using encapsulated ETH+VLAN header + + +2016.0 (2016-01-19) +=================== + +* support latest kernels (2.6.29 - 4.5) +* add list of unique single hop neighbors and export it via debugfs +* massive kernel doc updates and coding style cleanups +* redesign/fix RCU handling when cleaning up to avoid bad memory access +* increase bridge loop avoidance wait time to 60 seconds +* remove bridge loop avoidance state when it gets disabled +* support for interfaces which switch from non-ethernet to ethernet mode +* bugs squashed: + + - fix lockdep splat when doing mcast_free or batadv_tlv_container_remove + - fix invalid memory access when shrinking buffer for the OGM-return-rate + measurement on interface removal + + +2015.2 (2015-11-23) +=================== + +* support latest kernels (2.6.29 - 4.4) +* cleanup of coding style and kernel docs +* fix includes in various files +* add lower layer head/tail room to avoid problems when slave devices + encapsulate packets and have not enough space available +* fix hard_header_len which allows sending packets shorter than 64byte +* Remove obsolete deleted attribute for gateway node to simplify + code and avoid delayed free of structures referenced by the gateway +* Add lockdep asserts to find locking problems +* bugs squashed: + + - Fix gw_bandwidth calculation on 32 bit systems + - prevent potential hlist double deletion + - fix soft interface access on unload + - fix invalid stack access in DAT + - lock CRC access in bridge loop avoidance + - fix TT client duplicate detection with VLANs + - fix excess VLANs in TT requests + - avoid keeping false temporary TT entries + - fix TT speedy join for DAT cache replies + - fix TT memory leak on add with invalid VLAN + + +2015.1 (2015-08-04) +=================== + +* support latest kernels (2.6.29 - 4.2) +* cleanup of coding style +* cleanup of the compatibility layer +* convert to the Linux source directory structure +* adjust default configuration + + - disable network coding + - enable bridge loop avoidance + +* bugs squashed: + + - avoid DAT to mess up local LAN state + - fix race conditions in DAT/NC/TT/MCAST TVLV handlers + - fix build system POSIX compatibility + - fix gateway selection in fast connection (1) gw_mode + - fix initialization of detected gateway, which caused hangs on unloads + - fix race conditions in the translation table + - fix kernel crash due to missing NULL checks in vlan handlers + - fix potentially broken header access by multicast optimization + - fix broadcast packets cleanup for purged outgoing interface + + +2015.0 (2015-04-28) +=================== + +* support latest kernels (2.6.29 - 4.1) +* cleanup of coding style and add kerneldoc +* bugs squashed: + - fix incorrect lockdep warning in network coding + - fix condition when bonding should be used + - fix support of bridged batman-adv devices with kernel < 2.6.39 + + +2014.4.0 (2015-01-05) +===================== + +* support latest kernels (2.6.29 - 3.19) +* double default hop penalty +* bugs squashed: + + - fix wrong size calculations and out of order support in + fragmentation (fixes CVE-2014-9428) + - fix double fetch in RCU for old kernels (<3.9) + - fix NULL dereference and check in gateway code + - fix multicast counters + - fix network coding SKB control block initialization + - fix last_seen initialization for orig nodes + + +2014.3.0 (2014-07-21) +===================== + +* support latest kernels (2.6.29 - 3.16) +* drop QinQ claim frames in bridge loop avoidance +* fix a bogus warning from batadv_is_on_batman_iface() +* removed SET_ETHTOOL_OPS +* style improvements: + + - remove semi-colon after macro definition + - add blank line between declarations and the rest of the code + + +2014.2.0 (2014-05-15) +===================== + +* support latest kernels (2.6.29 - 3.15) +* add multicast optimization for certain type of multicast networks + to send data only to nodes actually registered using new TVLVs + and the translation table +* use ether_addr_copy instead of memcpy +* remove obsolete reset mac headers +* bugs squashed: + + - fix various (reference counting) bugs introduced by the multi + interface optimization + - fix a reference count problem when sending fragmented packets + - count references for originator nodes referenced by gateway + - fix local TT check for outgoing arp requests in DAT + - fix TT inconsistencies when VLANs are re-created very fast + - update TT entries for each VLAN when the MAC address of the + parent interface is changed + - improve documentation of DAT, TT and general kerneldoc + + +2014.1.0 (2014-03-13) +===================== + +* support latest kernels (2.6.29 - 3.14) +* add mesh wide multi interface optimization, which replaces the old + interface alternating and bonding features with a new network wide + implementation +* add mesh wide client isolation based on fwmark by using and + propagating the new isolation flag in TT +* send every DHCP packet as bat-unicast when gateway feature is used +* add new build checks for packet sizes to avoid architecture dependent + problems +* bugs squashed: + + - deselect current gateway when switching away from client mode + - fix batman-adv header MTU calculation + - fix potential paging error for unicast transmissions + - fix vlan refcounter imbalance on failure paths + - fix TT-TVLV parsing and a TVLV leak + - fix TT CRC computation by ensuring byte order + - fix function names, paranthesis, comments, warnings, chachacha ... + + +2014.0.0 (2014-01-04) +===================== + +* support latest kernels (2.6.29 - 3.13) +* This release contains major rework to allow better backward compatibility + in the future. Unfortunately these changes require a bump of the compat + version to 15, making this and future releases incompatible to the previous + releases. +* add TVLV container infrastructure for OGMs and TT packets +* remove vis functionality (replaced by userspace tool alfred) +* reorder packet types and flags in packet types +* move some packet members (gw flags, TT, ...) into TVLV containers +* rewrite the fragementation code for more fragments (up to 16), more + general usage (not only unicast packets) and reassembly on the way +* add VLAN awareness to TT, DAT and AP isolation +* use CRC32 instead of CRC16 for TT +* generalize many functions (neighbor comparison, etc) to prepare + code-sharing of BATMAN IV and BATMAN V +* set SKB priority according to content (for correct WMM classification) +* add a dummy soft-interface rx mode handler to allow static multicast + listeners +* bugs squashed: + + - various packet alignment and size fixes (especially on ARM) + - white space, typos, kernel doc, etc + - improve backward compatibility code + + +2013.4.0 (2013-10-13) +===================== + +* support latest kernels (2.6.29 - 3.12) +* bugs squashed: + + - fix potential kernel paging errors for unicast transmissions + - fix network coding initialization for multiple soft interfaces + - fix BLA VLAN handling regression + - improve backward compatibility code + + +2013.3.0 (2013-07-20) +===================== + +* support latest kernels (2.6.29 - 3.11) +* send each broadcast only once on non-wireless interfaces +* change VID handling to prepare enhanced VLAN features +* bugs squashed: + + - forward late OGMs from best next hop + - avoid double free of bat_counters + - fix rcu barrier miss + - use the proper header len when checking the TTVN + - make DAT drop ARP requests targeting local clients + +* style improvements, code moving and refactoring + + +2013.2.0 (2013-04-20) +===================== + +* support latest kernels (2.6.29 - 3.10) +* add network coding feature +* add rtnl interface configuration support +* fix rtnl and sysfs locking issue +* avoid duplicate interface enslaving +* bugs squashed: + + - verify tt len to not exceed packet len + - fix identification of own mac addresses + +* style improvements (change seq_printf to seq_puts) + + +2013.1.0 (2013-03-02) +===================== + +* support latest kernels (2.6.29 - 3.9) +* add lots of kerneldoc in types.h +* clean up (kerneldoc alignment, group tt definitions, renaming, ...) +* TT improvements: + + - add CRC to debugging tables + - ignore multicast addresses + - reduce local TT timeout from 1 hour to 10 minutes + +* Initialize lockdep class keys for hashes +* unbloat bat_priv if debug is not enabled +* bugs squashed + + - fix possible sysfs/rtnl deadlock when deregistering + - fix some DAT bugs (skb leak, invalid MAC addresses, NULL pointer dereference) + + +2013.0.0 (2013-01-12) +===================== + +* support latest kernels (2.6.29 - 3.8) +* cleanup of coding style and add kerneldoc +* add new distributed ARP table feature to cache ARP entries +* remove __packed attribute whenever possible to allow better compiler + optimizations +* use kernel-registered BATMAN Ethernet type +* block ECTP traffic to remove integration problems when using BLA +* allow roaming multiple times in TT +* bugs squashed + + - fix lockdeps for interfaces + - disallow batman-over-batman configurations + - various BLA fixes (wait at startup, hashing, duplist, ...) + - fix TT roaming cases + - fix TT packet rerouting + - fix TT flags handling + - fix speedy join/BLA interaction bug + - fix random jitter calculation + + +2012.4.0 (2012-10-29) +===================== + +* support latest kernels (2.6.29 - 3.7) +* cleanup of coding style +* integration of remaining packet counters in ethtool statistic +* speedy join of new non-mesh clients based on broadcast packets +* added bridge loop avoidance backbone gateway debugfs table +* workaround for kernel bug when running on top of vlan device +* bugs squashed + + - announcement of own MAC address after modification + - wrong counting of received OGMs on x86 + - route flapping in multiple interfaces setup + - receiving of translation table requests for foreign nodes + - invalid memory access after failure during the interface appending + - wrong calculation of packet crc which lead to dropping of broadcast + packets when bridge loop avoidance is enabled + + +2012.3.0 (2012-08-19) +===================== + +* support latest kernels (2.6.29 - 3.6) +* added namespace-like prefix for all batman-adv symbols +* integrated extended statistic support using ethtool +* important bugs fixed + + - correct endianness for translation table crc + - avoid race condition in translation table replacements + - ensure gateway gets selected + - allow broadcasts with enabled AP isolation + - fix vis output for multiple interface configurations + - fix race condition during adds in hashes + - fix dropped DHCP packets with enabled bridge loop avoidance and gateway + support + - don't leak information through uninitialized packets fields + + +2012.2.0 (2012-06-12) +===================== + +* support latest kernels (2.6.29 - 3.5) +* cleanup of coding style (use of named constants instead of values, refactored + code to reduce readability, replace bitarrays with kernel functionality, ...) +* tweaking hop penalty to reduce route flapping +* enhanced the framework to support multiple routing algorithms +* reimplemented the bridge loop avoidance with support for multiple active + backbone gateways +* some bugs fixed (translation table flag handling, correct unicast rerouting, + endianness fixed for translation table crc, avoid of routing loops by being + strict on forwarded ogms, ...) + + +2012.1.0 (2012-03-30) +===================== + +* support latest kernels (2.6.29 - 3.4) +* makefile rewrite (install target, cleanups, new selection system for features) +* cleanup of coding style (explicit marking of common headers, common unit for + time specific defines, ...) +* Added framework to switch between different routing algorithms +* some bugs fixes (distinguish between wrap-around ttvn and uninitialized ttvn + value, ...) + + +2012.0.0 (2012-02-05) +===================== + +* support latest kernels (2.6.29 - 3.3) +* Fix bat_socket_read memory corruption (CVE-2011-4604) +* Cleanup of gateway handling code +* many bugs (hang when softif creation fails, memory leaks when hashes + table cannot be filled, wrong filter for missed ogms, many smaller + translation table problems, ...) fixed + + +2011.4.0 (2011-11-13) +===================== + +* support latest kernels (2.6.29 - 3.2) +* starting of code refactoring to support multiple protocol versions +* added support for AP-isolation to prevent non-mesh WIFI clients to talk to + each other over the mesh +* some bugs (memory leaks in the translation table, wrong initialization of + ethernet addresses of translation table entries, ...) squashed + + +2011.3.1 (2011-10-18) +===================== + +* don't send all packets to selected gateway as broadcast +* prevent translation table corruptions caused by uninitialized memory and + invalid sizes send through client announcement mechanism + + +2011.3.0 (2011-08-21) +===================== + +* support latest kernels (2.6.29 - 3.1) +* remove compat code for < 2.6.29 +* cleanup of coding style +* improve client and roaming announcement mechanisms +* add framework to inform userspace of gateway changes using uevent +* improve gateway handling to filter out incoming DHCP renewal requests +* many bugs (acceptance of delayed rebroadcasts, unsigned char on powerpc used + to store -1, ...) squashed + + +2011.2.0 (2011-06-19) +===================== + +* support latest kernels (2.6.21 - 3.0) +* cleanup of coding style +* rename of HNA to TT +* support for multi vlan in bridge loop detection +* many bug fixes (rcu protection of router/primary_if/softif_neigh, + race condition in TQ calculation, deadlock when creating new mesh + interfaces, ...) + + +2011.1.0 (2011-04-17) +===================== + +* support latest kernels (2.6.21 - 2.6.39) +* cleanup of coding style +* removal of the big orig_hash lock and usage of fine grained locking +* many bug fixes (fragmented packets linearisation, fragments numbering, + verification of added interfaces, ...) + + +2011.0.0 (2011-01-29) +===================== + +* support latest kernels (2.6.21 - 2.6.38) +* conversion of reference counting to kref +* allow merging and refragmentation of unicast packets during transfers +* add softif bridge loop detection +* make hop_penalty configurable through sysfs +* reimplement most of the batman-adv hash functionality +* support for optimized DHCP based gateway selection +* cleanup of the sysfs code + + +2010.2.0 (2010-11-21) +===================== + +* support latest kernels (2.6.21 - 2.6.37) +* further cleanup of coding style +* new rcu and referenced based interface management +* support for multiple mesh clouds +* create packets directly in socket buffers +* add layer2 unicast packet fragmentation +* usage of optimised kernel functionality for ogm counting +* many bugs (false warnings, processing of big ogms, ...) squashed + + +2010.1.0 (2010-09-04) +===================== + +* support latest kernels (2.6.21 - 2.6.36) +* further cleanup of coding style +* recording of routes for batman icmp messages +* move of complex sysfs files to debugfs +* change output of all sysfs files to single-value-only +* reintroduce virtual file for the debug log +* bonding and alternating added +* add ttl to broadcasts +* change all sequence numbers to 32 bit +* show last-seen in originator table +* many bugs (rounding issues, locking, netdev event handler, ...) squashed + + +2010.0.0 (2010-06-18) +===================== + +* support latest kernels (2.6.21 - 2.6.35) +* further code refactoring and cleaning for coding style +* move from procfs based configuration to sysfs +* reorganized sequence number handling +* limit queue lengths for batman and broadcast packets +* many bugs (endless loop and rogue packets on shutdown, wrong tcpdump output, + missing frees in error situations, sleeps in atomic contexts) squashed + + +0.2.1 (2010-03-21) +================== + +* support latest kernels (2.6.20 - 2.6.33) +* receive packets directly using skbs, remove old sockets and threads +* fix various regressions in the vis server +* don't disable interrupts while sending +* replace internal logging mechanism with standard kernel logging +* move vis formats into userland, one general format remains in the kernel +* allow MAC address to be set, correctly initialize them +* code refactoring and cleaning for coding style +* many bugs (null pointers, locking, hash iterators) squashed + + +0.2 (2009-11-07) +================ + +* support latest kernels (2.6.20 - 2.6.31) +* temporary routing loops / TTL code bug / ghost entries in originator table fixed +* internal packet queue for packet aggregation & transmission retry (ARQ) + for payload broadcasts added +* interface detection converted to event based handling to avoid timers +* major linux coding style adjustments applied +* all kernel version compatibility functions has been moved to compat.h +* use random ethernet address generator from the kernel +* /sys/module/batman_adv/version to export kernel module version +* vis: secondary interface export for dot draw format + JSON output format added +* many bugs (alignment issues, race conditions, deadlocks, etc) squashed + + +0.1 (2008-12-28) +================ + +* support latest kernels (2.6.20 - 2.6.28) +* LOTS of cleanup: locking, stack usage, memory leaks +* Change Ethertype from 0x0842 to 0x4305 + unregistered at IEEE, if you want to sponsor an official Ethertype ($2500) + please contact us + + +0.1-beta (2008-05-05) +===================== + +* layer 2 meshing based on BATMAN TQ algorithm in kernelland +* operates on any ethernet like interface +* supports IPv4, IPv6, DHCP, etc +* is controlled via /proc/net/batman-adv/ +* bridging via brctl is supported +* interface watchdog (interfaces can be (de)activated dynamically) +* offers integrated vis server which meshes/syncs with other vis servers in range