mirror of
https://dev.iopsys.eu/bbf/bbfdm.git
synced 2025-12-10 07:44:39 +01:00
save dmmap files under '/etc/bbfdm/dmmap' instead of '/etc/bbfdm'
This commit is contained in:
parent
5e97bdb5e4
commit
5717e55ac7
14 changed files with 212 additions and 241 deletions
1
README
1
README
|
|
@ -8,5 +8,6 @@ make install
|
|||
ldconfig
|
||||
|
||||
mkdir -p /etc/bbfdm/
|
||||
mkdir -p /etc/bbfdm/dmmap
|
||||
mkdir -p /etc/bbfdm/json
|
||||
mkdir -p /usr/lib/bbfdm
|
||||
|
|
|
|||
|
|
@ -578,7 +578,7 @@ static int set_QoSClassification_DestMask(char *refparam, struct dmctx *ctx, voi
|
|||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
/* Set received value of dest. mask in /etc/bbfdm/dmmap_qos.
|
||||
/* Set received value of dest. mask in /etc/bbfdm/dmmap/dmmap_qos.
|
||||
* If received value is an empty string then get the value of dest. ip. from dmmap_qos and set it as dest_ip in qos uci file.
|
||||
* If both received value of dest. mask and the dest. ip from dmmap_qos is empty then delete the dest_ip option from qos uci file.
|
||||
* Note: setting an empty string as option value in uci or dmmap will delete that option.
|
||||
|
|
@ -587,7 +587,7 @@ static int set_QoSClassification_DestMask(char *refparam, struct dmctx *ctx, voi
|
|||
get_dmmap_section_of_config_section("dmmap_qos", "classify", section_name((struct uci_section *)data), &dmmap_section);
|
||||
dmuci_set_value_by_section_bbfdm(dmmap_section, "dest_mask", value);
|
||||
if (value[0] == '\0') {
|
||||
//get source ip value from /etc/bbfdm/dmmap_qos and set as dest_ip
|
||||
//get source ip value from /etc/bbfdm/dmmap/dmmap_qos and set as dest_ip
|
||||
dmuci_get_value_by_section_string(dmmap_section, "dest_ip", &dest_ip);
|
||||
dmuci_set_value_by_section((struct uci_section *)data, "dest_ip", dest_ip);
|
||||
} else {
|
||||
|
|
@ -617,7 +617,7 @@ static int set_QoSClassification_SourceMask(char *refparam, struct dmctx *ctx, v
|
|||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
/* Set received value of src. mask in /etc/bbfdm/dmmap_qos.
|
||||
/* Set received value of src. mask in /etc/bbfdm/dmmap/dmmap_qos.
|
||||
* If received value is an empty string then get the value of src. ip. from dmmap_qos and set it as src_ip in qos uci file.
|
||||
* If both received value of src. mask and the src. ip from dmmap_qos is empty then delete the src_ip option from qos uci file.
|
||||
* Note: setting an empty string as option value in uci or dmmap will delete that option.
|
||||
|
|
@ -626,7 +626,7 @@ static int set_QoSClassification_SourceMask(char *refparam, struct dmctx *ctx, v
|
|||
get_dmmap_section_of_config_section("dmmap_qos", "classify", section_name((struct uci_section *)data), &dmmap_section);
|
||||
dmuci_set_value_by_section_bbfdm(dmmap_section, "src_mask", value);
|
||||
if (value[0] == '\0') {
|
||||
//get source ip value from /etc/bbfdm/dmmap_qos and set as src_ip
|
||||
//get source ip value from /etc/bbfdm/dmmap/dmmap_qos and set as src_ip
|
||||
dmuci_get_value_by_section_string(dmmap_section, "src_ip", &src_ip);
|
||||
dmuci_set_value_by_section((struct uci_section *)data, "src_ip", src_ip);
|
||||
} else {
|
||||
|
|
@ -694,9 +694,9 @@ static int set_QoSClassification_DestIP(char *refparam, struct dmctx *ctx, void
|
|||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
/* If dest. mask parameter from etc/bbfdm/dmmap_qos is present, set this (dest. mask) value as dest_ip in qos uci file
|
||||
* Else write received dest. ip to /etc/bbfdm/dmmap_qos and qos uci file.
|
||||
* Also write the received dest. ip value to /etc/bbfdm/dmmap_qos.
|
||||
/* If dest. mask parameter from /etc/bbfdm/dmmap/dmmap_qos is present, set this (dest. mask) value as dest_ip in qos uci file
|
||||
* Else write received dest. ip to /etc/bbfdm/dmmap/dmmap_qos and qos uci file.
|
||||
* Also write the received dest. ip value to /etc/bbfdm/dmmap/dmmap_qos.
|
||||
* */
|
||||
get_dmmap_section_of_config_section("dmmap_qos", "classify", section_name((struct uci_section *)data), &dmmap_section);
|
||||
dmuci_get_value_by_section_string(dmmap_section, "dest_mask", &dest_mask);
|
||||
|
|
@ -732,9 +732,9 @@ static int set_QoSClassification_SourceIP(char *refparam, struct dmctx *ctx, voi
|
|||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
/*if source mask parameter from etc/bbfdm/dmmap_qos is present, set this (source mask) value as src_ip in qos uci file
|
||||
Else write received source ip to /etc/bbfdm/dmmap_qos and qos uci file.
|
||||
also write the received source ip value to /etc/bbfdm/dmmap_qos.
|
||||
/*if source mask parameter from /etc/bbfdm/dmmap/dmmap_qos is present, set this (source mask) value as src_ip in qos uci file
|
||||
Else write received source ip to /etc/bbfdm/dmmap/dmmap_qos and qos uci file.
|
||||
also write the received source ip value to /etc/bbfdm/dmmap/dmmap_qos.
|
||||
*/
|
||||
get_dmmap_section_of_config_section("dmmap_qos", "classify", section_name((struct uci_section *)data), &dmmap_section);
|
||||
dmuci_get_value_by_section_string(dmmap_section, "src_mask", &src_mask);
|
||||
|
|
|
|||
|
|
@ -582,7 +582,7 @@ char *check_create_dmmap_package(const char *dmmap_package)
|
|||
char *path;
|
||||
int rc;
|
||||
|
||||
rc = dmasprintf(&path, "/etc/bbfdm/%s", dmmap_package);
|
||||
rc = dmasprintf(&path, "/etc/bbfdm/dmmap/%s", dmmap_package);
|
||||
if (rc == -1)
|
||||
return NULL;
|
||||
|
||||
|
|
|
|||
|
|
@ -165,22 +165,22 @@ enum fs_size_type_enum {
|
|||
FS_SIZE_USED,
|
||||
};
|
||||
|
||||
#define IPPING_PATH "/usr/share/bbfdm/functions/ipping_launch"
|
||||
#define IPPING_PATH "/usr/share/bbfdm/ipping_launch"
|
||||
#define IPPING_STOP DMCMD("/bin/sh", 2, IPPING_PATH, "stop");
|
||||
#define DOWNLOAD_DIAGNOSTIC_PATH "/usr/share/bbfdm/functions/download_launch"
|
||||
#define DOWNLOAD_DIAGNOSTIC_PATH "/usr/share/bbfdm/download_launch"
|
||||
#define DOWNLOAD_DUMP_FILE "/tmp/download_dump"
|
||||
#define DOWNLOAD_DIAGNOSTIC_STOP DMCMD("/bin/sh", 2, DOWNLOAD_DIAGNOSTIC_PATH, "stop");
|
||||
#define UPLOAD_DIAGNOSTIC_PATH "/usr/share/bbfdm/functions/upload_launch"
|
||||
#define UPLOAD_DIAGNOSTIC_PATH "/usr/share/bbfdm/upload_launch"
|
||||
#define UPLOAD_DUMP_FILE "/tmp/upload_dump"
|
||||
#define UPLOAD_DIAGNOSTIC_STOP DMCMD("/bin/sh", 2, UPLOAD_DIAGNOSTIC_PATH, "stop");
|
||||
#define NSLOOKUP_PATH "/usr/share/bbfdm/functions/nslookup_launch"
|
||||
#define NSLOOKUP_PATH "/usr/share/bbfdm/nslookup_launch"
|
||||
#define NSLOOKUP_LOG_FILE "/tmp/nslookup.log"
|
||||
#define NSLOOKUP_STOP DMCMD("/bin/sh", 2, NSLOOKUP_PATH, "stop");
|
||||
#define TRACEROUTE_PATH "/usr/share/bbfdm/functions/traceroute_launch"
|
||||
#define TRACEROUTE_PATH "/usr/share/bbfdm/traceroute_launch"
|
||||
#define TRACEROUTE_STOP DMCMD("/bin/sh", 2, TRACEROUTE_PATH, "stop");
|
||||
#define UDPECHO_PATH "/usr/share/bbfdm/functions/udpecho_launch"
|
||||
#define UDPECHO_PATH "/usr/share/bbfdm/udpecho_launch"
|
||||
#define UDPECHO_STOP DMCMD("/bin/sh", 2, UDPECHO_PATH, "stop");
|
||||
#define SERVERSELECTION_PATH "/usr/share/bbfdm/functions/serverselection_launch"
|
||||
#define SERVERSELECTION_PATH "/usr/share/bbfdm/serverselection_launch"
|
||||
#define SERVERSELECTION_STOP DMCMD("/bin/sh", 2, SERVERSELECTION_PATH, "stop");
|
||||
|
||||
#define sysfs_foreach_file(path,dir,ent) \
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
#define LIB_DB_CONFIG "/lib/db/config"
|
||||
#define ETC_DB_CONFIG "/etc/board-db/config"
|
||||
#define VARSTATE_CONFIG "/var/state"
|
||||
#define BBFDM_CONFIG "/etc/bbfdm"
|
||||
#define BBFDM_CONFIG "/etc/bbfdm/dmmap"
|
||||
#define BBFDM_SAVEDIR "/tmp/.bbfdm"
|
||||
#define UCI_CONFIG_DIR "/etc/config/"
|
||||
|
||||
|
|
|
|||
|
|
@ -73,8 +73,9 @@ define Package/libbbfdm/install
|
|||
$(CP) $(PKG_BUILD_DIR)/bin/.libs/libbbfdm.so* $(1)/lib/
|
||||
$(CP) $(PKG_BUILD_DIR)/bin/.libs/libbbf_api.so* $(1)/lib/
|
||||
$(INSTALL_DIR) $(1)/etc/bbfdm
|
||||
$(INSTALL_DIR) $(1)/etc/bbfdm/dmmap
|
||||
$(INSTALL_DIR) $(1)/usr/share/bbfdm
|
||||
$(CP) $(PKG_BUILD_DIR)/scripts $(1)/usr/share/bbfdm
|
||||
$(CP) $(PKG_BUILD_DIR)/scripts/* $(1)/usr/share/bbfdm
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
|
|
|
|||
25
scripts/bbf_uci_api
Executable file
25
scripts/bbf_uci_api
Executable file
|
|
@ -0,0 +1,25 @@
|
|||
#!/bin/sh
|
||||
|
||||
UCI_GET="/sbin/uci -q get"
|
||||
UCI_SET="/sbin/uci -q set"
|
||||
UCI_ADD="/sbin/uci -q add"
|
||||
UCI_DELETE="/sbin/uci -q delete"
|
||||
UCI_COMMIT="/sbin/uci -q commit"
|
||||
UCI_SHOW="/sbin/uci -q show"
|
||||
|
||||
UCI_GET_BBF_DMMAP="/sbin/uci -q -c /etc/bbfdm/dmmap get"
|
||||
UCI_SET_BBF_DMMAP="/sbin/uci -q -c /etc/bbfdm/dmmap set"
|
||||
UCI_ADD_BBF_DMMAP="/sbin/uci -q -c /etc/bbfdm/dmmap add"
|
||||
UCI_DELETE_BBF_DMMAP="/sbin/uci -q -c /etc/bbfdm/dmmap delete"
|
||||
UCI_COMMIT_BBF_DMMAP="/sbin/uci -q -c /etc/bbfdm/dmmap commit"
|
||||
UCI_SHOW_BBF_DMMAP="/sbin/uci -q -c /etc/bbfdm/dmmap show"
|
||||
|
||||
uci_get() {
|
||||
local val=`$UCI_GET $1`
|
||||
echo ${val:-$2}
|
||||
}
|
||||
|
||||
uci_get_bbf_dmmap() {
|
||||
local val=`$UCI_GET_BBF_DMMAP $1`
|
||||
echo ${val:-$2}
|
||||
}
|
||||
|
|
@ -3,26 +3,18 @@
|
|||
# Author: IMEN Bhiri <imen.bhiri@pivasoftware.com>
|
||||
# Author: AMIN Ben Ramdhane <amin.benramdhane@pivasoftware.com>
|
||||
|
||||
UCI_GET_BBFDM="/sbin/uci -q -c /etc/bbfdm get"
|
||||
UCI_SET_BBFDM="/sbin/uci -q -c /etc/bbfdm set"
|
||||
UCI_ADD_BBFDM="/sbin/uci -q -c /etc/bbfdm add"
|
||||
UCI_DELETE_BBFDM="/sbin/uci -q -c /etc/bbfdm delete"
|
||||
UCI_COMMIT_BBFDM="/sbin/uci -q -c /etc/bbfdm commit"
|
||||
source /usr/share/bbfdm/bbf_uci_api
|
||||
|
||||
CAPTURE_FILE="/tmp/download_dump"
|
||||
DOWNLOAD_DIAGNOSTIC_FILE="/tmp/bbfdm_download_diagnostic"
|
||||
CONNECTION_TIMEOUT=10
|
||||
|
||||
download_get() {
|
||||
local val=`$UCI_GET_BBFDM $1`
|
||||
echo ${val:-$2}
|
||||
}
|
||||
|
||||
download_launch() {
|
||||
local proto tx_bytes_before rx_bytes_before time1 tx_bytes_after rx_bytes_after time2 periodtime error_code
|
||||
local url=$1
|
||||
local device=$2
|
||||
[ "$url" = "" ] && { $UCI_SET_BBFDM dmmap_diagnostics.download.DiagnosticState=Error_InitConnectionFailed; $UCI_COMMIT_BBFDM; return; }
|
||||
local protocol=`download_get dmmap_diagnostics.download.ProtocolVersion Any`
|
||||
[ "$url" = "" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.download.DiagnosticState=Error_InitConnectionFailed; $UCI_COMMIT_BBF_DMMAP; return; }
|
||||
local protocol=`uci_get_bbf_dmmap dmmap_diagnostics.download.ProtocolVersion Any`
|
||||
if [ "$protocol" == "IPv4" ]; then proto="-4"; elif [ "$protocol" == "IPv6" ]; then proto="-6"; else proto=""; fi
|
||||
# Disable acceleration on Broadcom devices to capture all packets with tcpdump
|
||||
[ -e /usr/sbin/fcctl ] && { fcctl disable >/dev/null 2>&1; fcctl flush >/dev/null 2>&1; }
|
||||
|
|
@ -38,29 +30,29 @@ download_launch() {
|
|||
time2=`date +%s`
|
||||
tx_bytes_after=`ubus call network.device status "{'name':'$device'}" | jsonfilter -e @.statistics.tx_bytes`
|
||||
rx_bytes_after=`ubus call network.device status "{'name':'$device'}" | jsonfilter -e @.statistics.rx_bytes`
|
||||
[ "$error_code" == "6" ] && { $UCI_SET_BBFDM dmmap_diagnostics.download.DiagnosticState=Error_CannotResolveHostName; $UCI_COMMIT_BBFDM; kill $PID 2> /dev/null; return; }
|
||||
[ "$error_code" == "7" ] && { $UCI_SET_BBFDM dmmap_diagnostics.download.DiagnosticState=Error_InitConnectionFailed; $UCI_COMMIT_BBFDM; kill $PID 2> /dev/null; return; }
|
||||
[ "$error_code" == "22" ] && { $UCI_SET_BBFDM dmmap_diagnostics.download.DiagnosticState=Error_NoResponse; $UCI_COMMIT_BBFDM; kill $PID 2> /dev/null; return; }
|
||||
[ "$error_code" == "27" ] && { $UCI_SET_BBFDM dmmap_diagnostics.download.DiagnosticState=Error_IncorrectSize; $UCI_COMMIT_BBFDM; kill $PID 2> /dev/null; return; }
|
||||
[ "$error_code" == "28" ] && { $UCI_SET_BBFDM dmmap_diagnostics.download.DiagnosticState=Error_Timeout; $UCI_COMMIT_BBFDM; kill $PID 2> /dev/null; return; }
|
||||
[ "$error_code" != "0" ] && { $UCI_SET_BBFDM dmmap_diagnostics.download.DiagnosticState=Error_Other; $UCI_COMMIT_BBFDM; kill $PID 2> /dev/null; return; }
|
||||
[ "$error_code" == "6" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.download.DiagnosticState=Error_CannotResolveHostName; $UCI_COMMIT_BBF_DMMAP; kill $PID 2> /dev/null; return; }
|
||||
[ "$error_code" == "7" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.download.DiagnosticState=Error_InitConnectionFailed; $UCI_COMMIT_BBF_DMMAP; kill $PID 2> /dev/null; return; }
|
||||
[ "$error_code" == "22" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.download.DiagnosticState=Error_NoResponse; $UCI_COMMIT_BBF_DMMAP; kill $PID 2> /dev/null; return; }
|
||||
[ "$error_code" == "27" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.download.DiagnosticState=Error_IncorrectSize; $UCI_COMMIT_BBF_DMMAP; kill $PID 2> /dev/null; return; }
|
||||
[ "$error_code" == "28" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.download.DiagnosticState=Error_Timeout; $UCI_COMMIT_BBF_DMMAP; kill $PID 2> /dev/null; return; }
|
||||
[ "$error_code" != "0" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.download.DiagnosticState=Error_Other; $UCI_COMMIT_BBF_DMMAP; kill $PID 2> /dev/null; return; }
|
||||
fi
|
||||
tx_bytes=$((tx_bytes_after-tx_bytes_before))
|
||||
rx_bytes=$((rx_bytes_after-rx_bytes_before))
|
||||
periodtime=$(($((time2-time1))*1000000))
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.download.DiagnosticState=Complete
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.download.TotalBytesReceived=$rx_bytes
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.download.TotalBytesSent=$tx_bytes
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.download.PeriodOfFullLoading=$periodtime
|
||||
local perconnection=`$UCI_GET_BBFDM dmmap_diagnostics.download.EnablePerConnection`
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.download.DiagnosticState=Complete
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.download.TotalBytesReceived=$rx_bytes
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.download.TotalBytesSent=$tx_bytes
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.download.PeriodOfFullLoading=$periodtime
|
||||
local perconnection=`$UCI_GET_BBF_DMMAP dmmap_diagnostics.download.EnablePerConnection`
|
||||
if ([ "$perconnection" == "true" ] || [ "$perconnection" == "1" ]); then
|
||||
$UCI_ADD_BBFDM dmmap_diagnostics DownloadPerConnection
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.@DownloadPerConnection[0].TotalBytesReceived=$rx_bytes
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.@DownloadPerConnection[0].TotalBytesSent=$tx_bytes
|
||||
$UCI_ADD_BBF_DMMAP dmmap_diagnostics DownloadPerConnection
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.@DownloadPerConnection[0].TotalBytesReceived=$rx_bytes
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.@DownloadPerConnection[0].TotalBytesSent=$tx_bytes
|
||||
else
|
||||
$UCI_DELETE_BBFDM dmmap_diagnostics.@DownloadPerConnection[0]
|
||||
$UCI_DELETE_BBF_DMMAP dmmap_diagnostics.@DownloadPerConnection[0]
|
||||
fi
|
||||
$UCI_COMMIT_BBFDM
|
||||
$UCI_COMMIT_BBF_DMMAP
|
||||
rm ${DOWNLOAD_DIAGNOSTIC_FILE} 2>/dev/null
|
||||
sleep 1
|
||||
local pids=`ps | grep $PID`
|
||||
|
|
@ -70,11 +62,11 @@ download_launch() {
|
|||
}
|
||||
|
||||
download_stop_diagnostic() {
|
||||
$UCI_DELETE_BBFDM dmmap_diagnostics.@DownloadPerConnection[0]
|
||||
$UCI_DELETE_BBF_DMMAP dmmap_diagnostics.@DownloadPerConnection[0]
|
||||
local pids=`ps | grep download_launch.*run | grep -v grep | awk '{print $1}'`
|
||||
if [ -n "$pids" ]; then
|
||||
kill -9 $pids &>/dev/null
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.download.DiagnosticState=None
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.download.DiagnosticState=None
|
||||
fi
|
||||
local pids=`ps | grep download_launch.*run | grep -v grep | awk '{print $1}'`
|
||||
if [ -n "$pids" ]; then
|
||||
|
|
@ -83,9 +75,9 @@ download_stop_diagnostic() {
|
|||
kill -9 $kid &>/dev/null
|
||||
done
|
||||
kill -9 $pids &>/dev/null
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.download.DiagnosticState=None
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.download.DiagnosticState=None
|
||||
fi
|
||||
$UCI_COMMIT_BBFDM
|
||||
$UCI_COMMIT_BBF_DMMAP
|
||||
}
|
||||
|
||||
if [ "$1" == "run" ] ; then
|
||||
|
|
|
|||
|
|
@ -3,37 +3,30 @@
|
|||
# Author: MOHAMED Kallel <mohamed.kallel@pivasoftware.com>
|
||||
# Author: AMIN Ben Ramdhane <amin.benramdhane@pivasoftware.com>
|
||||
|
||||
UCI_GET_BBFDM="/sbin/uci -q -c /etc/bbfdm get"
|
||||
UCI_SET_BBFDM="/sbin/uci -q -c /etc/bbfdm set"
|
||||
UCI_COMMIT_BBFDM="/sbin/uci -q -c /etc/bbfdm commit"
|
||||
|
||||
ipping_get() {
|
||||
local val=`$UCI_GET_BBFDM $1`
|
||||
echo ${val:-$2}
|
||||
}
|
||||
source /usr/share/bbfdm/bbf_uci_api
|
||||
|
||||
ipping_error()
|
||||
{
|
||||
local cnt=`ipping_get dmmap_diagnostics.ipping.NumberOfRepetitions 3`
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.ipping.SuccessCount=0
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.ipping.FailureCount=$cnt
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.ipping.AverageResponseTime=0
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.ipping.MinimumResponseTime=9999
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.ipping.MaximumResponseTime=0
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.ipping.AverageResponseTimeDetailed=0
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.ipping.MinimumResponseTimeDetailed=999999999
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.ipping.MaximumResponseTimeDetailed=0
|
||||
$UCI_COMMIT_BBFDM
|
||||
local cnt=`uci_get_bbf_dmmap dmmap_diagnostics.ipping.NumberOfRepetitions 3`
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.SuccessCount=0
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.FailureCount=$cnt
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.AverageResponseTime=0
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.MinimumResponseTime=9999
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.MaximumResponseTime=0
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.AverageResponseTimeDetailed=0
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.MinimumResponseTimeDetailed=999999999
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.MaximumResponseTimeDetailed=0
|
||||
$UCI_COMMIT_BBF_DMMAP
|
||||
}
|
||||
|
||||
ipping_launch() {
|
||||
local i proto device res ba stc times sc1 success_count failure_count min_time avg_time max_time avg_time_sum min max micros avg_time_det min_time_det max_time_det avg_time_sum_det min_det max_det
|
||||
local host=`ipping_get dmmap_diagnostics.ipping.Host`
|
||||
local cnt=`ipping_get dmmap_diagnostics.ipping.NumberOfRepetitions 3`
|
||||
local dsize=`ipping_get dmmap_diagnostics.ipping.DataBlockSize 64`
|
||||
local timeout=`ipping_get dmmap_diagnostics.ipping.Timeout 1000`
|
||||
local interface=`ipping_get dmmap_diagnostics.ipping.interface`
|
||||
local protocol=`ipping_get dmmap_diagnostics.ipping.ProtocolVersion Any`
|
||||
local host=`uci_get_bbf_dmmap dmmap_diagnostics.ipping.Host`
|
||||
local cnt=`uci_get_bbf_dmmap dmmap_diagnostics.ipping.NumberOfRepetitions 3`
|
||||
local dsize=`uci_get_bbf_dmmap dmmap_diagnostics.ipping.DataBlockSize 64`
|
||||
local timeout=`uci_get_bbf_dmmap dmmap_diagnostics.ipping.Timeout 1000`
|
||||
local interface=`uci_get_bbf_dmmap dmmap_diagnostics.ipping.interface`
|
||||
local protocol=`uci_get_bbf_dmmap dmmap_diagnostics.ipping.ProtocolVersion Any`
|
||||
[ ! -z "$interface" ] && device=`ifstatus $interface | jsonfilter -e @.device` && device="-I $device" || device=""
|
||||
if [ "$protocol" == "IPv4" ]; then proto="-4"; elif [ "$protocol" == "IPv6" ]; then proto="-6"; else proto=""; fi
|
||||
[ "$host" = "" ] && return
|
||||
|
|
@ -53,11 +46,11 @@ ipping_launch() {
|
|||
let i++
|
||||
res=$(ping -q $proto -c 1 -s $dsize -W $timeout $device $host 2>&1)
|
||||
ba=`echo "$res" | grep "bad address"`
|
||||
[ -n "$ba" ] && { $UCI_SET_BBFDM dmmap_diagnostics.ipping.DiagnosticState=Error_CannotResolveHostName; ipping_error; return; }
|
||||
[ -n "$ba" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.DiagnosticState=Error_CannotResolveHostName; ipping_error; return; }
|
||||
ba=`echo "$res" | grep "unknown host"`
|
||||
[ -n "$ba" ] && { $UCI_SET_BBFDM dmmap_diagnostics.ipping.DiagnosticState=Error_CannotResolveHostName; ipping_error; return; }
|
||||
[ -n "$ba" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.DiagnosticState=Error_CannotResolveHostName; ipping_error; return; }
|
||||
stc=`echo "$res" | grep "received"`
|
||||
[ -z "$stc" ] && { $UCI_SET_BBFDM dmmap_diagnostics.ipping.DiagnosticState=Error_Other; ipping_error; return; }
|
||||
[ -z "$stc" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.DiagnosticState=Error_Other; ipping_error; return; }
|
||||
times=`echo "$res" | grep "min/avg/max"`
|
||||
[ -z "$times" ] && continue
|
||||
sc1=`echo $stc | awk '{print $4}'`
|
||||
|
|
@ -91,24 +84,24 @@ ipping_launch() {
|
|||
max_time=$(awk "BEGIN{print int($max / 1000)}")
|
||||
min_time_det=$min_det
|
||||
max_time_det=$max_det
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.ipping.DiagnosticState=Complete
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.ipping.SuccessCount=$success_count
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.ipping.FailureCount=$failure_count
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.ipping.AverageResponseTime=$avg_time
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.ipping.MinimumResponseTime=$min_time
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.ipping.MaximumResponseTime=$max_time
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.ipping.AverageResponseTimeDetailed=$avg_time_det
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.ipping.MinimumResponseTimeDetailed=$min_time_det
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.ipping.MaximumResponseTimeDetailed=$max_time_det
|
||||
$UCI_COMMIT_BBFDM
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.DiagnosticState=Complete
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.SuccessCount=$success_count
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.FailureCount=$failure_count
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.AverageResponseTime=$avg_time
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.MinimumResponseTime=$min_time
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.MaximumResponseTime=$max_time
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.AverageResponseTimeDetailed=$avg_time_det
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.MinimumResponseTimeDetailed=$min_time_det
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.MaximumResponseTimeDetailed=$max_time_det
|
||||
$UCI_COMMIT_BBF_DMMAP
|
||||
}
|
||||
|
||||
ipping_stop_diagnostic() {
|
||||
local pids=`ps | grep ipping_launch | grep -v grep | awk '{print $1}'`
|
||||
if [ -n "$pids" ]; then
|
||||
kill -9 $pids &>/dev/null
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.ipping.DiagnosticState=None
|
||||
$UCI_COMMIT_BBFDM
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.ipping.DiagnosticState=None
|
||||
$UCI_COMMIT_BBF_DMMAP
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
|||
49
scripts/nslookup_launch
Normal file → Executable file
49
scripts/nslookup_launch
Normal file → Executable file
|
|
@ -2,25 +2,16 @@
|
|||
# Copyright (C) 2019 iopsys Software Solutions AB
|
||||
# Author: AMIN Ben Ramdhane <amin.benramdhane@pivasoftware.com>
|
||||
|
||||
UCI_GET_BBFDM="/sbin/uci -q -c /etc/bbfdm get"
|
||||
UCI_SET_BBFDM="/sbin/uci -q -c /etc/bbfdm set"
|
||||
UCI_ADD_BBFDM="/sbin/uci -q -c /etc/bbfdm add"
|
||||
UCI_DELETE_BBFDM="/sbin/uci -q -c /etc/bbfdm delete"
|
||||
UCI_COMMIT_BBFDM="/sbin/uci -q -c /etc/bbfdm commit"
|
||||
UCI_SHOW_BBFDM="/sbin/uci -q -c /etc/bbfdm show"
|
||||
LOG_FILE="/tmp/nslookup.log"
|
||||
source /usr/share/bbfdm/bbf_uci_api
|
||||
|
||||
nslookup_get() {
|
||||
local val=`$UCI_GET_BBFDM $1`
|
||||
echo ${val:-$2}
|
||||
}
|
||||
LOG_FILE="/tmp/nslookup.log"
|
||||
|
||||
nslookup_launch() {
|
||||
local i j time1 time2 timeresponse status AnswerType HostNameReturned address dns_server_ip ResponseTime success_count
|
||||
local address=""
|
||||
local hostname=`nslookup_get dmmap_diagnostics.nslookup.HostName`
|
||||
local dnsserver=`nslookup_get dmmap_diagnostics.nslookup.DNSServer`
|
||||
local cnt=`nslookup_get dmmap_diagnostics.nslookup.NumberOfRepetitions 1`
|
||||
local hostname=`uci_get_bbf_dmmap dmmap_diagnostics.nslookup.HostName`
|
||||
local dnsserver=`uci_get_bbf_dmmap dmmap_diagnostics.nslookup.DNSServer`
|
||||
local cnt=`uci_get_bbf_dmmap dmmap_diagnostics.nslookup.NumberOfRepetitions 1`
|
||||
[ "$hostname" = "" ] && return
|
||||
i=0
|
||||
j=0
|
||||
|
|
@ -67,29 +58,29 @@ nslookup_launch() {
|
|||
echo $line | grep 'Non-authoritative' >/dev/null 2>&1 && { AnswerType="NonAuthoritative"; continue; }
|
||||
|
||||
if echo $line | grep '++++++++++++++++++++++' >/dev/null 2>&1; then
|
||||
$UCI_ADD_BBFDM dmmap_diagnostics NSLookupResult
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.@NSLookupResult[$j].Status=$status
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.@NSLookupResult[$j].AnswerType=$AnswerType
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.@NSLookupResult[$j].HostNameReturned=$HostNameReturned
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.@NSLookupResult[$j].IPAddresses=$address
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.@NSLookupResult[$j].DNSServerIP=$dns_server_ip
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.@NSLookupResult[$j].ResponseTime=$ResponseTime
|
||||
$UCI_ADD_BBF_DMMAP dmmap_diagnostics NSLookupResult
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.@NSLookupResult[$j].Status=$status
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.@NSLookupResult[$j].AnswerType=$AnswerType
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.@NSLookupResult[$j].HostNameReturned=$HostNameReturned
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.@NSLookupResult[$j].IPAddresses=$address
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.@NSLookupResult[$j].DNSServerIP=$dns_server_ip
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.@NSLookupResult[$j].ResponseTime=$ResponseTime
|
||||
let j++
|
||||
address=""
|
||||
fi
|
||||
done <${LOG_FILE}
|
||||
rm -f ${LOG_FILE}
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.nslookup.SuccessCount=$success_count
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.nslookup.DiagnosticState=Complete
|
||||
$UCI_COMMIT_BBFDM
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.nslookup.SuccessCount=$success_count
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.nslookup.DiagnosticState=Complete
|
||||
$UCI_COMMIT_BBF_DMMAP
|
||||
}
|
||||
|
||||
delete_all_results() {
|
||||
local j
|
||||
for j in $($UCI_SHOW_BBFDM dmmap_diagnostics | grep "dmmap_diagnostics.@NSLookupResult.*=NSLookupResult"); do
|
||||
$UCI_DELETE_BBFDM dmmap_diagnostics.@NSLookupResult[-1]
|
||||
for j in $($UCI_SHOW_BBF_DMMAP dmmap_diagnostics | grep "dmmap_diagnostics.@NSLookupResult.*=NSLookupResult"); do
|
||||
$UCI_DELETE_BBF_DMMAP dmmap_diagnostics.@NSLookupResult[-1]
|
||||
done
|
||||
$UCI_COMMIT_BBFDM
|
||||
$UCI_COMMIT_BBF_DMMAP
|
||||
}
|
||||
|
||||
nslookup_stop_diagnostic() {
|
||||
|
|
@ -97,8 +88,8 @@ nslookup_stop_diagnostic() {
|
|||
local pids=`ps | grep nslookup_launch | grep -v grep | awk '{print $1}'`
|
||||
if [ -n "$pids" ]; then
|
||||
kill -9 $pids &>/dev/null
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.nslookup.DiagnosticState=None
|
||||
$UCI_COMMIT_BBFDM
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.nslookup.DiagnosticState=None
|
||||
$UCI_COMMIT_BBF_DMMAP
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
|||
49
scripts/serverselection_launch
Normal file → Executable file
49
scripts/serverselection_launch
Normal file → Executable file
|
|
@ -2,25 +2,18 @@
|
|||
# Copyright (C) 2019 iopsys Software Solutions AB
|
||||
# Author: AMIN Ben Ramdhane <amin.benramdhane@pivasoftware.com>
|
||||
|
||||
UCI_GET_BBFDM="/sbin/uci -q -c /etc/bbfdm get"
|
||||
UCI_SET_BBFDM="/sbin/uci -q -c /etc/bbfdm set"
|
||||
UCI_COMMIT_BBFDM="/sbin/uci -q -c /etc/bbfdm commit"
|
||||
|
||||
serverselection_get() {
|
||||
local val=`$UCI_GET_BBFDM $1`
|
||||
echo ${val:-$2}
|
||||
}
|
||||
source /usr/share/bbfdm/bbf_uci_api
|
||||
|
||||
serverselection_launch() {
|
||||
local i proto device res ba stc times sc1 success_count min_time avg_time max_time avg_time_sum min max micros
|
||||
local fasthost avg_time_host min_time_host max_time_host
|
||||
local hostlist=`serverselection_get dmmap_diagnostics.serverselection.HostList`
|
||||
local cnt=`serverselection_get dmmap_diagnostics.serverselection.NumberOfRepetitions 3`
|
||||
local timeout=`serverselection_get dmmap_diagnostics.serverselection.Timeout 1000`
|
||||
local port=`serverselection_get dmmap_diagnostics.serverselection.port`
|
||||
local interface=`serverselection_get dmmap_diagnostics.serverselection.interface`
|
||||
local protoversion=`serverselection_get dmmap_diagnostics.serverselection.ProtocolVersion Any`
|
||||
local protocol=`serverselection_get dmmap_diagnostics.serverselection.Protocol ICMP`
|
||||
local hostlist=`uci_get_bbf_dmmap dmmap_diagnostics.serverselection.HostList`
|
||||
local cnt=`uci_get_bbf_dmmap dmmap_diagnostics.serverselection.NumberOfRepetitions 3`
|
||||
local timeout=`uci_get_bbf_dmmap dmmap_diagnostics.serverselection.Timeout 1000`
|
||||
local port=`uci_get_bbf_dmmap dmmap_diagnostics.serverselection.port`
|
||||
local interface=`uci_get_bbf_dmmap dmmap_diagnostics.serverselection.interface`
|
||||
local protoversion=`uci_get_bbf_dmmap dmmap_diagnostics.serverselection.ProtocolVersion Any`
|
||||
local protocol=`uci_get_bbf_dmmap dmmap_diagnostics.serverselection.Protocol ICMP`
|
||||
if [ "$protoversion" == "IPv4" ]; then proto="-4"; elif [ "$protoversion" == "IPv6" ]; then proto="-6"; else proto=""; fi
|
||||
[ "$hostlist" = "" ] && return
|
||||
timeout=$((timeout/1000))
|
||||
|
|
@ -40,11 +33,11 @@ serverselection_launch() {
|
|||
let i++
|
||||
res=$(ping -q $proto -c 1 -W $timeout $device $host 2>&1)
|
||||
ba=`echo "$res" | grep "bad address"`
|
||||
[ -n "$ba" ] && { $UCI_SET_BBFDM dmmap_diagnostics.serverselection.DiagnosticState=Error_CannotResolveHostName; $UCI_COMMIT_BBFDM; break; }
|
||||
[ -n "$ba" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.serverselection.DiagnosticState=Error_CannotResolveHostName; $UCI_COMMIT_BBF_DMMAP; break; }
|
||||
ba=`echo "$res" | grep "unknown host"`
|
||||
[ -n "$ba" ] && { $UCI_SET_BBFDM dmmap_diagnostics.serverselection.DiagnosticState=Error_CannotResolveHostName; $UCI_COMMIT_BBFDM; break; }
|
||||
[ -n "$ba" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.serverselection.DiagnosticState=Error_CannotResolveHostName; $UCI_COMMIT_BBF_DMMAP; break; }
|
||||
stc=`echo "$res" | grep "received"`
|
||||
[ -z "$stc" ] && { $UCI_SET_BBFDM dmmap_diagnostics.serverselection.DiagnosticState=Error_Other; $UCI_COMMIT_BBFDM; break; }
|
||||
[ -z "$stc" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.serverselection.DiagnosticState=Error_Other; $UCI_COMMIT_BBF_DMMAP; break; }
|
||||
times=`echo "$res" | grep "min/avg/max"`
|
||||
[ -z "$times" ] && break
|
||||
sc1=`echo $stc | awk '{print $4}'`
|
||||
|
|
@ -71,9 +64,9 @@ serverselection_launch() {
|
|||
let i++
|
||||
res=$(nping $proto -c 1 --udp --dest-port $port --data-length 24 $device $host 2>&1)
|
||||
ba=`echo "$res" | grep "RCVD"`
|
||||
[ -z "$ba" ] && { $UCI_SET_BBFDM dmmap_diagnostics.serverselection.DiagnosticState=Error_CannotResolveHostName; $UCI_COMMIT_BBFDM; return; }
|
||||
[ -z "$ba" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.serverselection.DiagnosticState=Error_CannotResolveHostName; $UCI_COMMIT_BBF_DMMAP; return; }
|
||||
stc=`echo "$res" | grep "RCVD" | grep "unreachable"`
|
||||
[ -n "$stc" ] && { $UCI_SET_BBFDM dmmap_diagnostics.serverselection.DiagnosticState=Error_Other; $UCI_COMMIT_BBFDM; return; }
|
||||
[ -n "$stc" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.serverselection.DiagnosticState=Error_Other; $UCI_COMMIT_BBF_DMMAP; return; }
|
||||
times=`echo "$res" | grep "rtt"`
|
||||
[ -z "$times" ] && continue
|
||||
sc1=`echo "$res" | grep "Rcvd" | awk -F': ' '{print $3}' | awk -F'(' '{ print $1 }'`
|
||||
|
|
@ -101,20 +94,20 @@ serverselection_launch() {
|
|||
max=0
|
||||
i=0
|
||||
done
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.serverselection.DiagnosticState=Complete
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.serverselection.FastestHost=$fasthost
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.serverselection.AverageResponseTime=$avg_time_host
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.serverselection.MinimumResponseTime=$min_time_host
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.serverselection.MaximumResponseTime=$max_time_host
|
||||
$UCI_COMMIT_BBFDM
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.serverselection.DiagnosticState=Complete
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.serverselection.FastestHost=$fasthost
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.serverselection.AverageResponseTime=$avg_time_host
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.serverselection.MinimumResponseTime=$min_time_host
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.serverselection.MaximumResponseTime=$max_time_host
|
||||
$UCI_COMMIT_BBF_DMMAP
|
||||
}
|
||||
|
||||
serverselection_stop_diagnostic() {
|
||||
local pids=`ps | grep serverselection_launch | grep -v grep | awk '{print $1}'`
|
||||
if [ -n "$pids" ]; then
|
||||
kill -9 $pids &>/dev/null
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.serverselection.DiagnosticState=None
|
||||
$UCI_COMMIT_BBFDM
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.serverselection.DiagnosticState=None
|
||||
$UCI_COMMIT_BBF_DMMAP
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
|||
52
scripts/traceroute_launch
Normal file → Executable file
52
scripts/traceroute_launch
Normal file → Executable file
|
|
@ -2,27 +2,17 @@
|
|||
# Copyright (C) 2019 iopsys Software Solutions AB
|
||||
# Author: AMIN Ben Ramdhane <amin.benramdhane@pivasoftware.com>
|
||||
|
||||
UCI_GET_BBFDM="/sbin/uci -q -c /etc/bbfdm get"
|
||||
UCI_SET_BBFDM="/sbin/uci -q -c /etc/bbfdm set"
|
||||
UCI_ADD_BBFDM="/sbin/uci -q -c /etc/bbfdm add"
|
||||
UCI_DELETE_BBFDM="/sbin/uci -q -c /etc/bbfdm delete"
|
||||
UCI_COMMIT_BBFDM="/sbin/uci -q -c /etc/bbfdm commit"
|
||||
UCI_SHOW_BBFDM="/sbin/uci -q -c /etc/bbfdm show"
|
||||
|
||||
traceroute_get() {
|
||||
local val=`$UCI_GET_BBFDM $1`
|
||||
echo ${val:-$2}
|
||||
}
|
||||
source /usr/share/bbfdm/bbf_uci_api
|
||||
|
||||
traceroute_launch() {
|
||||
local i proto device res host ip time=0
|
||||
local host=`traceroute_get dmmap_diagnostics.traceroute.Host`
|
||||
local cnt=`traceroute_get dmmap_diagnostics.traceroute.NumberOfTries 3`
|
||||
local dsize=`traceroute_get dmmap_diagnostics.traceroute.DataBlockSize 38`
|
||||
local timeout=`traceroute_get dmmap_diagnostics.traceroute.Timeout 5000`
|
||||
local maxhop=`traceroute_get dmmap_diagnostics.traceroute.MaxHops 30`
|
||||
local interface=`traceroute_get dmmap_diagnostics.traceroute.interface`
|
||||
local protocol=`traceroute_get dmmap_diagnostics.traceroute.ProtocolVersion Any`
|
||||
local host=`uci_get_bbf_dmmap dmmap_diagnostics.traceroute.Host`
|
||||
local cnt=`uci_get_bbf_dmmap dmmap_diagnostics.traceroute.NumberOfTries 3`
|
||||
local dsize=`uci_get_bbf_dmmap dmmap_diagnostics.traceroute.DataBlockSize 38`
|
||||
local timeout=`uci_get_bbf_dmmap dmmap_diagnostics.traceroute.Timeout 5000`
|
||||
local maxhop=`uci_get_bbf_dmmap dmmap_diagnostics.traceroute.MaxHops 30`
|
||||
local interface=`uci_get_bbf_dmmap dmmap_diagnostics.traceroute.interface`
|
||||
local protocol=`uci_get_bbf_dmmap dmmap_diagnostics.traceroute.ProtocolVersion Any`
|
||||
[ ! -z "$interface" ] && device=`ifstatus $interface | jsonfilter -e @.device` && device="-i $device" || device=""
|
||||
if [ "$protocol" == "IPv4" ]; then proto="-4"; elif [ "$protocol" == "IPv6" ]; then proto="-6"; else proto=""; fi
|
||||
[ "$host" = "" ] && return
|
||||
|
|
@ -38,25 +28,25 @@ traceroute_launch() {
|
|||
[ "$i" = "-1" ] && continue;
|
||||
ip=${ip#(}; ip=${ip%)}
|
||||
time=${time%.*}
|
||||
$UCI_ADD_BBFDM dmmap_diagnostics RouteHops
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.@RouteHops[$i].host=$host
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.@RouteHops[$i].ip=$ip
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.@RouteHops[$i].time=$time
|
||||
$UCI_ADD_BBF_DMMAP dmmap_diagnostics RouteHops
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.@RouteHops[$i].host=$host
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.@RouteHops[$i].ip=$ip
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.@RouteHops[$i].time=$time
|
||||
done < /tmp/traceres
|
||||
rm -f /tmp/traceres
|
||||
let i++
|
||||
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.traceroute.DiagnosticState=Complete
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.traceroute.NumberOfHops=$i
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.traceroute.ResponseTime=$($UCI_GET_BBFDM dmmap_diagnostics.@RouteHops[-1].time)
|
||||
$UCI_COMMIT_BBFDM
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.traceroute.DiagnosticState=Complete
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.traceroute.NumberOfHops=$i
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.traceroute.ResponseTime=$($UCI_GET_BBF_DMMAP dmmap_diagnostics.@RouteHops[-1].time)
|
||||
$UCI_COMMIT_BBF_DMMAP
|
||||
}
|
||||
|
||||
delete_all_route_hops() {
|
||||
local j
|
||||
for j in $($UCI_SHOW_BBFDM dmmap_diagnostics | grep "dmmap_diagnostics.@RouteHops.*=RouteHops"); do
|
||||
$UCI_DELETE_BBFDM dmmap_diagnostics.@RouteHops[-1]
|
||||
$UCI_COMMIT_BBFDM
|
||||
for j in $($UCI_SHOW_BBF_DMMAP dmmap_diagnostics | grep "dmmap_diagnostics.@RouteHops.*=RouteHops"); do
|
||||
$UCI_DELETE_BBF_DMMAP dmmap_diagnostics.@RouteHops[-1]
|
||||
$UCI_COMMIT_BBF_DMMAP
|
||||
done
|
||||
}
|
||||
|
||||
|
|
@ -66,8 +56,8 @@ traceroute_stop() {
|
|||
[ -z "$pids" ] && pids=`ps | grep traceroute_launch | grep -v grep | grep -v stop | awk '{print $2}'`
|
||||
if [ -n "$pids" ]; then
|
||||
kill -9 $pids 2>/dev/null
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.traceroute.DiagnosticState=None
|
||||
$UCI_COMMIT_BBFDM
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.traceroute.DiagnosticState=None
|
||||
$UCI_COMMIT_BBF_DMMAP
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
|||
47
scripts/udpecho_launch
Normal file → Executable file
47
scripts/udpecho_launch
Normal file → Executable file
|
|
@ -2,25 +2,18 @@
|
|||
# Copyright (C) 2019 iopsys Software Solutions AB
|
||||
# Author: AMIN Ben Ramdhane <amin.benramdhane@pivasoftware.com>
|
||||
|
||||
UCI_GET_BBFDM="/sbin/uci -q -c /etc/bbfdm get"
|
||||
UCI_SET_BBFDM="/sbin/uci -q -c /etc/bbfdm set"
|
||||
UCI_COMMIT_BBFDM="/sbin/uci -q -c /etc/bbfdm commit"
|
||||
|
||||
udpecho_get() {
|
||||
local val=`$UCI_GET_BBFDM $1`
|
||||
echo ${val:-$2}
|
||||
}
|
||||
source /usr/share/bbfdm/bbf_uci_api
|
||||
|
||||
udpecho_launch() {
|
||||
local i proto device res ba stc times sc1 success_count failure_count min_time avg_time max_time avg_time_sum min max micros
|
||||
local host=`udpecho_get dmmap_diagnostics.udpechodiag.Host`
|
||||
local port=`udpecho_get dmmap_diagnostics.udpechodiag.port`
|
||||
local cnt=`udpecho_get dmmap_diagnostics.udpechodiag.NumberOfRepetitions 1`
|
||||
local dsize=`udpecho_get dmmap_diagnostics.udpechodiag.DataBlockSize 24`
|
||||
local dscp=`udpecho_get dmmap_diagnostics.udpechodiag.DSCP 0`
|
||||
local interface=`udpecho_get dmmap_diagnostics.udpechodiag.interface`
|
||||
local protocol=`udpecho_get dmmap_diagnostics.udpechodiag.ProtocolVersion Any`
|
||||
local inter_time=`udpecho_get dmmap_diagnostics.udpechodiag.InterTransmissionTime 1000`
|
||||
local host=`uci_get_bbf_dmmap dmmap_diagnostics.udpechodiag.Host`
|
||||
local port=`uci_get_bbf_dmmap dmmap_diagnostics.udpechodiag.port`
|
||||
local cnt=`uci_get_bbf_dmmap dmmap_diagnostics.udpechodiag.NumberOfRepetitions 1`
|
||||
local dsize=`uci_get_bbf_dmmap dmmap_diagnostics.udpechodiag.DataBlockSize 24`
|
||||
local dscp=`uci_get_bbf_dmmap dmmap_diagnostics.udpechodiag.DSCP 0`
|
||||
local interface=`uci_get_bbf_dmmap dmmap_diagnostics.udpechodiag.interface`
|
||||
local protocol=`uci_get_bbf_dmmap dmmap_diagnostics.udpechodiag.ProtocolVersion Any`
|
||||
local inter_time=`uci_get_bbf_dmmap dmmap_diagnostics.udpechodiag.InterTransmissionTime 1000`
|
||||
[ ! -z "$interface" ] && device=`ifstatus $interface | jsonfilter -e @.device` && device="-e $device" || device=""
|
||||
if [ "$protocol" == "IPv4" ]; then proto="-4"; elif [ "$protocol" == "IPv6" ]; then proto="-6"; else proto=""; fi
|
||||
local tos=$((dscp<<2))
|
||||
|
|
@ -39,9 +32,9 @@ udpecho_launch() {
|
|||
let i++
|
||||
res=$(nping $proto -c 1 --tos $tos --udp --dest-port $port --data-length $dsize $device $host 2>&1)
|
||||
ba=`echo "$res" | grep "RCVD"`
|
||||
[ -z "$ba" ] && { $UCI_SET_BBFDM dmmap_diagnostics.udpechodiag.DiagnosticState=Error_CannotResolveHostName; $UCI_COMMIT_BBFDM; return; }
|
||||
[ -z "$ba" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.udpechodiag.DiagnosticState=Error_CannotResolveHostName; $UCI_COMMIT_BBF_DMMAP; return; }
|
||||
stc=`echo "$res" | grep "RCVD" | grep "unreachable"`
|
||||
[ -n "$stc" ] && { $UCI_SET_BBFDM dmmap_diagnostics.udpechodiag.DiagnosticState=Error_Other; $UCI_COMMIT_BBFDM; return; }
|
||||
[ -n "$stc" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.udpechodiag.DiagnosticState=Error_Other; $UCI_COMMIT_BBF_DMMAP; return; }
|
||||
times=`echo "$res" | grep "rtt"`
|
||||
[ -z "$times" ] && continue
|
||||
sc1=`echo "$res" | grep "Rcvd" | awk -F': ' '{print $3}' | awk -F'(' '{ print $1 }'`
|
||||
|
|
@ -65,21 +58,21 @@ udpecho_launch() {
|
|||
[ $success_count -gt 0 ] && avg_time=$((avg_time_sum/success_count)) || avg_time=0
|
||||
min_time=$min
|
||||
max_time=$max
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.udpechodiag.DiagnosticState=Complete
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.udpechodiag.SuccessCount=$success_count
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.udpechodiag.FailureCount=$failure_count
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.udpechodiag.AverageResponseTime=$avg_time
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.udpechodiag.MinimumResponseTime=$min_time
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.udpechodiag.MaximumResponseTime=$max_time
|
||||
$UCI_COMMIT_BBFDM
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.udpechodiag.DiagnosticState=Complete
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.udpechodiag.SuccessCount=$success_count
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.udpechodiag.FailureCount=$failure_count
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.udpechodiag.AverageResponseTime=$avg_time
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.udpechodiag.MinimumResponseTime=$min_time
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.udpechodiag.MaximumResponseTime=$max_time
|
||||
$UCI_COMMIT_BBF_DMMAP
|
||||
}
|
||||
|
||||
udpecho_stop_diagnostic() {
|
||||
local pids=`ps | grep udpecho_launch | grep -v grep | awk '{print $1}'`
|
||||
if [ -n "$pids" ]; then
|
||||
kill -9 $pids &>/dev/null
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.udpechodiag.DiagnosticState=None
|
||||
$UCI_COMMIT_BBFDM
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.udpechodiag.DiagnosticState=None
|
||||
$UCI_COMMIT_BBF_DMMAP
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
|||
62
scripts/upload_launch
Normal file → Executable file
62
scripts/upload_launch
Normal file → Executable file
|
|
@ -3,27 +3,19 @@
|
|||
# Author: IMEN Bhiri <imen.bhiri@pivasoftware.com>
|
||||
# Author: AMIN Ben Ramdhane <amin.benramdhane@pivasoftware.com>
|
||||
|
||||
UCI_GET_BBFDM="/sbin/uci -q -c /etc/bbfdm get"
|
||||
UCI_SET_BBFDM="/sbin/uci -q -c /etc/bbfdm set"
|
||||
UCI_ADD_BBFDM="/sbin/uci -q -c /etc/bbfdm add"
|
||||
UCI_DELETE_BBFDM="/sbin/uci -q -c /etc/bbfdm delete"
|
||||
UCI_COMMIT_BBFDM="/sbin/uci -q -c /etc/bbfdm commit"
|
||||
source /usr/share/bbfdm/bbf_uci_api
|
||||
|
||||
CAPTURE_FILE="/tmp/upload_dump"
|
||||
UPLOAD_DIAGNOSTIC_FILE="/tmp/bbfdm_upload_diagnostic"
|
||||
CONNECTION_TIMEOUT=20
|
||||
|
||||
upload_get() {
|
||||
local val=`$UCI_GET_BBFDM $1`
|
||||
echo ${val:-$2}
|
||||
}
|
||||
|
||||
upload_launch() {
|
||||
local proto tx_bytes_before rx_bytes_before time1 tx_bytes_after rx_bytes_after time2 res ba stc periodtime
|
||||
local url=$1
|
||||
local device=$2
|
||||
local size=$3
|
||||
[ "$url" = "" ] && { $UCI_SET_BBFDM dmmap_diagnostics.upload.DiagnosticState=Error_InitConnectionFailed; $UCI_COMMIT_BBFDM; return; }
|
||||
local protocol=`upload_get dmmap_diagnostics.upload.ProtocolVersion Any`
|
||||
[ "$url" = "" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.upload.DiagnosticState=Error_InitConnectionFailed; $UCI_COMMIT_BBF_DMMAP; return; }
|
||||
local protocol=`uci_get_bbf_dmmap dmmap_diagnostics.upload.ProtocolVersion Any`
|
||||
if [ "$protocol" == "IPv4" ]; then proto="-4"; elif [ "$protocol" == "IPv6" ]; then proto="-6"; else proto=""; fi
|
||||
# Disable acceleration on Broadcom devices to capture all packets with tcpdump
|
||||
[ -e /usr/sbin/fcctl ] && { fcctl disable >/dev/null 2>&1; fcctl flush >/dev/null 2>&1; }
|
||||
|
|
@ -40,11 +32,11 @@ upload_launch() {
|
|||
tx_bytes_after=`ubus call network.device status "{'name':'$device'}" | jsonfilter -e @.statistics.tx_bytes`
|
||||
rx_bytes_after=`ubus call network.device status "{'name':'$device'}" | jsonfilter -e @.statistics.rx_bytes`
|
||||
ba=`echo "$res" | grep "bad address"`
|
||||
[ -n "$ba" ] && { $UCI_SET_BBFDM dmmap_diagnostics.upload.DiagnosticState=Error_InitConnectionFailed; $UCI_COMMIT_BBFDM; kill $PID &> /dev/null; return; }
|
||||
[ -n "$ba" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.upload.DiagnosticState=Error_InitConnectionFailed; $UCI_COMMIT_BBF_DMMAP; kill $PID &> /dev/null; return; }
|
||||
stc=`echo "$res" | grep "404 Not Found"`
|
||||
[ -n "$stc" ] && { $UCI_SET_BBFDM dmmap_diagnostics.upload.DiagnosticState=Error_NoResponse; $UCI_COMMIT_BBFDM; kill $PID &> /dev/null; return; }
|
||||
[ -n "$stc" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.upload.DiagnosticState=Error_NoResponse; $UCI_COMMIT_BBF_DMMAP; kill $PID &> /dev/null; return; }
|
||||
stc=`echo "$res" |sed -n 3p|awk '{print $13}'`
|
||||
[ "$stc" != "100" ] && { $UCI_SET_BBFDM dmmap_diagnostics.upload.DiagnosticState=Error_TransferFailed; $UCI_COMMIT_BBFDM; kill $PID &> /dev/null; return; }
|
||||
[ "$stc" != "100" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.upload.DiagnosticState=Error_TransferFailed; $UCI_COMMIT_BBF_DMMAP; kill $PID &> /dev/null; return; }
|
||||
elif [ ${url:0:6} = ftp:// ]; then
|
||||
#add user and pass if they exist
|
||||
substr="@"
|
||||
|
|
@ -59,32 +51,32 @@ upload_launch() {
|
|||
tx_bytes_after=`ubus call network.device status "{'name':'$device'}" | jsonfilter -e @.statistics.tx_bytes`
|
||||
rx_bytes_after=`ubus call network.device status "{'name':'$device'}" | jsonfilter -e @.statistics.rx_bytes`
|
||||
ba=`echo "$res" | grep "Couldn't resolve host"`
|
||||
[ -n "$ba" ] && { $UCI_SET_BBFDM dmmap_diagnostics.upload.DiagnosticState=Error_InitConnectionFailed; $UCI_COMMIT_BBFDM; kill $PID 2> /dev/null; return; }
|
||||
[ -n "$ba" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.upload.DiagnosticState=Error_InitConnectionFailed; $UCI_COMMIT_BBF_DMMAP; kill $PID 2> /dev/null; return; }
|
||||
stc=`echo "$res" | grep "Access denied"`
|
||||
[ -n "$stc" ] && { $UCI_SET_BBFDM dmmap_diagnostics.upload.DiagnosticState=Error_LoginFailed; $UCI_COMMIT_BBFDM; kill $PID 2> /dev/null; return; }
|
||||
[ -n "$stc" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.upload.DiagnosticState=Error_LoginFailed; $UCI_COMMIT_BBF_DMMAP; kill $PID 2> /dev/null; return; }
|
||||
stc=`echo "$res" | grep "Failed FTP upload"`
|
||||
[ -n "$stc" ] && { $UCI_SET_BBFDM dmmap_diagnostics.upload.DiagnosticState=Error_NoResponse; $UCI_COMMIT_BBFDM; kill $PID 2> /dev/null; return; }
|
||||
[ -n "$stc" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.upload.DiagnosticState=Error_NoResponse; $UCI_COMMIT_BBF_DMMAP; kill $PID 2> /dev/null; return; }
|
||||
stc=`echo "$res" |tail -n 1 |awk '{print $(NF-11)}'`
|
||||
[ "$stc" != "100" ] && { $UCI_SET_BBFDM dmmap_diagnostics.upload.DiagnosticState=Error_TransferFailed; $UCI_COMMIT_BBFDM; kill $PID 2> /dev/null; return; }
|
||||
[ "$stc" != "100" ] && { $UCI_SET_BBF_DMMAP dmmap_diagnostics.upload.DiagnosticState=Error_TransferFailed; $UCI_COMMIT_BBF_DMMAP; kill $PID 2> /dev/null; return; }
|
||||
fi
|
||||
tx_bytes=$((tx_bytes_after-tx_bytes_before))
|
||||
rx_bytes=$((rx_bytes_after-rx_bytes_before))
|
||||
periodtime=$(($((time2-time1))*1000000))
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.upload.DiagnosticState=Complete
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.upload.TestBytesSent=$size
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.upload.TotalBytesReceived=$rx_bytes
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.upload.TotalBytesSent=$tx_bytes
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.upload.PeriodOfFullLoading=$periodtime
|
||||
local perconnection=`$UCI_GET_BBFDM dmmap_diagnostics.upload.EnablePerConnection`
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.upload.DiagnosticState=Complete
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.upload.TestBytesSent=$size
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.upload.TotalBytesReceived=$rx_bytes
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.upload.TotalBytesSent=$tx_bytes
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.upload.PeriodOfFullLoading=$periodtime
|
||||
local perconnection=`$UCI_GET_BBF_DMMAP dmmap_diagnostics.upload.EnablePerConnection`
|
||||
if ([ "$perconnection" == "true" ] || [ "$perconnection" == "1" ]); then
|
||||
$UCI_ADD_BBFDM dmmap_diagnostics UploadPerConnection
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.@UploadPerConnection[0].TestBytesSent=$size
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.@UploadPerConnection[0].TotalBytesReceived=$rx_bytes
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.@UploadPerConnection[0].TotalBytesSent=$tx_bytes
|
||||
$UCI_ADD_BBF_DMMAP dmmap_diagnostics UploadPerConnection
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.@UploadPerConnection[0].TestBytesSent=$size
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.@UploadPerConnection[0].TotalBytesReceived=$rx_bytes
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.@UploadPerConnection[0].TotalBytesSent=$tx_bytes
|
||||
else
|
||||
$UCI_DELETE_BBFDM dmmap_diagnostics.@UploadPerConnection[0]
|
||||
$UCI_DELETE_BBF_DMMAP dmmap_diagnostics.@UploadPerConnection[0]
|
||||
fi
|
||||
$UCI_COMMIT_BBFDM
|
||||
$UCI_COMMIT_BBF_DMMAP
|
||||
rm ${UPLOAD_DIAGNOSTIC_FILE} &>/dev/null
|
||||
sleep 3
|
||||
local pids=`ps | grep $PID`
|
||||
|
|
@ -94,11 +86,11 @@ upload_launch() {
|
|||
}
|
||||
|
||||
upload_stop_diagnostic() {
|
||||
$UCI_DELETE_BBFDM dmmap_diagnostics.@UploadPerConnection[0]
|
||||
$UCI_DELETE_BBF_DMMAP dmmap_diagnostics.@UploadPerConnection[0]
|
||||
local pids=`ps | grep upload_launch.*run | grep -v grep | awk '{print $1}'`
|
||||
if [ -n "$pids" ]; then
|
||||
kill -9 $pids &>/dev/null
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.upload.DiagnosticState=None
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.upload.DiagnosticState=None
|
||||
fi
|
||||
local pids=`ps | grep upload_launch.*run | grep -v grep | awk '{print $1}'`
|
||||
if [ -n "$pids" ]; then
|
||||
|
|
@ -107,9 +99,9 @@ upload_stop_diagnostic() {
|
|||
kill -9 $kid &>/dev/null
|
||||
done
|
||||
kill -9 $pids &>/dev/null
|
||||
$UCI_SET_BBFDM dmmap_diagnostics.upload.DiagnosticState=None
|
||||
$UCI_SET_BBF_DMMAP dmmap_diagnostics.upload.DiagnosticState=None
|
||||
fi
|
||||
$UCI_COMMIT_BBFDM
|
||||
$UCI_COMMIT_BBF_DMMAP
|
||||
}
|
||||
|
||||
if [ "$1" == "run" ] ; then
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue