mirror of
https://github.com/openwrt/routing.git
synced 2026-06-17 14:50:15 +04:00
ffa7f2c6ea
The mcast_flags subcommand allows to query the mcast_flags of the current
device and of the seen originators. It should be enabled for the default
and full variants. But the configuration string wasn't correctly included
in the list when the variants were prepared and thus disabled in all
variants.
Reported-by: Linus Lüssing <linus.luessing@c0d3.blue>
Fixes: 1299868252 ("batctl: Provide different variants")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
232 lines
5.2 KiB
Makefile
232 lines
5.2 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=batctl
|
|
PKG_VERSION:=2020.2
|
|
PKG_RELEASE:=2
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
|
|
PKG_HASH:=d29cdb53ee68abd5027eae07d9fd645b3f154e0d577efa2666c1334bb6d60efd
|
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
|
|
|
PKG_MAINTAINER:=Simon Wunderlich <sw@simonwunderlich.de>
|
|
PKG_LICENSE:=GPL-2.0-only ISC MIT
|
|
PKG_LICENSE_FILES:=LICENSES/preferred/GPL-2.0 LICENSES/preferred/MIT LICENSES/deprecated/ISC
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define Package/batctl/Default
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
URL:=https://www.open-mesh.org/
|
|
DEPENDS:=+libnl-tiny +libc +librt
|
|
PROVIDES:=batctl
|
|
endef
|
|
|
|
define Package/batctl/description
|
|
batctl is a more intuitive managment utility for B.A.T.M.A.N.-Advanced.
|
|
It is an easier method for configuring batman-adv and provides some
|
|
additional tools for debugging as well. This package builds
|
|
version $(PKG_VERSION) of the user space utility.
|
|
endef
|
|
|
|
define Package/batctl-tiny
|
|
$(call Package/batctl/Default)
|
|
TITLE:=B.A.T.M.A.N. Advanced user space configuration tool (Minimal)
|
|
VARIANT:=tiny
|
|
ALTERNATIVES:=100:/usr/sbin/batctl:/usr/libexec/batctl-tiny
|
|
endef
|
|
|
|
define Package/batctl-tiny/description
|
|
$(Package/batctl/description)
|
|
Only configuration relevant subcommands are enabled.
|
|
endef
|
|
|
|
define Package/batctl-default
|
|
$(call Package/batctl/Default)
|
|
TITLE:=B.A.T.M.A.N. Advanced user space configuration tool (Default)
|
|
VARIANT:=default
|
|
ALTERNATIVES:=200:/usr/sbin/batctl:/usr/libexec/batctl-default
|
|
endef
|
|
|
|
define Package/batctl-default/description
|
|
$(Package/batctl/description)
|
|
Standard subcommands for configuration and online debugging are enabled.
|
|
endef
|
|
|
|
define Package/batctl-full
|
|
$(call Package/batctl/Default)
|
|
TITLE:=B.A.T.M.A.N. Advanced user space configuration tool (Full)
|
|
VARIANT:=full
|
|
ALTERNATIVES:=300:/usr/sbin/batctl:/usr/libexec/batctl-full
|
|
endef
|
|
|
|
define Package/batctl-full/description
|
|
$(Package/batctl/description)
|
|
Subcommands for configuration, online and offline debugging are enabled.
|
|
endef
|
|
|
|
# The linker can identify unused sections of a binary when each symbol is stored
|
|
# in a separate section. This mostly removes unused linker sections and reduces
|
|
# the size by ~3% on mipsel.
|
|
|
|
TARGET_CFLAGS += -ffunction-sections -fdata-sections
|
|
TARGET_LDFLAGS += -Wl,--gc-sections
|
|
|
|
# Link-time optimization allows to move parts of the optimization from the single
|
|
# source file to the global source view. This is done by emitting the GIMPLE
|
|
# representation in each object file and analyzing it again during the link step.
|
|
|
|
TARGET_CFLAGS += -flto
|
|
TARGET_LDFLAGS += -fuse-linker-plugin
|
|
|
|
MAKE_VARS += \
|
|
LIBNL_NAME="libnl-tiny" \
|
|
LIBNL_GENL_NAME="libnl-tiny"
|
|
|
|
MAKE_FLAGS += \
|
|
REVISION="$(PKG_VERSION)-openwrt-$(PKG_RELEASE)"
|
|
|
|
config-n := \
|
|
aggregation \
|
|
ap_isolation \
|
|
backbonetable \
|
|
bisect_iv \
|
|
bonding \
|
|
bridge_loop_avoidance \
|
|
claimtable \
|
|
dat_cache \
|
|
distributed_arp_table \
|
|
elp_interval \
|
|
event \
|
|
fragmentation \
|
|
gateways \
|
|
gw_mode \
|
|
hop_penalty \
|
|
interface \
|
|
isolation_mark \
|
|
loglevel \
|
|
mcast_flags \
|
|
multicast_fanout \
|
|
multicast_forceflood \
|
|
multicast_mode \
|
|
nc_nodes \
|
|
neighbors \
|
|
network_coding \
|
|
orig_interval \
|
|
originators \
|
|
ping \
|
|
routing_algo \
|
|
statistics \
|
|
tcpdump \
|
|
throughput_override \
|
|
throughputmeter \
|
|
traceroute \
|
|
transglobal \
|
|
translate \
|
|
translocal \
|
|
|
|
config-settings := \
|
|
aggregation \
|
|
ap_isolation \
|
|
bonding \
|
|
bridge_loop_avoidance \
|
|
distributed_arp_table \
|
|
elp_interval \
|
|
fragmentation \
|
|
gw_mode \
|
|
hop_penalty \
|
|
interface \
|
|
isolation_mark \
|
|
loglevel \
|
|
multicast_fanout \
|
|
multicast_forceflood \
|
|
multicast_mode \
|
|
network_coding \
|
|
orig_interval \
|
|
routing_algo \
|
|
throughput_override \
|
|
|
|
config-tables := \
|
|
backbonetable \
|
|
claimtable \
|
|
dat_cache \
|
|
gateways \
|
|
mcast_flags \
|
|
nc_nodes \
|
|
neighbors \
|
|
originators \
|
|
statistics \
|
|
transglobal \
|
|
translocal \
|
|
|
|
config-tools := \
|
|
event \
|
|
ping \
|
|
tcpdump \
|
|
throughputmeter \
|
|
traceroute \
|
|
translate \
|
|
|
|
config-extratools := \
|
|
bisect_iv \
|
|
|
|
ifeq ($(BUILD_VARIANT),tiny)
|
|
|
|
config-y := \
|
|
$(config-settings) \
|
|
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),default)
|
|
|
|
config-y := \
|
|
$(config-settings) \
|
|
$(config-tables) \
|
|
$(config-tools) \
|
|
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),full)
|
|
|
|
config-y := \
|
|
$(config-settings) \
|
|
$(config-tables) \
|
|
$(config-tools) \
|
|
$(config-extratools) \
|
|
|
|
endif
|
|
|
|
define ConfigVars
|
|
$(subst $(space),,$(foreach opt,$(config-$(1)),CONFIG_$(opt)=$(1)
|
|
))
|
|
endef
|
|
|
|
define batctl_config
|
|
$(call ConfigVars,n)$(call ConfigVars,y)
|
|
endef
|
|
$(eval $(call shexport,batctl_config))
|
|
|
|
MAKE_FLAGS += $$$$$(call shvar,batctl_config)
|
|
|
|
define Package/batctl-tiny/install
|
|
$(INSTALL_DIR) $(1)/usr/libexec
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/batctl $(1)/usr/libexec/batctl-tiny
|
|
endef
|
|
|
|
define Package/batctl-default/install
|
|
$(INSTALL_DIR) $(1)/usr/libexec
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/batctl $(1)/usr/libexec/batctl-default
|
|
endef
|
|
|
|
define Package/batctl-full/install
|
|
$(INSTALL_DIR) $(1)/usr/libexec
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/batctl $(1)/usr/libexec/batctl-full
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,batctl-default))
|
|
$(eval $(call BuildPackage,batctl-tiny))
|
|
$(eval $(call BuildPackage,batctl-full))
|