summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/ChangeLog5
-rw-r--r--doc/networking/networkapp.t67
2 files changed, 67 insertions, 5 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index fcf6da2ff4..d8fa589089 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+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.
+
2008-02-01 Joel Sherrill <joel.sherrill@oarcorp.com>
* user/object.t: Added some examples.
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