summaryrefslogtreecommitdiffstats
path: root/doc/networking/networkapp.t
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-02-05 22:28:17 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-02-05 22:28:17 +0000
commit068d7aa7f1a820dfb2eba78391558db2b2677e57 (patch)
tree789c3c59366e9e962cdaee041bd1fc78926a781f /doc/networking/networkapp.t
parent2008-02-05 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-068d7aa7f1a820dfb2eba78391558db2b2677e57.tar.bz2
2008-02-05 Joel Sherrill <joel.sherrill@oarcorp.com>
* networking/networkapp.t: Add configuration parameters for network stack efficiency multiplier and default socket buffer sizes.
Diffstat (limited to '')
-rw-r--r--doc/networking/networkapp.t67
1 files changed, 62 insertions, 5 deletions
diff --git a/doc/networking/networkapp.t b/doc/networking/networkapp.t
index cf13c42645..b6d27f0566 100644
--- a/doc/networking/networkapp.t
+++ b/doc/networking/networkapp.t
@@ -95,6 +95,15 @@ struct rtems_bsdnet_config @{
char *log_host; /* BOOTP */
char *name_server[3]; /* BOOTP */
char *ntp_server[3]; /* BOOTP */
+ unsigned long sb_efficiency; /* 2 */
+ /* UDP TX: 9216 bytes */
+ unsigned long udp_tx_buf_size;
+ /* UDP RX: 40 * (1024 + sizeof(struct sockaddr_in)) */
+ unsigned long udp_rx_buf_size;
+ /* TCP TX: 16 * 1024 bytes */
+ unsigned long tcp_tx_buf_size;
+ /* TCP TX: 16 * 1024 bytes */
+ unsigned long tcp_rx_buf_size;
@};
@end group
@end example
@@ -143,7 +152,7 @@ The name of the Internet domain to which the system belongs.
@item char *gateway
The Internet host number of the network gateway machine,
-specified in `dotted decimal' (@code{129.128.4.1}) form.
+specified in 'dotted decimal' (@code{129.128.4.1}) form.
@item char *log_host
The Internet host number of the machine to which @code{syslog} messages
@@ -157,6 +166,54 @@ Internet Domain Name Servers.
The Internet host numbers of up to three machines to be used as
Network Time Protocol (NTP) Servers.
+@item unsigned long sb_efficiency
+This is the first of five configuration parameters related to
+the amount of memory each socket may consume for buffers. The
+TCP/IP stack reserves buffers (e.g. mbufs) for each open socket. The
+TCP/IP stack has different limits for the transmit and receive
+buffers associated with each TCP and UDP socket. By tuning these
+parameters, the application developer can make trade-offs between
+memory consumption and performance. The default parameters favor
+performance over memory consumption. See
+@uref{http://www.rtems.org/ml/rtems-users/2004/february/msg00200.html}
+for more details but note that after the RTEMS 4.8 release series,
+the sb_efficiency default was changed from @code{8} to @code{2}.
+
+The user should also be aware of the @code{SO_SNDBUF} and @code{SO_RCVBUF}
+IO control operations. These can be used to specify the
+send and receive buffer sizes for a specific socket. There
+is no standard IO control to change the @code{sb_efficiency} factor.
+
+The @code{sb_efficiency} parameter is a buffering factor used
+in the implementation of the TCP/IP stack. The default is @code{2}
+which indicates double buffering. When allocating memory for each
+socket, this number is multiplied by the buffer sizes for that socket.
+
+@item unsigned long udp_tx_buf_size
+This configuration parameter specifies the maximum amount of
+buffer memory which may be used for UDP sockets to transmit
+with. The default size is 9216 bytes which corresponds to
+the maximum datagram size.
+
+@item unsigned long udp_rx_buf_size
+This configuration parameter specifies the maximum amount of
+buffer memory which may be used for UDP sockets to receive
+into. The default size is the following length in bytes:
+
+@example
+40 * (1024 + sizeof(struct sockaddr_in)
+@end example
+
+@item unsigned long tcp_tx_buf_size
+This configuration parameter specifies the maximum amount of
+buffer memory which may be used for TCP sockets to transmit
+with. The default size is sixteen kilobytes.
+
+@item unsigned long tcp_rx_buf_size
+This configuration parameter specifies the maximum amount of
+buffer memory which may be used for TCP sockets to receive
+into. The default size is sixteen kilobytes.
+
@end table
In addition, the following fields in the @code{rtems_bsdnet_ifconfig}
@@ -253,12 +310,12 @@ parameters.
@example
static struct rtems_bsdnet_ifconfig netdriver_config = @{
- RTEMS_BSP_NETWORK_DRIVER_NAME,
- RTEMS_BSP_NETWORK_DRIVER_ATTACH
+ RTEMS_BSP_NETWORK_DRIVER_NAME,
+ RTEMS_BSP_NETWORK_DRIVER_ATTACH
@};
struct rtems_bsdnet_config rtems_bsdnet_config = @{
- &netdriver_config,
- rtems_bsdnet_do_bootp,
+ &netdriver_config,
+ rtems_bsdnet_do_bootp,
@};
@end example