Compare commits
3 Commits
network_to
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| f58ffedef9 | |||
| 360db73a09 | |||
| 6d2fd44dba |
@@ -1,11 +1,13 @@
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
Network Tools V 1.1.4 - A. GIBERT - 2026/04/13
|
||||
Network Tools V 1.2.0 - A. GIBERT - 2026/04/xx
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
- Add rx3-network.minotaur config file,
|
||||
- Add missing etc/sudoers.d/rx3-network config file,
|
||||
- Minor config files update,
|
||||
- Last release of the 1.1.x branch.
|
||||
- Split repository to remove the Rx3 configuration part and push it to rx3-config repo,
|
||||
- Switch this repository to public,
|
||||
- Migrate Network Tools to the new Rx3 Base Bash library,
|
||||
- Add RPM Spec & bash completion files,
|
||||
- Move install dir form /usr/locla to usr,
|
||||
- Support now rx3-base 1.1.1.
|
||||
|
||||
|
||||
|
||||
|
||||
91
etc/bash_completion.d/rx3_net_adm
Normal file
91
etc/bash_completion.d/rx3_net_adm
Normal file
@@ -0,0 +1,91 @@
|
||||
#!/bin/bash
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
#
|
||||
# Rx3 Net Adm Bash Completion
|
||||
#
|
||||
# Copyright (C) 2025-2026 Arnaud G. GIBERT
|
||||
# mailto:arnaud@rx3.net
|
||||
#
|
||||
# This is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published
|
||||
# by the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; If not, see
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Rx3 Net Adm Completion
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
_rx3_net_adm_completion()
|
||||
{
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
local prev="${COMP_WORDS[COMP_CWORD-1]}"
|
||||
local opts="-h --help -V --version -v --verbose"
|
||||
|
||||
local pos=0
|
||||
local i
|
||||
|
||||
COMPREPLY=()
|
||||
|
||||
# Count non-option positional arguments already provided
|
||||
for (( i=1; i<COMP_CWORD; i++ ))
|
||||
do
|
||||
case "${COMP_WORDS[i]}" in
|
||||
-h|--help|-V|--version|-v|--verbose)
|
||||
;;
|
||||
--)
|
||||
;;
|
||||
-*)
|
||||
;;
|
||||
*)
|
||||
pos=$(( pos + 1 ))
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Complete options if current word starts with '-'
|
||||
if [[ "${cur}" == -* ]]
|
||||
then
|
||||
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Complete positional arguments
|
||||
case "${pos}" in
|
||||
0)
|
||||
COMPREPLY=( $(compgen -W "start stop restart status dump table_set refresh_address" -- "${cur}") )
|
||||
;;
|
||||
1)
|
||||
case "${prev}" in
|
||||
table_set)
|
||||
COMPREPLY=( $(compgen -W "$(network_dst_tab_dump | grep -oP 'Name.*: \[\K[^\]]+')" -- "${cur}") )
|
||||
;;
|
||||
refresh_address)
|
||||
COMPREPLY=( $(compgen -W "$(network_dst_tab_dump | grep -oP 'Name.*: \[\K[^\]]+')" -- "${cur}") )
|
||||
;;
|
||||
*)
|
||||
COMPREPLY=()
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
COMPREPLY=()
|
||||
;;
|
||||
esac
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
|
||||
|
||||
complete -o filenames -F _rx3_net_adm_completion rx3_net_adm
|
||||
@@ -1,28 +1,48 @@
|
||||
#!/bin/bash
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
#
|
||||
# Rx3 DNS Library
|
||||
#
|
||||
# Copyright (C) 2025-2026 Arnaud G. GIBERT
|
||||
# mailto:arnaud@rx3.net
|
||||
#
|
||||
# This is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published
|
||||
# by the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this program; If not, see
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
if [[ "${DNS_BASH}" != "" ]]
|
||||
if [[ "${RX3_DNS_LIB}" != "" ]]
|
||||
then
|
||||
return
|
||||
else
|
||||
declare -g DNS_BASH=1
|
||||
declare -g RX3_DNS_LIB=1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Includes
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
if [[ -e /usr/local/lib/default.bash ]]
|
||||
then
|
||||
. /usr/local/lib/default.bash
|
||||
else
|
||||
. /usr/global/lib/default.bash
|
||||
fi
|
||||
: "${RX3_LIB_DIR:=/usr/lib/rx3}"
|
||||
. "${RX3_LIB_DIR}/base.bash"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Global Variable
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -1,23 +1,48 @@
|
||||
#!/bin/bash
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
#
|
||||
# Rx3 Network Library
|
||||
#
|
||||
# Copyright (C) 2025-2026 Arnaud G. GIBERT
|
||||
# mailto:arnaud@rx3.net
|
||||
#
|
||||
# This is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published
|
||||
# by the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this program; If not, see
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
if [[ "${NETWORK_BASH}" != "" ]]
|
||||
if [[ "${RX3_NETWORK_LIB}" != "" ]]
|
||||
then
|
||||
return
|
||||
else
|
||||
declare -g NETWORK_BASH=1
|
||||
declare -g RX3_NETWORK_LIB=1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Includes
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
. /usr/local/lib/dns.bash
|
||||
: "${RX3_LIB_DIR:=/usr/lib/rx3}"
|
||||
. "${RX3_LIB_DIR}/dns.bash"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Global Variable
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -119,7 +144,7 @@ num_to_ip()
|
||||
# Optional safety check
|
||||
if (( num < 0 || num > 4294967295 ))
|
||||
then
|
||||
echo "num_to_ip: value out of range (0‑4294967295)" >&2
|
||||
echo_error "num_to_ip: value out of range (0‑4294967295)"
|
||||
return 1
|
||||
fi
|
||||
|
||||
@@ -699,7 +724,7 @@ network_src_tab_load()
|
||||
|
||||
if [[ " ${NETWORK_TABLE_LIST} " != *" ${nstl_table} "* ]]
|
||||
then
|
||||
err_echo "Invalid table number: [${nstl_table}] in network src entry: [${nstl_id}]!"
|
||||
echo_error "Invalid table number: [${nstl_table}] in network src entry: [${nstl_id}]!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -1094,13 +1119,13 @@ network_table_set()
|
||||
|
||||
if [[ "${src_id}" == "" ]]
|
||||
then
|
||||
err_echo "IP not found: [${nts_ip}]!"
|
||||
echo_error "IP not found: [${nts_ip}]!"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [[ " ${NETWORK_TABLE_LIST} " != *" ${nts_table} "* ]]
|
||||
then
|
||||
err_echo "Table not found: [${nts_table}]!"
|
||||
echo_error "Table not found: [${nts_table}]!"
|
||||
return 1
|
||||
fi
|
||||
|
||||
@@ -1,23 +1,48 @@
|
||||
#!/bin/bash
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
#
|
||||
# Rx3 VPN Library
|
||||
#
|
||||
# Copyright (C) 2025-2026 Arnaud G. GIBERT
|
||||
# mailto:arnaud@rx3.net
|
||||
#
|
||||
# This is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published
|
||||
# by the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this program; If not, see
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
if [[ "${VPN_BASH}" != "" ]]
|
||||
if [[ "${RX3_VPN_LIB}" != "" ]]
|
||||
then
|
||||
return
|
||||
else
|
||||
declare -g VPN_BASH=1
|
||||
declare -g RX3_VPN_LIB=1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Includes
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
. /usr/local/lib/network.bash
|
||||
: "${RX3_LIB_DIR:=/usr/lib/rx3}"
|
||||
. "${RX3_LIB_DIR}/network.bash"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Global Variable
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -1,185 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
RETVAL=0
|
||||
prog="rx3-net"
|
||||
|
||||
#DEBUG=""
|
||||
#DEBUG="echo"
|
||||
#DEBUG=":"
|
||||
|
||||
#LOG=":"
|
||||
#LOG="echo"
|
||||
|
||||
|
||||
|
||||
# Includes
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
. /usr/local/lib/network.bash
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# Start
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
start()
|
||||
{
|
||||
echo "Starting..."
|
||||
|
||||
if [ -r /var/lock/subsys/rx3-net ]
|
||||
then
|
||||
echo "already started"
|
||||
RETVAL=0
|
||||
else
|
||||
network_start
|
||||
|
||||
RETVAL=$?
|
||||
[ "$RETVAL" = 0 ] && touch /var/lock/subsys/rx3-net
|
||||
fi
|
||||
|
||||
echo
|
||||
}
|
||||
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# Stop
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
stop()
|
||||
{
|
||||
echo "Stopping..."
|
||||
|
||||
if [ -r /var/lock/subsys/rx3-net ]
|
||||
then
|
||||
network_stop
|
||||
|
||||
RETVAL=$?
|
||||
else
|
||||
echo "already stopped"
|
||||
RETVAL=0
|
||||
fi
|
||||
|
||||
[ "$RETVAL" = 0 ] && rm -f /var/lock/subsys/rx3-net
|
||||
|
||||
echo
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# Status
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
status()
|
||||
{
|
||||
network_status
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# Dump
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
dump()
|
||||
{
|
||||
network_tab_dump
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# Table_Set
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
table_set()
|
||||
{
|
||||
echo "Setting ip:$1 table:$2"
|
||||
|
||||
network_table_set $1 $2
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# Address_Refresh
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
address_refresh()
|
||||
{
|
||||
dst_id="$1"
|
||||
|
||||
|
||||
if [[ "${dst_id}" != "" ]]
|
||||
then
|
||||
echo "Refreshing address: [${dst_id}]..."
|
||||
|
||||
network_dst_tab_get ${dst_id}
|
||||
network_dst_address_refresh ${dst_id} ${dst_host_name} ${dst_ip}
|
||||
else
|
||||
echo "Refreshing all address..."
|
||||
|
||||
network_dst_address_refresh_all
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# Main
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_init
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
|
||||
restart)
|
||||
stop
|
||||
sleep 1
|
||||
start
|
||||
;;
|
||||
|
||||
status)
|
||||
status
|
||||
;;
|
||||
|
||||
dump)
|
||||
dump
|
||||
;;
|
||||
|
||||
table_set)
|
||||
table_set $2 $3
|
||||
;;
|
||||
|
||||
refresh_address)
|
||||
address_refresh $2
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|status|dump|table_set|refresh_address}"
|
||||
RETVAL=1
|
||||
;;
|
||||
esac
|
||||
|
||||
network_deinit
|
||||
|
||||
exit $RETVAL
|
||||
312
usr/sbin/rx3_net_adm
Executable file
312
usr/sbin/rx3_net_adm
Executable file
@@ -0,0 +1,312 @@
|
||||
#!/bin/bash
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
#
|
||||
# Rx3 Net Adm
|
||||
#
|
||||
# Copyright (C) 2025-2026 Arnaud G. GIBERT
|
||||
# mailto:arnaud@rx3.net
|
||||
#
|
||||
# This is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published
|
||||
# by the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this program; If not, see
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Includes
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
: "${RX3_LIB_DIR:=/usr/lib/rx3}"
|
||||
. "${RX3_LIB_DIR}/network.bash"
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Global Variables
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
declare -g VERSION="1.0.0"
|
||||
declare -g NAME="rx3_net_adm"
|
||||
declare -g HELP="usage: [-h | --help] | [-V | --version] | [-v | --verbose] {start|stop|restart|status|dump|table_set|refresh_address} [args...]"
|
||||
|
||||
declare -g MODE="DEFAULT"
|
||||
declare -g VERBOSE="FALSE"
|
||||
declare -g DRY_RUN="FALSE"
|
||||
declare -g RETVAL=0
|
||||
declare -g prog="rx3-net"
|
||||
|
||||
declare -g DEBUG=""
|
||||
#declare -g DEBUG="echo"
|
||||
#declare -g DEBUG=":"
|
||||
|
||||
declare -g LOG=""
|
||||
#declare -g LOG=":"
|
||||
#declare -g LOG="echo"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Version Print
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
rna_version_print()
|
||||
{
|
||||
version_print
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Help Print
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
rna_help_print()
|
||||
{
|
||||
rna_version_print
|
||||
help_print
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Arg Parse
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
rna_args_parse()
|
||||
{
|
||||
tmp_args=$(getopt -o hvV --long help,verbose,version -n "${NAME}" -- "$@")
|
||||
|
||||
if [ $? != 0 ]; then echo "Terminating..." >&2; exit 1; fi
|
||||
|
||||
eval set -- "${tmp_args}"
|
||||
|
||||
while true
|
||||
do
|
||||
case "$1" in
|
||||
# Options
|
||||
-h|--help) MODE="EXIT"; rna_help_print; shift;;
|
||||
-V|--version) MODE="EXIT"; rna_version_print; shift;;
|
||||
-v|--verbose) VERBOSE="TRUE"; shift;;
|
||||
|
||||
# End of options
|
||||
--) shift; break;;
|
||||
*) echo "args_parse internal error [$1]!"; exit 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ "${MODE}" != "EXIT" ]]
|
||||
then
|
||||
if [[ "${#}" -lt "1" ]]
|
||||
then
|
||||
MODE="EXIT"
|
||||
|
||||
echo_error "Not enough args!"
|
||||
rna_help_print
|
||||
else
|
||||
case "$1" in
|
||||
start|stop|restart|status|dump|table_set|refresh_address)
|
||||
MODE="$(echo "$1" | tr '[:lower:]' '[:upper:]')"
|
||||
;;
|
||||
*)
|
||||
MODE="EXIT"
|
||||
|
||||
echo_error "Invalid command: [$1]"
|
||||
rna_help_print
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Start
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
rna_start()
|
||||
{
|
||||
echo "Starting..."
|
||||
|
||||
if [ -r /var/lock/subsys/rx3-net ]
|
||||
then
|
||||
echo "already started"
|
||||
RETVAL=0
|
||||
else
|
||||
network_start
|
||||
|
||||
RETVAL=$?
|
||||
[ "${RETVAL}" = 0 ] && touch /var/lock/subsys/rx3-net
|
||||
fi
|
||||
|
||||
echo
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Stop
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
rna_stop()
|
||||
{
|
||||
echo "Stopping..."
|
||||
|
||||
if [ -r /var/lock/subsys/rx3-net ]
|
||||
then
|
||||
network_stop
|
||||
|
||||
RETVAL=$?
|
||||
else
|
||||
echo "already stopped"
|
||||
RETVAL=0
|
||||
fi
|
||||
|
||||
[ "${RETVAL}" = 0 ] && rm -f /var/lock/subsys/rx3-net
|
||||
|
||||
echo
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Status
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
rna_status()
|
||||
{
|
||||
network_status
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Dump
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
rna_dump()
|
||||
{
|
||||
network_tab_dump
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# Table Set
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
rna_table_set()
|
||||
{
|
||||
echo "Setting ip:$1 table:$2"
|
||||
|
||||
network_table_set "$1" "$2"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# Address Refresh
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
rna_address_refresh()
|
||||
{
|
||||
dst_id="$1"
|
||||
|
||||
if [[ "${dst_id}" != "" ]]
|
||||
then
|
||||
echo "Refreshing address: [${dst_id}]..."
|
||||
|
||||
network_dst_tab_get "${dst_id}"
|
||||
network_dst_address_refresh "${dst_id}" "${dst_host_name}" "${dst_ip}"
|
||||
else
|
||||
echo "Refreshing all address..."
|
||||
|
||||
network_dst_address_refresh_all
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Main
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
rna_args_parse "$@"
|
||||
|
||||
if [[ "${MODE}" == "EXIT" ]]
|
||||
then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
network_init
|
||||
|
||||
case "${MODE}" in
|
||||
START)
|
||||
rna_start
|
||||
;;
|
||||
|
||||
STOP)
|
||||
rna_stop
|
||||
;;
|
||||
|
||||
RESTART)
|
||||
rna_stop
|
||||
sleep 1
|
||||
rna_start
|
||||
;;
|
||||
|
||||
STATUS)
|
||||
rna_status
|
||||
;;
|
||||
|
||||
DUMP)
|
||||
rna_dump
|
||||
;;
|
||||
|
||||
TABLE_SET)
|
||||
rna_table_set "$2" "$3"
|
||||
;;
|
||||
|
||||
REFRESH_ADDRESS)
|
||||
rna_address_refresh "$2"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|status|dump|table_set|refresh_address}"
|
||||
RETVAL=1
|
||||
;;
|
||||
esac
|
||||
|
||||
network_deinit
|
||||
|
||||
exit ${RETVAL}
|
||||
Reference in New Issue
Block a user