diff --git a/usr/local/lib/network.bash b/usr/local/lib/network.bash index 70315c3..f251138 100644 --- a/usr/local/lib/network.bash +++ b/usr/local/lib/network.bash @@ -35,6 +35,7 @@ declare -Ag NETWORK_SRC_IP_IDX declare -g NETWORK_DST_TYPE declare -Ag NETWORK_DST_TAB declare -g NETWORK_DST_ID_LIST +declare -Ag NETWORK_DST_NAME_IDX declare -Ag NETWORK_DST_DEV_IDX declare -g NETWORK_CONFIG_FILE="/etc/sysconfig/rx3-network" @@ -44,6 +45,7 @@ declare -g NETWORK_CONFIG_LOCK="/var/lock/network/rx3-network" + file_lock ${NETWORK_CONFIG_LOCK} READ 9 [ -e "${NETWORK_CONFIG_FILE}" ] && . "${NETWORK_CONFIG_FILE}" @@ -332,11 +334,12 @@ network_dst_tab_load() ;; esac - 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},Uptime" "${ndtl_uptime}" + 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},Uptime" "${ndtl_uptime}" - tab_assign NETWORK_DST_DEV_IDX "${ndtl_device}" "${ndtl_id}" + tab_assign NETWORK_DST_NAME_IDX "${ndtl_name}" "${ndtl_id}" + tab_assign NETWORK_DST_DEV_IDX "${ndtl_device}" "${ndtl_id}" ndtl_id=$(( ${ndtl_id} + 1)) fi @@ -383,6 +386,15 @@ network_dst_tab_dump() echo "NETWORK_DST_ID_LIST: [${NETWORK_DST_ID_LIST}]" echo + echo "NETWORK_DST_NAME_IDX:" + + for key in "${!NETWORK_DST_NAME_IDX[@]}" + do + echo "[${key}]: [${NETWORK_DST_NAME_IDX[${key}]}]" + done | sort -n + + echo + echo "NETWORK_DST_DEV_IDX:" for key in "${!NETWORK_DST_DEV_IDX[@]}" @@ -406,6 +418,21 @@ network_dst_tab_dump() +#-------------------------------------------------------------------------------------------------------------------------- +# network_dst_tab_name_lookup +#-------------------------------------------------------------------------------------------------------------------------- + +network_dst_tab_name_lookup() +{ + dst_name="$1" + + dst_id=${NETWORK_DST_NAME_IDX["${dst_name}"]} +} + + + + + #-------------------------------------------------------------------------------------------------------------------------- # network_dst_tab_dev_lookup #-------------------------------------------------------------------------------------------------------------------------- diff --git a/usr/local/lib/vpn.bash b/usr/local/lib/vpn.bash index 4d1771b..82c04a0 100644 --- a/usr/local/lib/vpn.bash +++ b/usr/local/lib/vpn.bash @@ -196,7 +196,7 @@ vpn_job_tab_init() tab_assign VPN_JOB_NAME_IDX "${dst_name}" "${job_id}" - vpn_config_make "${config_file}" "${dst_device}" "${dst_config}" + vpn_config_make "${config_file}" "${dst_device}" "${dst_config}" log_print "${VPN_LOG_FILE}" "${LOG}" "Loading config: Id: [${job_id}] Name: [${dst_name}] Cmd: [${VPN_JOB_TAB["${job_id},Cmd"]}]" @@ -474,23 +474,26 @@ vpn_status() echo "Number of VPN Jobs: (${#VPN_JOB_NAME_IDX[@]})" - echo -e "Id | Name | Status | PId | Date | Command" - echo "--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" + echo -e "Id | Name | Status | PId | Date | IP | Command" + echo "--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" for job_id in ${VPN_JOB_ID_LIST} do vpn_job_tab_get "${job_id}" - + ${DEBUG} kill -0 "${job_pid}" 2>/dev/null rc=$? - + if [[ "${job_pid}" == "0" ]] || [[ $rc != 0 ]] then job_status="Down" else job_status="Up" fi - - printf "%-*s | %-*s | %-*s | %-*s | %-*s | %-*s\n" 8 "${job_id}" 24 "${job_name}" 8 "${job_status}" 8 "${job_pid}" 32 "${job_date}" 8 "${job_cmd}" - done + + network_dst_tab_name_lookup "${job_name}" + network_dst_tab_get "${dst_id}" + + printf "%-*s | %-*s | %-*s | %-*s | %-*s | %-*s | %-*s\n" 8 "${job_id}" 24 "${job_name}" 8 "${job_status}" 8 "${job_pid}" 32 "${job_date}" 15 "${dst_ip}" 8 "${job_cmd}" + done }