With the release of systemd v248, systemd-networkd now supports creation and management of B.A.T.M.A.N. Advanced interfaces.
The minimum required version of batman-adv to work with systemd-networkd is 2021.0.
An example .netdev
file looks like the following:
[NetDev]
Name=bat0
Kind=batadv
[BatmanAdvanced]
GatewayMode=server
RoutingAlgorithm=batman-v
OriginatorIntervalSec=5
Thanks¶
For all the reviews and advices
The initial idea
Sending in the patch
Jan 28th, 2021. Today the B.A.T.M.A.N. team publishes the January 2021 update to batman-adv, batctl and alfred! The deprecated support for batman-adv's sysfs and debugfs files was removed from all components. batctl and batman-adv now also allow the selection of the routing algorithm during the interface creation. This can be used to avoid the undefined behavior when multiple processes trying to create interfaces with different routing algorithms. Also several bugfixes and code cleanups are included in this version.
As the kernel module always depends on the Linux kernel it is 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:
https://downloads.open-mesh.org/batman/releases/batman-adv-2021.0/
Thanks¶
Thanks to all people sending in patches:
and to all those that supported us with good advice or rigorous testing:
batman-adv¶
- support latest kernels (4.4 - 5.11)
- coding style cleanups and refactoring
- drop support for sysfs+debugfs
- allow to select routing algorithm during creation of interface
- bugs squashed:
- allocate enough reserved room on fragments for lower devices
batctl¶
- Drop support for batman-adv's sysfs+debugfs
- allow to select routing algorithm during creation of interface
- bugs squashed:
- fix query of meshif's ap_isolation status
- ignore "interface already exists" error during "interface add"
alfred¶
- Drop support for batman-adv's sysfs+debugfs
Happy routing,
The B.A.T.M.A.N. team
Oct 27th, 2020. Today the B.A.T.M.A.N. team publishes the October 2020 update to batman-adv and batctl! The bridge loop avoidance and translation table code received several fixes for bugs in connection with the multicast optimization. Which would otherwise potentially cause packet loss or even routing loops. Also several code cleanups are included in this version.
As the kernel module always depends on the Linux kernel it is 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:
https://downloads.open-mesh.org/batman/releases/batman-adv-2020.4/
Thanks¶
Thanks to all people sending in patches:
batman-adv¶
- support latest kernels (4.4 - 5.10)
- coding style cleanups and refactoring
- bugs squashed:
- fix incorrect reroute handling of multicast packets
- improve handling of multicast packets by bridge loop avoidance
batctl¶
- bugs squashed:
- Fix endianness in ICMPv6 Echo Request/Reply parsing
Happy routing,
The B.A.T.M.A.N. team
Aug 24th, 2020. Today the B.A.T.M.A.N. team publishes the August 2020 update to batman-adv, batctl and alfred! An additional hop penalty can now be configured on a per interface basis. Also several bugfixes and code cleanups are included in this version.
As the kernel module always depends on the Linux kernel it is 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:
https://downloads.open-mesh.org/batman/releases/batman-adv-2020.3/
Thanks¶
Thanks to all people sending in patches:
and to all those that supported us with good advice or rigorous testing:
batman-adv¶
- support latest kernels (4.4 - 5.9)
- coding style cleanups and refactoring
- introduce a configurable per interface hop penalty
- bugs squashed:
- avoid uninitialized chaddr when handling DHCP
- fix own OGMv2 check in aggregation receive handling
- fix "NOHZ: local_softirq_pending 08" warnings caused by BLA
batctl¶
- add per interface hop penalty command
alfred¶
- synchronization of batman-adv netlink header
Happy routing,
The B.A.T.M.A.N. team
Jul 6th, 2020. Today the B.A.T.M.A.N. team publishes the July 2020 update to batman-adv, batctl and alfred! This release drops the support for the end-of-life Linux kernel versions (<4.3). The B.A.T.M.A.N. V throughput detection for ethernet devices without auto-negotiation was enabled again to support more configurations out of the box. Most users will still require a manual setting via the throughput_override for such devices. The automatic removal of (empty) batadv mesh interfaces during a batctl meshif bat0 interface del ....
was dropped. An explicit batctl meshif bat0 interface destroy
is now required to remove the batadv interface. Also several bugfixes and code cleanups are included in this version.
As the kernel module always depends on the Linux kernel it is 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:
https://downloads.open-mesh.org/batman/releases/batman-adv-2020.2/
Thanks¶
Thanks to all people sending in patches:
and to all those that supported us with good advice or rigorous testing:
batman-adv¶
- support latest kernels (4.4 - 5.8)
- coding style cleanups and refactoring
- dropped support for kernels < 4.4
- re-enabled link speed detection for interfaces without auto negotiation
batctl¶
- coding style cleanups and refactoring
- drop support for automatic destruction of empty meshifs
- bugs squashed:
- Fix parsing of radiotap headers on big endian systems
alfred¶
- Rephrase names of server roles
Happy routing,
The B.A.T.M.A.N. team
Apr 24th, 2020. Today the B.A.T.M.A.N. team publishes the April 2020 update to batman-adv, batctl and alfred! This release only contains bugfixes and code cleanups.
As the kernel module always depends on the Linux kernel it is 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:
https://downloads.open-mesh.org/batman/releases/batman-adv-2020.1/
Thanks¶
Thanks to all people sending in patches:
and to all those that supported us with good advice or rigorous testing:
batman-adv¶
- support latest kernels (3.16 - 5.7)
- coding style cleanups and refactoring
- bugs squashed:
- fix reference leaks in throughput_override sysfs file
- fix reference leak in B.A.T.M.A.N. V OGM error handling
- fix network coding random weighting
batctl¶
- bugs squashed:
- Fix error code on throughputmeter errors
Happy routing,
The B.A.T.M.A.N. team
Mar 04th, 2020. Today the B.A.T.M.A.N. team publishes the March 2020 update to batman-adv, batctl and alfred! This release disables the (deprecated) sysfs support by default. The next milestone in this process is the removal of debugfs and sysfs support next year. The B.A.T.M.A.N. V code can now use the PHY transmission rates as another (fallback) source to calculate the expected throughput to specific neighbors. The alfred gps daemon gained support for the gpsd API 9 (libgps >= 3.20). Also several bugfixes and code cleanups are included in this version.
As the kernel module always depends on the Linux kernel it is 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:
https://downloads.open-mesh.org/batman/releases/batman-adv-2020.0/
Thanks¶
Thanks to all people sending in patches:
and to all those that supported us with good advice or rigorous testing:
batman-adv¶
- support latest kernels (3.16 - 5.6)
- coding style cleanups and refactoring
- use wifi tx rates as fallback for the B.A.T.M.A.N. V throughput estimation
- disable deprecated sysfs support by default
- bugs squashed:
- fix crash during the scheduling of OGMs for removed interfaces
alfred¶
- fix build against gpsd API 9.0
Happy routing,
The B.A.T.M.A.N. team
Dec 12th, 2019. Today the B.A.T.M.A.N. team publishes the December 2019 update to batman-adv, batctl and alfred! This release only contains bugfixes and code cleanups.
As the kernel module always depends on the Linux kernel it is 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:
https://downloads.open-mesh.org/batman/releases/batman-adv-2019.5/
Thanks¶
Thanks to all people sending in patches:
and to all those that supported us with good advice or rigorous testing:
batman-adv¶
- support latest kernels (3.16 - 5.5)
- coding style cleanups and refactoring
- bugs squashed:
- fix DAT candidate selection on little endian systems
Happy routing,
The B.A.T.M.A.N. team
Oct 25th, 2019. Today the B.A.T.M.A.N. team publishes the October 2019 update to batman-adv, batctl and alfred! The B.A.T.M.A.N. V implementation can now aggregate OGM2 messages into single messages before sending them out. As usual, this release also contains various bugfixes and code cleanups.
As the kernel module always depends on the Linux kernel it is 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:
https://downloads.open-mesh.org/batman/releases/batman-adv-2019.4/
Thanks¶
Thanks to all people sending in patches:
batman-adv¶
- support latest kernels (3.16 - 5.4)
- coding style cleanups and refactoring
- implement aggregation of OGM2 packets
- bugs squashed:
- fix length validation in netlink messages
- fix out of buffer read when parsing aggregated packets
- avoid race condition in OGM packet modification and submission
batctl¶
- fix deprecation warning for option '-m'
alfred¶
Happy routing,
The B.A.T.M.A.N. team
Aug 1th, 2019. Today the B.A.T.M.A.N. team publishes the August 2019 update to batman-adv, batctl and alfred! The multicast optimization got support for group-aware optimizations for multicast addresses of scope greater than link-local. batctl was adjusted to handle such information and packets in various subcommands. Also support for hardif (aka. slave/lower interface) specific settings was implemented. This required a change in how meshif and vlans are specified for subcommands. Instead of using "-m" for both meshif and vlans (and now hardifs), they were splitted into special subcommand prefixes:
meshif <netdev>
vlan <vdev>
meshif <netdev> vid <vid>
hardif <netdev>
To start a ping on bat2, following command should be used:
$ batctl meshif bat2 ping 02:ba:de:af:fe:01
As usual, this release also contains various bugfixes and code cleanups.
As the kernel module always depends on the Linux kernel it is 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:
https://downloads.open-mesh.org/batman/releases/batman-adv-2019.3/
Thanks¶
Thanks to all people sending in patches:
and to all those that supported us with good advice or rigorous testing:
batman-adv¶
- support latest kernels (3.16 - 5.3)
- coding style cleanups and refactoring
- add routable multicast optimizations
- bugs squashed:
- fix duplicated OGMs on NETDEV_UP
- fix dumping of multicast flags
batctl¶
- add tcpdump support for MCAST TVLV, unicast fragments and coded packets
- implement support for multicast RTR flags
- avoid some kernel deprecation warning by using more generic netlink over sysfs
- use type specific prefixes to select mesh interface or vlan instead of '-m'
- add support for hardif specific settings
alfred¶
- avoid some kernel deprecation warning by using more generic netlink over sysfs
Happy routing,
The B.A.T.M.A.N. team