diff options
author | Joe Hershberger <joe.hershberger@ni.com> | 2012-07-31 06:06:41 +0000 |
---|---|---|
committer | Joe Hershberger <joe.hershberger@ni.com> | 2012-09-24 13:17:24 -0500 |
commit | 7f51898c1b170e0036e6931a17ada46e2b4fd52e (patch) | |
tree | 7a7d89b028823b905401395dc7dcfc0b5da38761 /tools/netconsole | |
parent | ee1f4caaa2a3f79d692155eec8a4c7289d60e106 (diff) | |
download | u-boot-imx-7f51898c1b170e0036e6931a17ada46e2b4fd52e.zip u-boot-imx-7f51898c1b170e0036e6931a17ada46e2b4fd52e.tar.gz u-boot-imx-7f51898c1b170e0036e6931a17ada46e2b4fd52e.tar.bz2 |
net: Make netconsole src and dest ports configurable
It is desirable to use different port numbers for sending and receiving
packets with netconsole in the case where you have more than one device
on the local subnet with netconsole enabled for broadcast. When they
use the same port for both, any output from one will look like input to
the other. This is typlically not desirable.
This patch allows the input and output ports to be specified separately
in the environment.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'tools/netconsole')
-rwxr-xr-x | tools/netconsole | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/tools/netconsole b/tools/netconsole index c8109bb..1a0ef22 100755 --- a/tools/netconsole +++ b/tools/netconsole @@ -2,7 +2,7 @@ usage() { ( - echo "Usage: $0 <board IP> [board port]" + echo "Usage: $0 <board-IP> [board-port [board-in-port]]" echo "" echo "If port is not specified, '6666' will be used" [ -z "$*" ] && exit 0 @@ -24,9 +24,13 @@ while [ -n "$1" ] ; do done ip=$1 -port=${2:-6666} +board_out_port=${2:-6666} +board_in_port=${3:-${board_out_port}} -if [ -z "${ip}" ] || [ -n "$3" ] ; then +echo Board out port: ${board_out_port} +echo Board in port: ${board_in_port} + +if [ -z "${ip}" ] || [ -n "$4" ] ; then usage "Invalid number of arguments" fi @@ -41,19 +45,19 @@ stty -icanon -echo intr ^T ( if type ncb 2>/dev/null ; then # see if ncb is in $PATH - exec ncb ${port} + exec ncb ${board_out_port} elif [ -x ${0%/*}/ncb ] ; then # maybe it's in the same dir as the netconsole script - exec ${0%/*}/ncb ${port} + exec ${0%/*}/ncb ${board_out_port} else # blah, just use regular netcat - while ${nc} -u -l -p ${port} < /dev/null ; do + while ${nc} -u -l -p ${board_out_port} < /dev/null ; do : done fi ) & pid=$! -${nc} -u ${ip} ${port} +${nc} -u ${ip} ${board_in_port} kill ${pid} 2>/dev/null |