⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c-tcpip6.html

📁 vxworks相关论文
💻 HTML
📖 第 1 页 / 共 3 页
字号:
</td><td width="10">&nbsp;</td><td colspan=1 rowspan=1><div class="CellBody"><a name="94552"> </a>Default Value: <b class="symbol_UC">UDP_DO_CKSUM_SND | UDP_DO_CKSUM_RCV</b></div><div class="CellBody"><a name="94553"> </a>Tells UDP to calculate a UDP header and data checksum for both send and receive UDP datagrams. </div></td><td width="10">&nbsp;</td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="94556"> </a><b class="symbol_UC"></b>UDP Send Buffer Size</div><div class="CellBody"><a name="94612"> </a>(<b class="symbol_UC">UDP_SND_SIZE_DFLT</b>)</div></td><td width="10">&nbsp;</td><td colspan=1 rowspan=1><div class="CellBody"><a name="94558"> </a>Default Value: 9216</div><div class="CellBody"><a name="94559"> </a>Sets the default send buffer size of a UDP connection. </div></td><td width="10">&nbsp;</td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="94562"> </a>UDP Receive Buffer Size</div><div class="CellBody"><a name="94613"> </a>(<b class="symbol_UC">UDP_RCV_SIZE_DFLT</b>)</div></td><td width="10">&nbsp;</td><td colspan=1 rowspan=1><div class="CellBody"><a name="94564"> </a>Default Value: 41600</div><div class="CellBody"><a name="94565"> </a>Sets the default receive buffer size of a UDP connection. </div></td><td width="10">&nbsp;</td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="94568"> </a>ICMP Configuration Flags</div><div class="CellBody"><a name="94614"> </a>(<b class="symbol_UC">ICMP_FLAGS_DFLT</b>)</div></td><td width="10">&nbsp;</td><td colspan=1 rowspan=1><div class="CellBody"><a name="94570"> </a>Default Value: <b class="symbol_UC">ICMP_NO_MASK_REPLY</b></div><div class="CellBody"><a name="94571"> </a>The default value specifies no ICMP mask replies. If this option is enabled on a VxWorks host, and the host receives an ICMP mask query, the VxWorks host replies with its network interface mask. </div></td><td width="10">&nbsp;</td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="94574"> </a>IP Configuration Flags</div><div class="CellBody"><a name="94615"> </a>(<b class="symbol_UC">IP_FLAGS_DFLT</b>)</div></td><td width="10">&nbsp;</td><td colspan=1 rowspan=1><div class="CellBody"><a name="94576"> </a>Default Value: <b class="symbol_UC">IP_DO_FORWARDING | IP_DO_REDIRECT | IP_DO_CHECKSUM_SND | IP_DO_CHECKSUM_RCV</b></div><div class="CellBody"><a name="94577"> </a>The default value enables forwarding of packets and enables sending ICMP redirect messages (if it is necessary to redirect packets through a different router). The RFC requires that you send and receive checksums. To prevent sending a checksum, clear the <b class="symbol_UC">IP_DO_CHECKSUM_SND</b> bit. Likewise, clear <b class="symbol_UC">IP_DO_CHECKSUM_RCV</b> to prevent a checksum receive. </div></td><td width="10">&nbsp;</td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="94580"> </a>IP Time-to-live Value</div><div class="CellBody"><a name="94616"> </a>(<b class="symbol_UC">IP_TTL_DFLT</b>)</div></td><td width="10">&nbsp;</td><td colspan=1 rowspan=1><div class="CellBody"><a name="94582"> </a>Default Value: 64</div><div class="CellBody"><a name="94583"> </a>Sets the IP default time to live, an upper limit on the number of routers through which a datagram can pass. This value limits the lifetime of a datagram. It is decremented by one by every router that handles the datagram. If a host or router gets a packet whose time to live is zero (this value is stored in a field in the IP header), the datagram is thrown out and the sender is notified with an ICMP message. This prevents packets from wandering in the networks forever. </div></td><td width="10">&nbsp;</td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="94586"> </a>IP Packet Queue Size</div><div class="CellBody"><a name="94617"> </a>(<b class="symbol_UC">IP_QLEN_DFLT</b>)</div></td><td width="10">&nbsp;</td><td colspan=1 rowspan=1><div class="CellBody"><a name="94588"> </a>Default Value: 50</div><div class="CellBody"><a name="94589"> </a>Sets the default length of the IP queue and the network interface queue. IP packets are added to the IP queue when packets are received. Packets are added to the network interface queue when transmitting. </div></td><td width="10">&nbsp;</td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="94592"> </a>IP Time-to-live Value for packet fragments</div><div class="CellBody"><a name="94618"> </a>(<b class="symbol_UC">IP_FRAG_TTL_DFLT</b>)</div></td><td width="10">&nbsp;</td><td colspan=1 rowspan=1><div class="CellBody"><a name="94594"> </a>Default Value: 60 (30 seconds for received fragments) </div><div class="CellBody"><a name="94595"> </a>Sets the default time to live value for an IP fragment. To transmit a packet bigger than the MTU size, the IP layer breaks the packet into fragments. On the receiving side, IP re-assembles these fragments to form the original packet. Upon receiving a fragment, IP adds it to the IP fragment queue. Each fragment waiting to be re-assembled has its own time to live, which, by default, is 30 seconds. This means that a fragment is deleted from the queue if it cannot be assembled in 30 seconds. </div><div class="CellBody"><a name="94596"> </a>If the network is extremely busy, the IP fragment queue can accumulate a lot of fragments that are waiting to be reassembled. This clutter can cause the queue to grow very large and thus take up a lot of system memory. To alleviate this problem, you can reduce the value of this configuration constant.<b class="symbol_lc"></b></div></td><td width="10">&nbsp;</td></tr><tr><td colspan="20"><hr class="tablerule"></td></tr><tr valign="middle"><td colspan="20"></td></tr></table></p></p></dl></dl><font face="Helvetica, sans-serif" class="sans"><h4 class="H3"><i><a name="94598">4.6.3  &nbsp;&nbsp;Network Memory Pool Configuration </a></i></h4></font><dl class="margin"><dl class="margin"><dd><p class="Body"><a name="86964"> </a>VxWorks allocates and initializes memory for the network stack only once, at network initialization time. Out of this pre-allocated memory, the network stack uses <b class="library">netBufLib</b> routines to set up a memory pool. From this memory pool, the network stack uses <b class="library">netBufLib</b> routines to get the memory needed for data transfer. </p><dd><p class="Body"><a name="86965"> </a>The <b class="library">netBufLib</b> routines deal with data in terms of <b class="symbol_lc">mBlk</b> structures, <b class="symbol_lc">clBlk</b> structures, and clusters. The <b class="symbol_lc">mBlk</b> and <b class="symbol_lc">clBlk</b> structures provide information necessary to manage the data stored in clusters. The clusters, which come in different sizes, contain the data described by the <b class="symbol_lc">mBlk</b> and <b class="symbol_lc">clBlk</b> structures. When VxWorks sets up the network stack memory pool, it needs to know the number of <b class="symbol_lc">mBlk</b>s, <b class="symbol_lc">clBlk</b>s, as well as the number of clusters per cluster size. The default counts are specified by symbolic constants defined in <b class="file">h/netBufLib.h</b>. These constants are described in <a href="c-tcpip6.html#93161">Table&nbsp;4-4</a>.</p></dl></dl><dl class="margin"><dd><p class="table" callout><table border="0" cellpadding="0" cellspacing="0"><tr valign="top"><td valign="top" width="40"><br><img border="0" alt="*" src="icons/caution.gif"></td><td><hr><div class="CalloutCell"><a name="93489"><b class="symbol_UC"><font face="Helvetica, sans-serif" size="-1" class="sans">CAUTION:  </font></b></a>Change these constants only after you fully understand what they do. Setting inappropriate values can make the TCP/IP stack inoperable. </div></td></tr><tr valign="top"><td></td><td><hr></td></tr><tr valign="middle"><td colspan="20"></td></tr></table></p callout><dl class="margin"><dd><p class="Body"><a name="93891"> </a><p class="table"><h4 class="EntityTitle"><a name="93161"><font face="Helvetica, sans-serif" size="-1" class="sans">Table 4-4:&nbsp;&nbsp;Configuration Constants for Network Memory Pools</font></a></h4><table border="0" cellpadding="0" cellspacing="0"><tr><td colspan="20"><hr class="tablerule"></td></tr><tr valign="middle"><th rowspan="1" colspan="1"><div class="CellHeading"><b><a name="93165"> </a><font face="Helvetica, sans-serif" size="-1" class="sans">Constant </font></b></div></th><td width="10">&nbsp;</td><th rowspan="1" colspan="1"><div class="CellHeading"><b><a name="93167"> </a><font face="Helvetica, sans-serif" size="-1" class="sans">Description </font></b></div></th><td width="10">&nbsp;</td></tr><tr><td colspan="20"><hr class="tablerule2"></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="93169"> </a>Network memory blocks for user data</div><div class="CellBody"><a name="94627"> </a>(<b class="symbol_UC">NUM_NET_MBLKS</b>)</div></td><td width="10">&nbsp;</td><td colspan=1 rowspan=1><div class="CellBody"><a name="93171"> </a>Default value: 400 </div><div class="CellBody"><a name="93172"> </a>Specifies the number <b class="symbol_lc">mBlk</b> structures to initialize. At a minimum, there should be at least as many <b class="symbol_lc">mBlk</b>s as there are clusters. </div></td><td width="10">&nbsp;</td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="93174"> </a>Number of 64 byte clusters for user data</div><div class="CellBody"><a name="94628"> </a>(<b class="symbol_UC">NUM_64</b>)</div></td><td width="10">&nbsp;</td><td colspan=1 rowspan=1><div class="CellBody"><a name="93176"> </a>Default value: 100 </div><div class="CellBody"><a name="93177"> </a>Specifies the number of 64-byte clusters to initialize. </div></td><td width="10">&nbsp;</td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="93179"> </a>Number of 128 byte clusters for user data</div><div class="CellBody"><a name="94629"> </a>(<b class="symbol_UC">NUM_128</b>)</div></td><td width="10">&nbsp;</td><td colspan=1 rowspan=1><div class="CellBody"><a name="93181"> </a>Default value: 100 </div><div class="CellBody"><a name="93182"> </a>Specifies the number of 128-byte clusters to initialize.</div></td><td width="10">&nbsp;</td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="93184"> </a>Number of 256 byte clusters for user data</div><div class="CellBody"><a name="94630"> </a>(<b class="symbol_UC">NUM_256</b>)</div></td><td width="10">&nbsp;</td><td colspan=1 rowspan=1><div class="CellBody"><a name="93186"> </a>Default value: 40 </div><div class="CellBody"><a name="93187"> </a>Specifies the number of 256-byte clusters to initialize.</div></td><td width="10">&nbsp;</td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="93189"> </a>Number of 512 byte clusters for user data</div><div class="CellBody"><a name="94631"> </a>(<b class="symbol_UC">NUM_512</b>)</div>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -