Compare commits

..

1 Commits

Author SHA1 Message Date
Janusz Dziedzic
2e82c5e75a map-topology: add ieee1905 dependency
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
2022-05-13 09:15:45 +00:00
11 changed files with 155 additions and 89 deletions

View File

@@ -5,11 +5,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libbbfdm
PKG_VERSION:=6.6.36
PKG_VERSION:=6.6.35
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/bbf.git
PKG_SOURCE_VERSION:=180119192418dbac64713c3e5efe761a1f8e871e
PKG_SOURCE_VERSION:=0159ecf5d84805d76dff8cb80831334e200989c7
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip

View File

@@ -1,12 +0,0 @@
diff --git a/ssl_utils.c b/ssl_utils.c
index db66fea..cb9d0d8 100644
--- a/ssl_utils.c
+++ b/ssl_utils.c
@@ -29,6 +29,7 @@
#endif
#include <string.h>
+#include <stdlib.h>
#include "common.h"
#include "log.h"

View File

@@ -1,12 +0,0 @@
diff --git a/lib/format_linux.c b/lib/format_linux.c
index 5bc9a5a..1acb746 100644
--- a/lib/format_linux.c
+++ b/lib/format_linux.c
@@ -52,6 +52,7 @@
#include <unistd.h>
#include <string.h>
#include <assert.h>
+#include <linux/sockios.h>
#ifdef HAVE_INTTYPES_H
# include <inttypes.h>

View File

@@ -26,7 +26,7 @@ include $(INCLUDE_DIR)/package.mk
define Package/map-topology
CATEGORY:=Utilities
DEPENDS:=+libubox +ubus +libpthread +libuci +libeasy \
+libavahi-nodbus-support
+libavahi-nodbus-support +ieee1905
TITLE:=Utility to build topology of a multi-AP network
endef

36
ponmngr/files/etc/init.d/pon Executable file
View File

@@ -0,0 +1,36 @@
#!/bin/sh /etc/rc.common
START=98
STOP=10
USE_PROCD=1
NAME=ponmngr
PROG="/usr/sbin/omcid start"
include /lib/pon
start_service() {
if [ -f "/etc/config/pon" ]; then
procd_open_instance $NAME
procd_set_param command ${PROG}
procd_set_param respawn
procd_close_instance
start_gpon
fi
}
boot() {
start
}
stop_service() {
service_stop ${PROG}
stop_gpon
}
reload_service() {
stop
start
}

View File

@@ -1,25 +0,0 @@
#!/bin/sh /etc/rc.common
START=19
STOP=10
USE_PROCD=1
. /lib/functions.sh
include /lib/xpon
start_service() {
if [ "$(uci -q get xpon.ani.enable)" == "1" ]; then
init_xpon
fi
}
stop_service() {
# stopping omcid does not bring down the pon link, which should happen
# if ANI is disabled or stopped (go to O1)
deinit_xpon
}
service_triggers() {
procd_add_reload_trigger "xpon"
}

View File

@@ -0,0 +1,27 @@
#!/bin/sh
basemac="$(db -q get hw.board.basemac | tr -d ':')"
if [ -s "/etc/config/pon" ]; then
if uci -q get pon.globals >/dev/null; then
# return if there is any valid content
exit
else
rm -f /etc/config/pon
fi
fi
touch /etc/config/pon
mac=''
if [ -z "$basemac" ]; then
mac="12345678"
else
# read last 8 characters of basemac without :
mac=${basemac: -8}
fi
uci set pon.globals=globals
uci set pon.globals.enabled="1"
uci set pon.globals.serial_number="BRCM$mac"
uci commit pon

View File

@@ -1,17 +0,0 @@
#!/bin/sh
if [ -s "/etc/config/xpon" ]; then
if uci -q get xpon.ani >/dev/null; then
# return if there is any valid content
exit
else
rm -f /etc/config/xpon
fi
fi
touch /etc/config/xpon
uci set xpon.ani=ani
uci set xpon.ani.enable="1"
uci commit xpon

View File

@@ -0,0 +1,70 @@
#!/bin/sh
. /lib/functions.sh
. /usr/share/libubox/jshn.sh
configure_snpwd() {
local serial_no password
serial_no="$1"
password="$2"
# serial number comprises of 2 parts, vendor id and vendor specific, the vendor id is
# a string while the vendor specific is a hex, so split the 2 and set accordingly
local vendor_id vendor_specific
vendor_id=${serial_no:0:4}
vendor_specific=${serial_no: -8}
# attempt to conver vendor_id from string to hex
vendor_id=$(echo $vendor_id | hexdump -e '4/1 "%02X" "\n"')
vendor_id=${vendor_id:0:8}
bdmf_shell -c `cat /var/bdmf_sh_id` -cmd /b/configure gpon onu_sn={vendor_id=$vendor_id,vendor_specific=$vendor_specific}
if [ -n "$password" ]; then
password=$(echo $password | hexdump -n ${#password} -e '16/1 "%02X""\n"')
bdmf_shell -c `cat /var/bdmf_sh_id` -cmd /b/configure gpon password=$password
fi
}
configure_gpon() {
local enabled serial_no password
config_load pon
config_get enabled globals "enabled"
if [ "$enabled" == "0" ]; then
exit
fi
config_get serial_no globals "serial_number"
config_get password globals "password"
configure_snpwd $serial_no $password
}
start_gpon() {
if [ -n "$(which gponctl)" ]; then
configure_gpon
gponctl start
fi
}
stop_gpon() {
if [ -n "$(which gponctl)" ]; then
gponctl stop
fi
}
get_gpon_status() {
json_init
status="$(gponctl getstate)"
admin_status="$(echo $status | head -n1 | awk '{print $8;}')"
json_add_string "admin_status" "$admin_status"
op_status="$(echo $status | head -n1 | awk '{print $12;}')"
case $op_status in
NUMBER)
op_status="$(echo $status | head -n1 | awk '{print $13;}')"
;;
esac
op_status=${op_status:1:2}
json_add_string "operational_status" "$op_status"
json_dump
}

View File

@@ -1,20 +0,0 @@
#!/bin/sh
USE_PROCD=1
. /lib/functions.sh
init_xpon() {
procd_open_instance pon_msgd
procd_set_param command bcm_msgd -c gpon
procd_close_instance
procd_open_instance pon_daemon
procd_set_param command omcid start -n
procd_close_instance
}
deinit_xpon() {
gponctl stop
}

View File

@@ -0,0 +1,19 @@
#!/bin/sh
. /usr/share/libubox/jshn.sh
. /lib/functions.sh
include /lib/pon
case "$1" in
list)
echo '{ "status": {} }'
;;
call)
case "$2" in
status)
get_gpon_status
;;
esac
;;
esac