summaryrefslogtreecommitdiffstats
path: root/net/batman-adv/main.h
Commit message (Collapse)AuthorAgeFilesLines
* batman-adv: Start new development cycleSimon Wunderlich2021-08-081-1/+1
| | | | | | | | | | | This version will contain all the (major or even only minor) changes for Linux 5.15. The version number isn't a semantic version number with major and minor information. It is just encoding the year of the expected publishing as Linux -rc1 and the number of published versions this year (starting at 0). Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: bcast: queue per interface, if neededLinus Lüssing2021-05-171-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently we schedule a broadcast packet like: 3x: [ [(re-)queue] --> for(hard-if): maybe-transmit ] The intention of queueing a broadcast packet multiple times is to increase robustness for wireless interfaces. However on interfaces which we only broadcast on once the queueing induces an unnecessary penalty. This patch restructures the queueing to be performed on a per interface basis: for(hard-if): - transmit - if wireless: [queue] --> transmit --> [requeue] --> transmit Next to the performance benefits on non-wireless interfaces this should also make it easier to apply alternative strategies for transmissions on wireless interfaces in the future (for instance sending via unicast transmissions on wireless interfaces, without queueing in batman-adv, if appropriate). Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue> Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2021-05-171-1/+1
| | | | | | | | | | | This version will contain all the (major or even only minor) changes for Linux 5.14. The version number isn't a semantic version number with major and minor information. It is just encoding the year of the expected publishing as Linux -rc1 and the number of published versions this year (starting at 0). Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Drop publication years from copyright infoSven Eckelmann2021-02-061-1/+1
| | | | | | | | | | | | | | | | | | | The batman-adv source code was using the year of publication (to net-next) as "last" year for the copyright statement. The whole source code mentioned in the MAINTAINERS "BATMAN ADVANCED" section was handled as a single entity regarding the publishing year. This avoided having outdated (in sense of year information - not copyright holder) publishing information inside several files. But since the simple "update copyright year" commit (without other changes) in the file was not well received in the upstream kernel, the option to not have a copyright year (for initial and last publication) in the files are chosen instead. More detailed information about the years can still be retrieved from the SCM system. Signed-off-by: Sven Eckelmann <sven@narfation.org> Acked-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2021-02-051-1/+1
| | | | | | | | | | | This version will contain all the (major or even only minor) changes for Linux 5.12. The version number isn't a semantic version number with major and minor information. It is just encoding the year of the expected publishing as Linux -rc1 and the number of published versions this year (starting at 0). Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Drop deprecated debugfs supportSven Eckelmann2020-12-041-3/+0
| | | | | | | | | The debugfs support in batman-adv was marked as deprecated by the commit 00caf6a2b318 ("batman-adv: Mark debugfs functionality as deprecated") and scheduled for removal in 2021. Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2020-12-041-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2020-08-181-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Fix typos and grammar in documentationSven Eckelmann2020-06-261-3/+3
| | | | | Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2020-06-261-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2020-04-211-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2020-02-161-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Update copyright years for 2020Sven Eckelmann2020-01-011-1/+1
| | | | | Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2019-11-251-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2019-11-031-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2019-07-221-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Use includes instead of fwdeclsSven Eckelmann2019-05-251-5/+4
| | | | | | | | | | | | While it can be slightly beneficial for the build performance to use forward declarations instead of includes, the handling of them together with changes in the included headers makes it unnecessary complicated and fragile. Just replace them with actual includes since some parts (hwmon, ..) of the kernel even request avoidance of forward declarations and net/ is mostly not using them in *.c file. Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Add missing include for atomic functionsSven Eckelmann2019-05-251-0/+1
| | | | | | | | main.h is using atomic_add_unless and log.h atomic_read. The main header linux/atomic.h should be included for these files. Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2019-05-211-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* Merge tag 'batadv-net-for-davem-20190509' of git://git.open-mesh.org/linux-mergeDavid S. Miller2019-05-091-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simon Wunderlich says: ==================== This feature/cleanup patchset includes the following patches: - bump version strings, by Simon Wunderlich (we forgot to include this patch previously ...) - fix multicast tt/tvlv worker locking, by Linus Lüssing ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * batman-adv: Start new development cycleSimon Wunderlich2019-05-061-1/+1
| | | | | | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* | batman-adv: Make sysfs support optionalSven Eckelmann2019-03-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | The sysfs files will be marked as deprecated in the near future. They are already replaced by the batadv generic netlink family. Add an Kconfig option to disable the sysfs support for users who want to test their tools or want to safe some space. This setting should currently still be enabled by default to keep backward compatible with legacy tools. Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* | batman-adv: Drop license boilerplateSven Eckelmann2019-03-251-12/+0
|/ | | | | | | | | | All files got a SPDX-License-Identifier with commit 7db7d9f369a4 ("batman-adv: Add SPDX license identifier above copyright header"). All the required information about the license conditions can be found in LICENSES/. Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Update copyright years for 2019Sven Eckelmann2019-01-041-1/+1
| | | | | Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2018-12-301-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Add inconsistent hardif netlink dump detectionSven Eckelmann2018-11-121-0/+1
| | | | | | | | | | | | | | | | | | | | The netlink dump functionality transfers a large number of entries from the kernel to userspace. It is rather likely that the transfer has to interrupted and later continued. During that time, it can happen that either new entries are added or removed. The userspace could than either receive some entries multiple times or miss entries. Commit 670dc2833d14 ("netlink: advertise incomplete dumps") introduced a mechanism to inform userspace about this problem. Userspace can then decide whether it is necessary or not to retry dumping the information again. The netlink dump functions have to be switched to exclusive locks to avoid changes while the current message is prepared. And an external generation sequence counter is introduced which tracks all modifications of the list. Reported-by: Matthias Schiffer <mschiffer@universe-factory.net> Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2018-11-121-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2018-09-141-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2018-04-221-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Fix indentation of batadv_seq_beforeSven Eckelmann2018-02-271-5/+7
| | | | | | | | | Also multiline macros should have their statements start on a tabstop. This was detected by checkpatch.pl after commit a134f8de9f40 ("checkpatch: improve the TABSTOP test to include declarations"). Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Update copyright years for 2018Sven Eckelmann2018-02-261-1/+1
| | | | | Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2018-02-261-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Convert packet.h to uapi headerSven Eckelmann2017-12-211-1/+1
| | | | | | | | | | | | | The header file is used by different userspace programs to inject packets or to decode sniffed packets. It should therefore be available to them as userspace header. Also other components in the kernel (like the flow dissector) require access to the packet definitions to be able to decode ETH_P_BATMAN ethernet packets. Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* batman-adv: Let packet.h include its headers directlySven Eckelmann2017-12-211-2/+0
| | | | | | | | | The headers used by packet.h should also be included by it directly. main.h is currently dealing with it in batman-adv, but this will no longer work when this header is moved to include/uapi/linux/. Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* batman-adv: Add kernel-doc to functions in headersSven Eckelmann2017-12-151-13/+69
| | | | | | | | | Externally visible functions should be documented with kernel-doc. This usually refers to non-static functions but also static inline files in headers are visible in other files and should therefore be documented. Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Add kernel-doc to enums in headersSven Eckelmann2017-12-151-0/+32
| | | | | | | | All enums in types.h are already documented. But some other headers still have private enums which also should be documented. Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Use parentheses in function kernel-docSven Eckelmann2017-12-151-3/+3
| | | | | | | | | | | The documentation describing kernel-doc comments for functions ("How to format kernel-doc comments") uses parentheses at the end of the function name. Using this format allows to use a consistent style when adding documentation to a function and when referencing this function in a different kernel-doc section. Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Add SPDX license identifier above copyright headerSven Eckelmann2017-12-151-0/+1
| | | | | | | | | | | | | | | The "Linux kernel licensing rules" require that each file has a SPDX license identifier as first line (and sometimes as second line). The FSFE REUSE practices [1] would also require the same tags but have no restrictions on the placement in the source file. Using the "Linux kernel licensing rules" is therefore also fulfilling the FSFE REUSE practices requirements at the same time. [1] https://reuse.software/practices/ Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2017-12-041-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2017-09-281-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2017-07-291-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: decrease maximum fragment sizeMatthias Schiffer2017-05-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this patch the maximum fragment size is reduced from 1400 to 1280 bytes. Fragmentation v2 correctly uses the smaller of 1400 and the interface MTU, thus generally supporting interfaces with an MTU < 1400 bytes, too. However, currently "Fragmentation v2" does not support re-fragmentation. Which means that once a packet is split into two packets of 1400 + x bytes for instance and the next hop provides an interface with an even smaller MTU of 1280 bytes, then the larger fragment is lost. A maximum fragment size of 1280 bytes is a safer option as this is the minimum MTU required by IPv6, making interfaces with an MTU < 1280 rather exotic. Regarding performance, this should have no negative impact on unicast traffic: Having some more bytes in the smaller and some less in the larger does not change the sum of both fragments. Concerning TT, choosing 1280 bytes fragments might result in more TT messages than necessary when a large network is bridged into batman-adv. However, the TT overhead in general is marginal due to its reactive nature, therefore such a performance impact on TT should not be noticeable for a user. Cc: Matthias Schiffer <mschiffer@universe-factory.net> [linus.luessing@c0d3.blue: Added commit message] Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue> Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2017-05-231-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Convert BATADV_PRINT_VID macro to functionSven Eckelmann2017-03-161-2/+14
| | | | | | | | The BATADV_PRINT_VID is not free of of possible side-effects. This can be avoided when the the macro is converted to a simple inline function. Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2017-03-161-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: update copyright years for 2017Sven Eckelmann2017-01-261-1/+1
| | | | | Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Start new development cycleSimon Wunderlich2017-01-011-1/+1
| | | | Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Use own timer for multicast TT and TVLV updatesLinus Lüssing2016-10-301-0/+1
| | | | | | | | | | | | | | | | | | | Instead of latching onto the OGM period, this patch introduces a worker dedicated to multicast TT and TVLV updates. The reasoning is, that upon roaming especially the translation table should be updated timely to minimize connectivity issues. With BATMAN V, the idea is to greatly increase the OGM interval to reduce overhead. Unfortunately, right now this could lead to a bad user experience if multicast traffic is involved. Therefore this patch introduces a fixed 500ms update interval for multicast TT entries and the multicast TVLV. Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue> Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Avoid precedence issues in macrosSven Eckelmann2016-10-191-2/+2
| | | | | | | | | It must be avoided that arguments to a macro are evaluated ungrouped (which enforces normal operator precendence). Otherwise the result of the macro is not well defined. Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
* batman-adv: Move batadv_sum_counter to soft-interface.cSven Eckelmann2016-10-171-21/+0
| | | | | | | | The function batadv_sum_counter is only used in soft-interface.c and has no special relevance for main.h. Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>