- Contunue gatway support implementation.
This commit is contained in:
@@ -263,6 +263,7 @@ network_ip_route_tab_dump()
|
||||
network_dst_tab_load()
|
||||
{
|
||||
ndtl_id=0
|
||||
vpn_id=0
|
||||
|
||||
|
||||
log_trace "Network" "Loading Dst tab..."
|
||||
@@ -289,45 +290,57 @@ network_dst_tab_load()
|
||||
tab_assign NETWORK_DST_TAB "${ndtl_id},Table" "${ndtl_table}"
|
||||
|
||||
var_assign NETWORK_TABLE_LIST "${ndtl_table}" INC
|
||||
|
||||
tab_assign NETWORK_DST_TAB "${ndtl_id},Status" "$( ip link show dev ${ndtl_device} 2>/dev/null | grep -q ",UP," && echo 1 || echo 0)"
|
||||
|
||||
ndtl_host_name="vpn${ndtl_id}.${NETWORK_DST_NAME}"
|
||||
|
||||
ndtl_status="$( ip link show dev ${ndtl_device} 2>/dev/null | grep -q ",UP," && echo "1" || echo "0")"
|
||||
|
||||
tab_assign NETWORK_DST_TAB "${ndtl_id},Status" "${ndtl_status}"
|
||||
|
||||
|
||||
if [[ "${ndtl_type}" == "1" ]]
|
||||
then
|
||||
ndtl_host_name=""
|
||||
dns_value=""
|
||||
else
|
||||
ndtl_host_name="vpn${vpn_id}.${NETWORK_DST_NAME}"
|
||||
dns_lookup "A" "${ndtl_host_name}" "NOCACHE"
|
||||
vpn_id=$((${vpn_id} + 1))
|
||||
fi
|
||||
|
||||
tab_assign NETWORK_DST_TAB "${ndtl_id},Host_Name" "${ndtl_host_name}"
|
||||
dns_lookup "A" "${ndtl_host_name}" "NOCACHE"
|
||||
tab_assign NETWORK_DST_TAB "${ndtl_id},IP" "${dns_value}"
|
||||
|
||||
case "${ndtl_type}"
|
||||
in
|
||||
"0")
|
||||
set $(ip -s link show ${ndtl_device} 2>/dev/null ) &>/dev/null
|
||||
|
||||
ndtl_bytes_received="$( echo ${27} | numfmt --to=iec-i --suffix=B)"
|
||||
ndtl_bytes_sent="$( echo ${40} | numfmt --to=iec-i --suffix=B)"
|
||||
ndtl_uptime=""
|
||||
;;
|
||||
|
||||
"1")
|
||||
set $( echo "${NETWORK_OPENVPN_STATUS}" | grep ${ndtl_device}) &>/dev/null
|
||||
"0"|"1")
|
||||
ndtl_bytes_received="$( cat /sys/class/net/${ndtl_device}/statistics/rx_bytes 2>/dev/null | numfmt --to=iec-i --suffix=B)"
|
||||
ndtl_bytes_sent="$( cat /sys/class/net/${ndtl_device}/statistics/tx_bytes 2>/dev/null | numfmt --to=iec-i --suffix=B)"
|
||||
;;
|
||||
|
||||
"2")
|
||||
set $( echo "${NETWORK_OPENVPN_STATUS}" | grep ${ndtl_device}'\.') &>/dev/null
|
||||
|
||||
# i=1; while [[ $i -lt 50 ]]; do eval "val=\${$i}"; echo "($i):[${val}]" 1>&2; i=$(( $i + 1)); done
|
||||
|
||||
ndtl_bytes_received="$( echo ${18/bytes,} | numfmt --to=iec-i --suffix=B)"
|
||||
ndtl_bytes_sent="$( echo ${22/bytes,} | numfmt --to=iec-i --suffix=B)"
|
||||
ndtl_start_date="$( grep "ext-client-${ndtl_device}.conf" /var/log/rx3-vpn.status 2>/dev/null | sed -e "s/.*Date: \[//" -e "s/\].*//")"
|
||||
|
||||
if [[ "${ndtl_start_date}" == "" ]]
|
||||
then
|
||||
ndtl_uptime=""
|
||||
else
|
||||
ndtl_uptime=$( echo "$(($(date +%s) - $(date -d "${ndtl_start_date}" +%s)))" | awk '{days = int($1/86400); print days " day" (( days > 1 ) ? "s" : "") strftime(" %H:%M:%S", $1,1)}')
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "${ndtl_status}" == "1" ]]
|
||||
then
|
||||
|
||||
ndtl_start_date="$( stat -c %Z /sys/class/net/${ndtl_device})"
|
||||
ndtl_uptime="$( echo $(( $(date +%s) - ${ndtl_start_date})) | awk '{days = int($1/86400); print days " day" (( days > 1 ) ? "s" : "") strftime(" %H:%M:%S", $1,1)}')"
|
||||
else
|
||||
ndtl_start_date=""
|
||||
ndtl_uptime=""
|
||||
fi
|
||||
|
||||
|
||||
tab_assign NETWORK_DST_TAB "${ndtl_id},Bytes_Received" "${ndtl_bytes_received}"
|
||||
tab_assign NETWORK_DST_TAB "${ndtl_id},Bytes_Sent" "${ndtl_bytes_sent}"
|
||||
tab_assign NETWORK_DST_TAB "${ndtl_id},Start_Date" "${ndtl_start_date}"
|
||||
tab_assign NETWORK_DST_TAB "${ndtl_id},Uptime" "${ndtl_uptime}"
|
||||
|
||||
tab_assign NETWORK_DST_NAME_IDX "${ndtl_name}" "${ndtl_id}"
|
||||
|
||||
Reference in New Issue
Block a user