+++ /dev/null
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=oonf-dlep-proxy
-PKG_RELEASE:=1
-
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/OLSR/OONF.git
-PKG_SOURCE_DATE:=2022-08-25
-PKG_SOURCE_VERSION:=fb15d54d6a7a087cb0c5ec37c49804f6ce432396
-PKG_MIRROR_HASH:=f3a4512a53a56c27564c602a0efec211988825caf77bf52e86769cd8d413522c
-
-CMAKE_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
-
-CMAKE_OPTIONS+=-D OONF_NO_WERROR:Bool=true \
- -D OONF_LOGGING_LEVEL:String=debug \
- -D OONF_NO_TESTING:Bool=true \
- -D UCI:Bool=true \
- -D OONF_APP_DEFAULT_CFG_HANDLER:String=uci \
- -D OONF_STATIC_PLUGINS:String="class;clock;layer2;packet_socket;socket;stream_socket;telnet;timer;viewer;os_clock;os_fd;os_interface;os_system;nl80211_listener;layer2info;systeminfo;cfg_uciloader;cfg_compact;dlep_proxy" \
- -D OONF_LIB_GIT:String=v$(PKG_SOURCE_VERSION) \
- -D VERSION_SUB_TAG:String=$(PKG_SOURCE_DATE) \
- -D INSTALL_LIB_DIR:Path=lib/oonf \
- -D INSTALL_INCLUDE_DIR:Path=include/oonf \
- -D INSTALL_CMAKE_DIR:Path=lib/oonf \
- -D CMAKE_PREFIX_PATH=$(STAGING_DIR)/usr
-
-define Package/oonf-git/template
- SECTION:=net
- CATEGORY:=Network
- SUBMENU:=OLSR.org network framework
- URL:=http://www.olsr.org/
-endef
-
-define Package/oonf-dlep-proxy
- $(call Package/oonf-git/template)
- TITLE:= Build DLEP Radio+Router Agent
- DEPENDS:=+librt +libnl-tiny +libuci +oonf-init-scripts
- VERSION:=$(PKG_VERSION)
-endef
-
-Build/Compile=$(call Build/Compile/Default,dlep_radio_static)
-Build/Install=
-
-define Build/Install
- $(INSTALL_BIN) -D $(PKG_BUILD_DIR)/$(MAKE_PATH)/dlep_radio_static $(PKG_INSTALL_DIR)/usr/sbin/dlep_proxy;
-endef
-
-TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include -I${STAGING_DIR}/usr/include/libnl-tiny
-
-define Package/oonf-dlep-proxy/install
- $(INSTALL_BIN) -D $(PKG_BUILD_DIR)/dlep_radio_static $(1)/usr/sbin/dlep_proxy
- $(INSTALL_BIN) -D ./files/dlep_proxy.init $(1)/etc/init.d/dlep_proxy
- $(INSTALL_BIN) -D ./files/dlep_proxy.hotplug $(1)/etc/hotplug.d/iface/50-dlep_proxy
- $(INSTALL_DATA) -D ./files/dlep_proxy.uci $(1)/etc/config/dlep_proxy
-endef
-
-define Package/oonf-dlep-proxy/conffiles
-/etc/config/dlep_proxy
-endef
-
-$(eval $(call BuildPackage,oonf-dlep-proxy))
+++ /dev/null
-#!/bin/sh
-
-DAEMON='dlep_proxy'
-
-. /lib/functions/oonf_hotplug.sh
+++ /dev/null
-#!/bin/sh /etc/rc.common
-
-START=82
-DAEMON='dlep_proxy'
-
-[ -n "$IPKG_INSTROOT" ] || {
- . /lib/functions/oonf_init.sh
-}
\ No newline at end of file
+++ /dev/null
-config global
- option 'failfast' 'no'
- option 'pidfile' '/var/run/dlep_proxy.pid'
- option 'lockfile' '/var/lock/dlep_proxy'
-
-config log
- option 'syslog' 'true'
- option 'stderr' 'true'
-# option 'file' '/var/log/dlep_proxy.log'
-# option 'info' 'all'
-# option 'debug' 'all'
-
-config telnet
-# option 'port' '2009'
-
-#config dlep_radio
-# list 'name' 'eth0'
-# option 'datapath_if' 'eth1'
-# option 'not_proxied' 'false'
-# option 'proxied' 'true'
-
-#config dlep-router
-# list 'name' 'eth0'
-# option 'datapath_if' 'eth0'
+++ /dev/null
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=oonf-dlep-radio
-PKG_RELEASE:=1
-
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/OLSR/OONF.git
-PKG_SOURCE_DATE:=2022-08-25
-PKG_SOURCE_VERSION:=fb15d54d6a7a087cb0c5ec37c49804f6ce432396
-PKG_MIRROR_HASH:=9a17ada9ba95bef28ded5f8855a96950d9c0fde95612eb9e102d6ec967f8c304
-
-
-CMAKE_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
-
-CMAKE_OPTIONS+=-D OONF_NO_WERROR:Bool=true \
- -D OONF_LOGGING_LEVEL:String=debug \
- -D OONF_NO_TESTING:Bool=true \
- -D UCI:Bool=true \
- -D OONF_APP_DEFAULT_CFG_HANDLER:String=uci \
- -D OONF_STATIC_PLUGINS:String="class;clock;layer2;packet_socket;socket;stream_socket;telnet;timer;viewer;os_clock;os_fd;os_interface;os_system;nl80211_listener;layer2info;systeminfo;cfg_uciloader;cfg_compact;dlep_radio" \
- -D OONF_LIB_GIT:String=$(PKG_SOURCE_VERSION) \
- -D VERSION_SUB_TAG:String=$(PKG_SOURCE_DATE) \
- -D INSTALL_LIB_DIR:Path=lib/oonf \
- -D INSTALL_INCLUDE_DIR:Path=include/oonf \
- -D INSTALL_CMAKE_DIR:Path=lib/oonf \
- -D CMAKE_PREFIX_PATH=$(STAGING_DIR)/usr
-
-define Package/oonf-git/template
- SECTION:=net
- CATEGORY:=Network
- SUBMENU:=OLSR.org network framework
- URL:=http://www.olsr.org/
-endef
-
-define Package/oonf-dlep-radio
- $(call Package/oonf-git/template)
- TITLE:=Build DLEP Radio Agent
- DEPENDS:=+librt +libnl-tiny +libuci +oonf-init-scripts
- VERSION:=$(PKG_VERSION)
-endef
-
-Build/Compile=$(call Build/Compile/Default,dlep_radio_static)
-Build/Install=
-
-define Build/Install
- $(INSTALL_BIN) -D $(PKG_BUILD_DIR)/$(MAKE_PATH)/dlep_radio_static $(PKG_INSTALL_DIR)/usr/sbin/dlep_radio;
-endef
-
-TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include -I${STAGING_DIR}/usr/include/libnl-tiny
-
-define Package/oonf-dlep-radio/install
- $(INSTALL_BIN) -D $(PKG_BUILD_DIR)/dlep_radio_static $(1)/usr/sbin/dlep_radio
- $(INSTALL_BIN) -D ./files/dlep_radio.init $(1)/etc/init.d/dlep_radio
- $(INSTALL_BIN) -D ./files/dlep_radio.hotplug $(1)/etc/hotplug.d/iface/50-dlep_radio
- $(INSTALL_DATA) -D ./files/dlep_radio.uci $(1)/etc/config/dlep_radio
-endef
-
-define Package/oonf-dlep-radio/conffiles
-/etc/config/dlep_radio
-endef
-
-$(eval $(call BuildPackage,oonf-dlep-radio))
+++ /dev/null
-#!/bin/sh
-
-DAEMON='dlep_radio'
-
-. /lib/functions/oonf_hotplug.sh
+++ /dev/null
-#!/bin/sh /etc/rc.common
-
-START=82
-DAEMON='dlep_radio'
-
-[ -n "$IPKG_INSTROOT" ] || {
- . /lib/functions/oonf_init.sh
-}
+++ /dev/null
-config global
- option 'failfast' 'no'
- option 'pidfile' '/var/run/dlep_radio.pid'
- option 'lockfile' '/var/lock/dlep_radio'
-
-config log
- option 'syslog' 'true'
- option 'stderr' 'true'
-# option 'file' '/var/log/dlep_radio.log'
-# option 'info' 'all'
-# option 'debug' 'all'
-
-config telnet
-# option 'port' '2009'
-
-config dlep_radio
- list 'name' 'wlan0'
- option 'datapath_if' 'br-lan'
- option 'not_proxied' 'false'
- option 'proxied' 'true'
-
-config nl80211_listener
- option 'if' 'wlan0'
- option 'interval' '1.0'
+++ /dev/null
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=oonf-init-scripts
-PKG_VERSION:=0.9.1-r3
-PKG_RELEASE:=1
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/oonf-init-scripts
- SECTION:=net
- CATEGORY:=Network
- SUBMENU:=OLSR.org network framework
- URL:=http://www.olsr.org/
- TITLE:= Common OONF startup scripts
- VERSION:=$(PKG_VERSION)
-endef
-
-define Build/Prepare
- mkdir -p $(PKG_BUILD_DIR)
-endef
-
-define Build/Configure
-endef
-
-define Build/Compile
-endef
-
-define Package/oonf-init-scripts/install
- $(INSTALL_BIN) -D ./files/oonf_init.sh $(1)/lib/functions/oonf_init.sh
- $(INSTALL_BIN) -D ./files/oonf_hotplug.sh $(1)/lib/functions/oonf_hotplug.sh
-endef
-
-$(eval $(call BuildPackage,oonf-init-scripts))
+++ /dev/null
-#!/bin/sh
-
-case "${ACTION}" in
- ifup)
- . /etc/rc.common /etc/init.d/${DAEMON} enabled && {
- logger -t "${DAEMON}[hotplug]" -p daemon.info 'reloading configuration'
- . /etc/rc.common /etc/init.d/${DAEMON} reload
- }
- ;;
-esac
+++ /dev/null
-#!/bin/sh
-
-. /usr/share/libubox/jshn.sh
-
-oonf_log()
-{
- logger -s -t ${DAEMON} -p daemon.info "${1}"
-}
-
-oonf_get_layer3_device()
-{
- local interface="${1}" # e.g. 'mywifi'
- local status dev proto
- local query="{ \"interface\" : \"${interface}\" }"
-
- status="$( ubus -S call network.interface status "${query}" )" && {
- json_load "${status}"
- json_get_var 'dev' l3_device
- json_get_var 'proto' proto
- case "${proto}" in
- pppoe)
- # TODO: otherwise it segfaults
- oonf_log "refusing to add '$interface', because of proto '${proto}'"
- ;;
- *)
- echo "${dev}" # e.g. 'wlan0-1'
- ;;
- esac
- }
-}
-
-oonf_add_devices_to_configuration()
-{
- local i=0
- local device_name= section= interface= single_interface=
-
- # make a copy of configuration and
- # add a 'name' (physical name) for all
- # 'interface-names' (e.g. mywifi)
- #
- # olsrd2.@interface[2]=interface
- # olsrd2.@interface[2].ifname='wan lan wlanadhoc wlanadhocRADIO1'
-
- # /var is in ramdisc/tmpfs
- uci export ${DAEMON} >"/var/run/${DAEMON}_dev"
-
- while section="$( uci -q -c /etc/config get "${DAEMON}.@[${i}]" )"; do {
- echo "section: ${section}"
-
- interface="$( uci -q -c /etc/config get "${DAEMON}.@[${i}].ifname" )" || {
- i=$(( i + 1 ))
- continue
- }
-
- case "$( uci -q get "${DAEMON}.@[${i}].ignore" )" in
- 1|on|true|enabled|yes)
- oonf_log "removing/ignore section '$section'"
- uci -q -c /var/run delete "${DAEMON}_dev.@[${j}]"
- i=$(( i + 1 ))
-
- continue
- ;;
- esac
-
- for single_interface in ${interface}; do {
- device_name="$( oonf_get_layer3_device "${single_interface}" )"
-
- echo "Interface: ${single_interface} = ${device_name}"
-
- if [ ! -z "${device_name}" ]
- then
- # add option 'name' for 'ifname' (e.g. 'mywifi')
- uci -q -c /var/run add_list "${DAEMON}_dev.@[${i}].name=${device_name}"
- fi
- } done
- i=$(( $i + 1 ))
- } done
-
- uci -q -c /var/run commit "${DAEMON}_dev"
-
- oonf_log "wrote '/var/run/${DAEMON}_dev'"
-}
-
-oonf_reread_config()
-{
- local pid
- local pidfile="/var/run/${DAEMON}.pid"
-
- if [ -e "${pidfile}" ]; then
- read pid <"${pidfile}"
- elif pidfile="$( uci -q get "${DAEMON}.@global[0].pidfile" )"; then
- read pid <"${pidfile}"
- fi
-
- # if empty, ask kernel
- pid="${pid:-$( pidof ${DAEMON} )}"
-
- [ -n "${pid}" ] && kill -SIGHUP ${pid}
-}
-
-start()
-{
- oonf_add_devices_to_configuration
-
- # produce coredumps
- ulimit -c unlimited
-
- service_start /usr/sbin/${DAEMON} --set global.fork=true --load uci:///var/run/${DAEMON}_dev
-}
-
-stop()
-{
- service_stop /usr/sbin/${DAEMON}
-}
-
-reload()
-{
- oonf_add_devices_to_configuration
- oonf_reread_config
-}
-
-running()
-{
- # check if we have a pidfile and then check if that pid still exists.
- # since we don't use -e this has to be explicitly returned. exit would stop the process.
- test -e "/tmp/run/olsrd2.pid" && test -e "/proc/$(cat "/tmp/run/olsrd2.pid")" && return 0
- return 1
-}
-
-status()
-{
- if running; then
- echo "running"
- else
- echo "stopped"
- fi
-}
+++ /dev/null
- # OONF Olsrd2 configuration
- menu "Optional Plugins"
- depends on PACKAGE_oonf-olsrd2
-
- config OONF_NHDP_AUTOLL4
- bool "Auto_LL4 plugin enabled"
- help
- The auto_ll4 plugin automatically generates linklocal IPv4 addresses on interfaces that do not contain IPv4 addresses.
- default n
-
- config OONF_OLSRV2_LAN_IMPORT
- bool "Lan_import plugin enabled"
- help
- The lan_import plugin can read routing tables and automatically export them as locally attached networks in olsrd2.
- default y
-
- config OONF_OLSRV2_ROUTE_MODIFIER
- bool "route_modifier plugin enabled"
- help
- The route_modifier plugin allows you to overwrite aspects of routes (like table/protocol) for certain destinations.
- default y
-
- config OONF_GENERIC_DLEP_ROUTER
- bool "dlep_router plugin enabled"
- help
- The dlep_router plugin can receive linklayer metadata over the DLEP protocol.
- default n
-
- config OONF_GENERIC_REMOTECONTROL
- bool "remotecontrol plugin enabled"
- help
- The remotecontrol plugin allows you to control configuration and logging over the telnet plugin. Be careful not to open this functionality over the network without securing it.
- default y
-
- config OONF_GENERIC_HTTP
- bool "http plugin enabled"
- help
- The HTTP plugin allows HTTP access to all telnet commands.
- default n
-
- config OONF_OLSRV2_MPR
- bool "MPR plugin enabled"
- help
- The MPR plugin reduce the routing graph to limit the overhead of the OLSRv2 protocol
- default y
-
- config OONF_OLSRV2_LAN
- bool "New config option for Locally attached entries"
- help
- Adds the 'lan' section to the config to configure LANs without setting multiple settings in a single key/value pair
- default y
-
- config OONF_OLSRV2_OLD_LAN
- bool "Legacy option for Locally attached entries"
- help
- Adds the olsr 'lan' config key in the olsrv2 section
- default n
-
- endmenu
+++ /dev/null
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=oonf-olsrd2
-PKG_RELEASE:=2
-
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/OLSR/OONF.git
-PKG_SOURCE_DATE:=2022-08-25
-PKG_SOURCE_VERSION:=1cec9b21086fb52ab4262c69aabd087e4d2d3a44
-PKG_MIRROR_HASH:=3350037ecb4d2e08f54a3fb8afe4f2d4e4884e1dec42ffdba1a6c5233df1b6cf
-
-CMAKE_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
-
-# ref https://stackoverflow.com/a/10571900/3990041
-SPACE:= $(subst ,, )
-CMAKE_OPTIONAL_PLUGINS:= $(subst $(SPACE),;,$(strip \
- $(if $(filter y,$(CONFIG_OONF_NHDP_AUTOLL4)),auto_ll4,) \
- $(if $(filter y,$(CONFIG_OONF_OLSRV2_LAN_IMPORT)),lan_import,) \
- $(if $(filter y,$(CONFIG_OONF_OLSRV2_ROUTE_MODIFIER)),route_modifier,) \
- $(if $(filter y,$(CONFIG_OONF_GENERIC_DLEP_ROUTER)),dlep,) \
- $(if $(filter y,$(CONFIG_OONF_GENERIC_REMOTECONTROL)),remotecontrol,) \
- $(if $(filter y,$(CONFIG_OONF_OLSRV2_MPR)),mpr,) \
- $(if $(filter y,$(CONFIG_OONF_GENERIC_HTTP)),http,) \
- $(if $(filter y,$(CONFIG_OONF_OLSRV2_LAN)),olsrv2_lan,) \
- $(if $(filter y,$(CONFIG_OONF_OLSRV2_OLD_LAN)),olsrv2_old_lan,) \
- ))
-
-BUILD_TYPE:= $(if $(filter y,$(CONFIG_DEBUG)),Debug,Release)
-
-CMAKE_OPTIONS+=-D CMAKE_BUILD_TYPE:String=$(BUILD_TYPE) \
- -D OONF_NO_WERROR:Bool=true \
- -D OONF_LOGGING_LEVEL:String=debug \
- -D OONF_NO_TESTING:Bool=true \
- -D UCI:Bool=true \
- -D OONF_APP_DEFAULT_CFG_HANDLER:String=uci \
- -D OONF_STATIC_PLUGINS:String="class;callback;clock;duplicate_set;layer2;packet_socket;rfc5444;socket;stream_socket;telnet;timer;viewer;os_clock;os_fd;os_interface;os_routing;os_system;nhdp;olsrv2;ff_dat_metric;neighbor_probing;nl80211_listener;link_config;layer2info;systeminfo;cfg_uciloader;cfg_compact;nhdpinfo;olsrv2info;netjsoninfo;${CMAKE_OPTIONAL_PLUGINS}" \
- -D OONF_LIB_GIT:String=$(PKG_SOURCE_VERSION) \
- -D VERSION_SUB_TAG:String=$(PKG_SOURCE_DATE) \
- -D INSTALL_LIB_DIR:Path=lib/oonf \
- -D INSTALL_INCLUDE_DIR:Path=include/oonf \
- -D INSTALL_CMAKE_DIR:Path=lib/oonf \
- -D CMAKE_PREFIX_PATH=$(STAGING_DIR)/usr \
- -D CMAKE_GENERATOR=Ninja
-
-define Package/oonf-git/template
- SECTION:=net
- CATEGORY:=Network
- SUBMENU:=OLSR.org network framework
- URL:=http://www.olsr.org/
- MENU:=1
-endef
-
-define Package/oonf-olsrd2
- $(call Package/oonf-git/template)
- TITLE:= Build Olsrd V2 Routing Agent
- DEPENDS:=+librt +libnl-tiny +libuci +oonf-init-scripts
- VERSION:=$(PKG_VERSION)
-endef
-
-define Package/oonf-olsrd2/config
- source "$(SOURCE)/Config.in"
-endef
-
-Build/Compile=$(call Build/Compile/Default,olsrd2_static)
-Build/Install=
-
-define Build/Install
- $(INSTALL_BIN) -D $(PKG_BUILD_DIR)/$(MAKE_PATH)/olsrd2_static $(PKG_INSTALL_DIR)/usr/sbin/olsrd2;
-endef
-
-TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include -I${STAGING_DIR}/usr/include/libnl-tiny
-
-define Package/oonf-olsrd2/install
- $(INSTALL_BIN) -D $(PKG_BUILD_DIR)/olsrd2_static $(1)/usr/sbin/olsrd2
- $(INSTALL_BIN) -D ./files/olsrd2.init $(1)/etc/init.d/olsrd2
- $(INSTALL_BIN) -D ./files/olsrd2.hotplug $(1)/etc/hotplug.d/iface/50-olsrd2
- $(INSTALL_DATA) -D ./files/olsrd2.uci $(1)/etc/config/olsrd2
-endef
-
-define Package/oonf-olsrd2/conffiles
-/etc/config/olsrd2
-endef
-
-$(eval $(call BuildPackage,oonf-olsrd2))
+++ /dev/null
-#!/bin/sh
-
-DAEMON='olsrd2'
-
-. /lib/functions/oonf_hotplug.sh
+++ /dev/null
-#!/bin/sh /etc/rc.common
-
-START=82
-DAEMON='olsrd2'
-
-[ -n "$IPKG_INSTROOT" ] || {
- . /lib/functions/oonf_init.sh
-
- extra_command "running" "Check if service is running"
- extra_command "status" "Service status"
-}
+++ /dev/null
-config global
- option 'failfast' 'no'
- option 'pidfile' '/var/run/olsrd2.pid'
- option 'lockfile' '/var/lock/olsrd2'
-
-config log
- option 'syslog' 'true'
- option 'stderr' 'true'
-# option 'file' '/var/log/olsrd2.log'
-# option 'info' 'all'
-# option 'debug' 'all'
-
-config telnet
-# option 'port' '2009'
-
-config olsrv2
-# list 'lan' '::/0'
-# list 'lan' '0.0.0.0/0'
-
-config interface
- option 'ifname' 'loopback'
-
-config interface
- list 'ifname' 'WIFI'
- list 'ifname' 'wlanadhoc'
- list 'ifname' 'wlanadhocRADIO1'
-
-config interface
- list 'ifname' 'wan'
- option 'ignore' '1'
-# option 'rx_bitrate' '100M'
-# option 'tx_bitrate' '100M'
-# option 'signal' '-20'
-
-config interface
- list 'ifname' 'lan'
- option 'ignore' '1'
-# option 'rx_bitrate' '1G'
-# option 'tx_bitrate' '1G'
-# option 'signal' '-10'
+++ /dev/null
---- a/src/olsrv2/CMakeLists.txt
-+++ b/src/olsrv2/CMakeLists.txt
-@@ -6,4 +6,5 @@ add_subdirectory(olsrv2_old_lan)
- add_subdirectory(olsrv2_l2import)
- add_subdirectory(olsrv2_lan)
- add_subdirectory(route_modifier)
-+add_subdirectory(lan_import)
-