mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
417 lines
12 KiB
Perl
417 lines
12 KiB
Perl
@c
|
|
@c COPYRIGHT (c) 1988-2008.
|
|
@c On-Line Applications Research Corporation (OAR).
|
|
@c All rights reserved.
|
|
@c
|
|
@c $Id$
|
|
@c
|
|
|
|
@chapter Network Commands
|
|
|
|
@section Introduction
|
|
|
|
The RTEMS shell has the following network commands:
|
|
|
|
@itemize @bullet
|
|
|
|
@item @code{netstats} - obtain network statistics
|
|
@item @code{ifconfig} - configure a network interface
|
|
@item @code{route} - show or manipulate the IP routing table
|
|
|
|
@end itemize
|
|
|
|
@section Commands
|
|
|
|
This section details the Network Commands available. A
|
|
subsection is dedicated to each of the commands and
|
|
describes the behavior and configuration of that
|
|
command as well as providing an example usage.
|
|
@c
|
|
@c
|
|
@c
|
|
@page
|
|
@subsection netstats - obtain network statistics
|
|
|
|
@pgindex netstats
|
|
|
|
@subheading SYNOPSYS:
|
|
|
|
@example
|
|
netstats [-Aimfpcut]
|
|
@end example
|
|
|
|
@subheading DESCRIPTION:
|
|
|
|
This command is used to display various types of network statistics. The
|
|
information displayed can be specified using command line arguments in
|
|
various combinations. The arguments are interpreted as follows:
|
|
|
|
@table @b
|
|
@item -A
|
|
print All statistics
|
|
|
|
@item -i
|
|
print Inet Routes
|
|
|
|
@item -m
|
|
print MBUF Statistics
|
|
|
|
@item -f
|
|
print IF Statistics
|
|
|
|
@item -p
|
|
print IP Statistics
|
|
|
|
@item -c
|
|
print ICMP Statistics
|
|
|
|
@item -u
|
|
print UDP Statistics
|
|
|
|
@item -t
|
|
print TCP Statistics
|
|
|
|
@end table
|
|
|
|
@subheading EXIT STATUS:
|
|
|
|
This command returns 0 on success and non-zero if an error is encountered.
|
|
|
|
@subheading NOTES:
|
|
|
|
NONE
|
|
|
|
@subheading EXAMPLES:
|
|
|
|
The following is an example of how to use @code{netstats}:
|
|
|
|
The following is an example of using the @code{netstats}
|
|
command to print the IP routing table:
|
|
|
|
@smallexample
|
|
[/] $ netstats -i
|
|
Destination Gateway/Mask/Hw Flags Refs Use Expire Interface
|
|
default 192.168.1.14 UGS 0 0 0 eth1
|
|
192.168.1.0 255.255.255.0 U 0 0 1 eth1
|
|
192.168.1.14 00:A0:C8:1C:EE:28 UHL 1 0 1219 eth1
|
|
192.168.1.51 00:1D:7E:0C:D0:7C UHL 0 840 1202 eth1
|
|
192.168.1.151 00:1C:23:B2:0F:BB UHL 1 23 1219 eth1
|
|
@end smallexample
|
|
|
|
The following is an example of using the @code{netstats}
|
|
command to print the MBUF statistics:
|
|
|
|
@smallexample
|
|
[/] $ netstats -m
|
|
************ MBUF STATISTICS ************
|
|
mbufs:2048 clusters: 128 free: 63
|
|
drops: 0 waits: 0 drains: 0
|
|
free:1967 data:79 header:2 socket:0
|
|
pcb:0 rtable:0 htable:0 atable:0
|
|
soname:0 soopts:0 ftable:0 rights:0
|
|
ifaddr:0 control:0 oobdata:0
|
|
@end smallexample
|
|
|
|
The following is an example of using the @code{netstats}
|
|
command to print the print the interface statistics:
|
|
|
|
@smallexample
|
|
[/] $ netstats -f
|
|
************ INTERFACE STATISTICS ************
|
|
***** eth1 *****
|
|
Ethernet Address: 00:04:9F:00:5B:21
|
|
Address:192.168.1.244 Broadcast Address:192.168.1.255 Net mask:255.255.255.0
|
|
Flags: Up Broadcast Running Active Multicast
|
|
Send queue limit:50 length:1 Dropped:0
|
|
Rx Interrupts:889 Not First:0 Not Last:0
|
|
Giant:0 Non-octet:0
|
|
Bad CRC:0 Overrun:0 Collision:0
|
|
Tx Interrupts:867 Deferred:0 Late Collision:0
|
|
Retransmit Limit:0 Underrun:0 Misaligned:0
|
|
@end smallexample
|
|
|
|
The following is an example of using the @code{netstats}
|
|
command to print the print IP statistics:
|
|
|
|
@smallexample
|
|
[/] $ netstats -p
|
|
************ IP Statistics ************
|
|
total packets received 894
|
|
packets rcvd for unreachable dest 13
|
|
datagrams delivered to upper level 881
|
|
total ip packets generated here 871
|
|
|
|
@end smallexample
|
|
|
|
The following is an example of using the @code{netstats}
|
|
command to print the ICMP statistics:
|
|
|
|
@smallexample
|
|
[/] $ netstats -c
|
|
************ ICMP Statistics ************
|
|
Type 0 sent 843
|
|
number of responses 843
|
|
Type 8 received 843
|
|
|
|
@end smallexample
|
|
|
|
The following is an example of using the @code{netstats}
|
|
command to print the UDP statistics:
|
|
|
|
@smallexample
|
|
[/] $ netstats -u
|
|
************ UDP Statistics ************
|
|
|
|
@end smallexample
|
|
|
|
The following is an example of using the @code{netstats}
|
|
command to print the TCP statistics:
|
|
|
|
@smallexample
|
|
[/] $ netstats -t
|
|
************ TCP Statistics ************
|
|
connections accepted 1
|
|
connections established 1
|
|
segs where we tried to get rtt 34
|
|
times we succeeded 35
|
|
delayed acks sent 2
|
|
total packets sent 37
|
|
data packets sent 35
|
|
data bytes sent 2618
|
|
ack-only packets sent 2
|
|
total packets received 47
|
|
packets received in sequence 12
|
|
bytes received in sequence 307
|
|
rcvd ack packets 35
|
|
bytes acked by rcvd acks 2590
|
|
times hdr predict ok for acks 27
|
|
times hdr predict ok for data pkts 10
|
|
@end smallexample
|
|
|
|
@subheading CONFIGURATION:
|
|
|
|
@findex CONFIGURE_SHELL_NO_COMMAND_NETSTATS
|
|
@findex CONFIGURE_SHELL_COMMAND_NETSTATS
|
|
|
|
This command is included in the default shell command set.
|
|
When building a custom command set, define
|
|
@code{CONFIGURE_SHELL_COMMAND_NETSTATS} to have this
|
|
command included.
|
|
|
|
This command can be excluded from the shell command set by
|
|
defining @code{CONFIGURE_SHELL_NO_COMMAND_NETSTATS} when all
|
|
shell commands have been configured.
|
|
|
|
@subheading PROGRAMMING INFORMATION:
|
|
|
|
@findex rtems_shell_rtems_main_netstats
|
|
|
|
The @code{netstats} is implemented by a C language function
|
|
which has the following prototype:
|
|
|
|
@example
|
|
int rtems_shell_rtems_main_netstats(
|
|
int argc,
|
|
char **argv
|
|
);
|
|
@end example
|
|
|
|
The configuration structure for the @code{netstats} has the
|
|
following prototype:
|
|
|
|
@example
|
|
extern rtems_shell_cmd_t rtems_shell_NETSTATS_Command;
|
|
@end example
|
|
|
|
@c
|
|
@c
|
|
@c
|
|
@page
|
|
@subsection ifconfig - configure a network interface
|
|
|
|
@pgindex ifconfig
|
|
|
|
@subheading SYNOPSYS:
|
|
|
|
@example
|
|
ifconfig
|
|
ifconfig interface
|
|
ifconfig interface [up|down]
|
|
ifconfig interface [netmask|pointtopoint|broadcast] IP
|
|
|
|
@end example
|
|
|
|
@subheading DESCRIPTION:
|
|
|
|
This command may be used to display information about the
|
|
network interfaces in the system or configure them.
|
|
|
|
@subheading EXIT STATUS:
|
|
|
|
This command returns 0 on success and non-zero if an error is encountered.
|
|
|
|
@subheading NOTES:
|
|
|
|
Just like its counterpart on GNU/Linux and BSD systems, this command
|
|
is complicated. More example usages would be a welcome submission.
|
|
|
|
@subheading EXAMPLES:
|
|
|
|
The following is an example of how to use @code{ifconfig}:
|
|
|
|
@smallexample
|
|
************ INTERFACE STATISTICS ************
|
|
***** eth1 *****
|
|
Ethernet Address: 00:04:9F:00:5B:21
|
|
Address:192.168.1.244 Broadcast Address:192.168.1.255 Net mask:255.255.255.0
|
|
Flags: Up Broadcast Running Active Multicast
|
|
Send queue limit:50 length:1 Dropped:0
|
|
Rx Interrupts:5391 Not First:0 Not Last:0
|
|
Giant:0 Non-octet:0
|
|
Bad CRC:0 Overrun:0 Collision:0
|
|
Tx Interrupts:5256 Deferred:0 Late Collision:0
|
|
Retransmit Limit:0 Underrun:0 Misaligned:0
|
|
@end smallexample
|
|
|
|
@subheading CONFIGURATION:
|
|
|
|
@findex CONFIGURE_SHELL_NO_COMMAND_IFCONFIG
|
|
@findex CONFIGURE_SHELL_COMMAND_IFCONFIG
|
|
|
|
This command is included in the default shell command set.
|
|
When building a custom command set, define
|
|
@code{CONFIGURE_SHELL_COMMAND_IFCONFIG} to have this
|
|
command included.
|
|
|
|
This command can be excluded from the shell command set by
|
|
defining @code{CONFIGURE_SHELL_NO_COMMAND_IFCONFIG} when all
|
|
shell commands have been configured.
|
|
|
|
@subheading PROGRAMMING INFORMATION:
|
|
|
|
@findex rtems_shell_rtems_main_ifconfig
|
|
|
|
The @code{ifconfig} is implemented by a C language function
|
|
which has the following prototype:
|
|
|
|
@example
|
|
int rtems_shell_rtems_main_ifconfig(
|
|
int argc,
|
|
char **argv
|
|
);
|
|
@end example
|
|
|
|
The configuration structure for the @code{ifconfig} has the
|
|
following prototype:
|
|
|
|
@example
|
|
extern rtems_shell_cmd_t rtems_shell_IFCONFIG_Command;
|
|
@end example
|
|
|
|
@c
|
|
@c
|
|
@c
|
|
@page
|
|
@subsection route - show or manipulate the ip routing table
|
|
|
|
@pgindex route
|
|
|
|
@subheading SYNOPSYS:
|
|
|
|
@example
|
|
route [subcommand] [args]
|
|
@end example
|
|
|
|
@subheading DESCRIPTION:
|
|
|
|
This command is used to display and manipulate the routing table.
|
|
When invoked with no arguments, the current routing information is
|
|
displayed. When invoked with the subcommands @code{add} or @code{del},
|
|
then additional arguments must be provided to describe the route.
|
|
|
|
Command templates include the following:
|
|
|
|
@smallexample
|
|
route [add|del] -net IP_ADDRESS gw GATEWAY_ADDRESS [netmask MASK]
|
|
route [add|del] -host IP_ADDRESS gw GATEWAY_ADDRES [netmask MASK]
|
|
@end smallexample
|
|
|
|
When not provided the netmask defaults to @code{255.255.255.0}
|
|
|
|
@subheading EXIT STATUS:
|
|
|
|
This command returns 0 on success and non-zero if an error is encountered.
|
|
|
|
@subheading NOTES:
|
|
|
|
Just like its counterpart on GNU/Linux and BSD systems, this command
|
|
is complicated. More example usages would be a welcome submission.
|
|
|
|
@subheading EXAMPLES:
|
|
|
|
The following is an example of how to use @code{route} to display,
|
|
add, and delete a new route:
|
|
|
|
@smallexample
|
|
[/] $ route
|
|
Destination Gateway/Mask/Hw Flags Refs Use Expire Interface
|
|
default 192.168.1.14 UGS 0 0 0 eth1
|
|
192.168.1.0 255.255.255.0 U 0 0 1 eth1
|
|
192.168.1.14 00:A0:C8:1C:EE:28 UHL 1 0 1444 eth1
|
|
192.168.1.51 00:1D:7E:0C:D0:7C UHL 0 10844 1202 eth1
|
|
192.168.1.151 00:1C:23:B2:0F:BB UHL 2 37 1399 eth1
|
|
[/] $ route add -net 192.168.3.0 gw 192.168.1.14
|
|
[/] $ route
|
|
Destination Gateway/Mask/Hw Flags Refs Use Expire Interface
|
|
default 192.168.1.14 UGS 0 0 0 eth1
|
|
192.168.1.0 255.255.255.0 U 0 0 1 eth1
|
|
192.168.1.14 00:A0:C8:1C:EE:28 UHL 2 0 1498 eth1
|
|
192.168.1.51 00:1D:7E:0C:D0:7C UHL 0 14937 1202 eth1
|
|
192.168.1.151 00:1C:23:B2:0F:BB UHL 2 96 1399 eth1
|
|
192.168.3.0 192.168.1.14 UGS 0 0 0 eth1
|
|
[/] $ route del -net 192.168.3.0 gw 192.168.1.14
|
|
[/] $ route
|
|
Destination Gateway/Mask/Hw Flags Refs Use Expire Interface
|
|
default 192.168.1.14 UGS 0 0 0 eth1
|
|
192.168.1.0 255.255.255.0 U 0 0 1 eth1
|
|
192.168.1.14 00:A0:C8:1C:EE:28 UHL 1 0 1498 eth1
|
|
192.168.1.51 00:1D:7E:0C:D0:7C UHL 0 15945 1202 eth1
|
|
192.168.1.151 00:1C:23:B2:0F:BB UHL 2 117 1399 eth1
|
|
@end smallexample
|
|
|
|
@subheading CONFIGURATION:
|
|
|
|
@findex CONFIGURE_SHELL_NO_COMMAND_ROUTE
|
|
@findex CONFIGURE_SHELL_COMMAND_ROUTE
|
|
|
|
This command is included in the default shell command set.
|
|
When building a custom command set, define
|
|
@code{CONFIGURE_SHELL_COMMAND_ROUTE} to have this
|
|
command included.
|
|
|
|
This command can be excluded from the shell command set by
|
|
defining @code{CONFIGURE_SHELL_NO_COMMAND_ROUTE} when all
|
|
shell commands have been configured.
|
|
|
|
@subheading PROGRAMMING INFORMATION:
|
|
|
|
@findex rtems_shell_rtems_main_route
|
|
|
|
The @code{route} is implemented by a C language function
|
|
which has the following prototype:
|
|
|
|
@example
|
|
int rtems_shell_rtems_main_route(
|
|
int argc,
|
|
char **argv
|
|
);
|
|
@end example
|
|
|
|
The configuration structure for the @code{route} has the
|
|
following prototype:
|
|
|
|
@example
|
|
extern rtems_shell_cmd_t rtems_shell_ROUTE_Command;
|
|
@end example
|
|
|