191df013fSAsim Jamshed<!-- Creator     : groff version 1.22.2 -->
291df013fSAsim Jamshed<!-- CreationDate: Thu Feb  2 17:04:41 2017 -->
391df013fSAsim Jamshed<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
491df013fSAsim Jamshed"http://www.w3.org/TR/html4/loose.dtd">
591df013fSAsim Jamshed<html>
691df013fSAsim Jamshed<head>
791df013fSAsim Jamshed<meta name="generator" content="groff -Thtml, see www.gnu.org">
891df013fSAsim Jamshed<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
991df013fSAsim Jamshed<meta name="Content-Style" content="text/css">
1091df013fSAsim Jamshed<style type="text/css">
1191df013fSAsim Jamshed       p       { margin-top: 0; margin-bottom: 0; vertical-align: top }
1291df013fSAsim Jamshed       pre     { margin-top: 0; margin-bottom: 0; vertical-align: top }
1391df013fSAsim Jamshed       table   { margin-top: 0; margin-bottom: 0; vertical-align: top }
1491df013fSAsim Jamshed       h1      { text-align: center }
1591df013fSAsim Jamshed</style>
1691df013fSAsim Jamshed<title>mtcp_init</title>
17*e5df9dc1SAsim Jamshed<link rel="stylesheet" href="./common.css">
1891df013fSAsim Jamshed</head>
1991df013fSAsim Jamshed<body>
20*e5df9dc1SAsim Jamshed<div class="main">
2191df013fSAsim Jamshed<h1 align="center">mtcp_init</h1>
22*e5df9dc1SAsim Jamshed<!--
2391df013fSAsim Jamshed<a href="#NAME">NAME</a><br>
2491df013fSAsim Jamshed<a href="#SYNOPSIS">SYNOPSIS</a><br>
2591df013fSAsim Jamshed<a href="#DESCRIPTION">DESCRIPTION</a><br>
2691df013fSAsim Jamshed<a href="#RETURN VALUE">RETURN VALUE</a><br>
2791df013fSAsim Jamshed<a href="#NOTES">NOTES</a><br>
2891df013fSAsim Jamshed<a href="#AUTHORS">AUTHORS</a><br>
2991df013fSAsim Jamshed<a href="#SEE ALSO">SEE ALSO</a><br>
3091df013fSAsim Jamshed<a href="#COLOPHON">COLOPHON</a><br>
3191df013fSAsim Jamshed<hr>
32*e5df9dc1SAsim Jamshed-->
3391df013fSAsim Jamshed
3491df013fSAsim Jamshed<h2>NAME
3591df013fSAsim Jamshed<a name="NAME"></a>
3691df013fSAsim Jamshed</h2>
3791df013fSAsim Jamshed
3891df013fSAsim Jamshed
3991df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">mtcp_init
4091df013fSAsim Jamshed&minus; initialize the mOS stack</p>
4191df013fSAsim Jamshed
4291df013fSAsim Jamshed<h2>SYNOPSIS
4391df013fSAsim Jamshed<a name="SYNOPSIS"></a>
4491df013fSAsim Jamshed</h2>
4591df013fSAsim Jamshed
4691df013fSAsim Jamshed
4791df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em"><b>#include
4891df013fSAsim Jamshed&lt;mtcp_api.h&gt;</b></p>
4991df013fSAsim Jamshed
5091df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em"><b>int
5191df013fSAsim Jamshedmtcp_init(char *</b><i>config_file</i><b>);</b></p>
5291df013fSAsim Jamshed
5391df013fSAsim Jamshed<h2>DESCRIPTION
5491df013fSAsim Jamshed<a name="DESCRIPTION"></a>
5591df013fSAsim Jamshed</h2>
5691df013fSAsim Jamshed
5791df013fSAsim Jamshed
5891df013fSAsim Jamshed
5991df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em"><b>mtcp_init</b>()
6091df013fSAsim Jamshedcall is used to set the stack parameters of an mOS-based
6191df013fSAsim Jamshedapplication. These parameters are loaded inside the process
6291df013fSAsim Jamshedvia a startup configuration file, <i>config_file.</i> A
6391df013fSAsim Jamsheddeveloper is required to first call <b>mtcp_init</b>()
6491df013fSAsim Jamshedfunction before he/she can invoke any follow-up mOS
6591df013fSAsim Jamshedfunctions in his/her application.</p>
6691df013fSAsim Jamshed
6791df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">A typical
6891df013fSAsim Jamshed<i>config_file</i> is composed of at least two mOS
6991df013fSAsim Jamshedconfiguration blocks. The app block sets the configuration
7091df013fSAsim Jamshedparameters of the application that employs the underlying
7191df013fSAsim JamshedmOS stack. A typical instance of an app block is illustrated
7291df013fSAsim Jamshedbelow.</p>
7391df013fSAsim Jamshed
7491df013fSAsim Jamshed
7591df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">#######################
7691df013fSAsim Jamshed<br>
7791df013fSAsim Jamshed# APPLICATION OPTIONS # <br>
7891df013fSAsim Jamshed####################### <br>
7991df013fSAsim Jamshed# application to run <br>
8091df013fSAsim Jamshedapplication { <br>
8191df013fSAsim Jamshedtype = end <br>
8291df013fSAsim Jamshedrun = epwget <br>
8391df013fSAsim Jamshedcore_mask = 0x000F <br>
8491df013fSAsim Jamshed}</p>
8591df013fSAsim Jamshed
8691df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">A user can
8791df013fSAsim Jamshedpopulate the app block with the following parameters:</p>
8891df013fSAsim Jamshed
8991df013fSAsim Jamshed<table width="100%" border="0" rules="none" frame="void"
9091df013fSAsim Jamshed       cellspacing="0" cellpadding="0">
9191df013fSAsim Jamshed<tr valign="top" align="left">
9291df013fSAsim Jamshed<td width="11%"></td>
9391df013fSAsim Jamshed<td width="14%">
9491df013fSAsim Jamshed
9591df013fSAsim Jamshed
9691df013fSAsim Jamshed<p style="margin-top: 1em">type</p></td>
9791df013fSAsim Jamshed<td width="12%"></td>
9891df013fSAsim Jamshed<td width="63%">
9991df013fSAsim Jamshed
10091df013fSAsim Jamshed
10191df013fSAsim Jamshed<p style="margin-top: 1em">The type of application that the
10291df013fSAsim Jamsheduser wants to run. An application can either be an endpoint
10391df013fSAsim Jamshedapplication (&rsquo;end&rsquo;) such as an mTCP client or
10491df013fSAsim JamshedmTCP server, or be a middlebox application
10591df013fSAsim Jamshed(&rsquo;monitor&rsquo;).</p> </td></tr>
10691df013fSAsim Jamshed<tr valign="top" align="left">
10791df013fSAsim Jamshed<td width="11%"></td>
10891df013fSAsim Jamshed<td width="14%">
10991df013fSAsim Jamshed
11091df013fSAsim Jamshed
11191df013fSAsim Jamshed<p>run</p></td>
11291df013fSAsim Jamshed<td width="12%"></td>
11391df013fSAsim Jamshed<td width="63%">
11491df013fSAsim Jamshed
11591df013fSAsim Jamshed
11691df013fSAsim Jamshed<p>The name of the binary to execute.</p></td></tr>
11791df013fSAsim Jamshed<tr valign="top" align="left">
11891df013fSAsim Jamshed<td width="11%"></td>
11991df013fSAsim Jamshed<td width="14%">
12091df013fSAsim Jamshed
12191df013fSAsim Jamshed
12291df013fSAsim Jamshed<p>core_mask</p></td>
12391df013fSAsim Jamshed<td width="12%"></td>
12491df013fSAsim Jamshed<td width="63%">
12591df013fSAsim Jamshed
12691df013fSAsim Jamshed
12791df013fSAsim Jamshed<p>The CPU bitmask where you want to run the application.
12891df013fSAsim JamshedThe mask 0x000F denotes that the user wants to run a
12991df013fSAsim Jamshedsingle-process, 4-threaded application on the first four
13091df013fSAsim Jamshedcores of the CPU (CPU 0~3).</p></td></tr>
13191df013fSAsim Jamshed</table>
13291df013fSAsim Jamshed
13391df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">The user can
13491df013fSAsim Jamshedrun one or more monitoring applications at the same
13591df013fSAsim Jamshedtime.</p>
13691df013fSAsim Jamshed
13791df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">A mos block
13891df013fSAsim Jamshedadjusts the internal parameters of the mOS stack.</p>
13991df013fSAsim Jamshed
14091df013fSAsim Jamshed
14191df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">#######################
14291df013fSAsim Jamshed<br>
14391df013fSAsim Jamshed# MOS-RELATED OPTIONS # <br>
14491df013fSAsim Jamshed#######################</p>
14591df013fSAsim Jamshed
14691df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">mos { <br>
14791df013fSAsim Jamshedforward = 1</p>
14891df013fSAsim Jamshed
14991df013fSAsim Jamshed
15091df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">#######################
15191df013fSAsim Jamshed<br>
15291df013fSAsim Jamshed##### I/O OPTIONS ##### <br>
15391df013fSAsim Jamshed####################### <br>
15491df013fSAsim Jamshed# number of memory channels per socket [mandatory for DPDK]
15591df013fSAsim Jamshed<br>
15691df013fSAsim Jamshednb_mem_channels = 4</p>
15791df013fSAsim Jamshed
15891df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em"># devices used
15991df013fSAsim Jamshedfor MOS applications [mandatory] <br>
16091df013fSAsim Jamshednetdev { <br>
16191df013fSAsim Jamsheddpdk0 0x000F <br>
16291df013fSAsim Jamsheddpdk1 0x000F <br>
16391df013fSAsim Jamshed}</p>
16491df013fSAsim Jamshed
16591df013fSAsim Jamshed
16691df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">#######################
16791df013fSAsim Jamshed<br>
16891df013fSAsim Jamshed### LOGGING OPTIONS ### <br>
16991df013fSAsim Jamshed####################### <br>
17091df013fSAsim Jamshed# NICs to print network statistics per second <br>
17191df013fSAsim Jamshed# if enabled, mTCP will print xx Gbps and xx pps for RX and
17291df013fSAsim JamshedTX <br>
17391df013fSAsim Jamshedstat_print = dpdk0 dpdk1</p>
17491df013fSAsim Jamshed
17591df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em"># A directory
17691df013fSAsim Jamshedcontains MOS system log files <br>
17791df013fSAsim Jamshedmos_log = logs/</p>
17891df013fSAsim Jamshed
17991df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em"># dpdk0 and
18091df013fSAsim Jamsheddpdk1 will forward traffic in either direction <br>
18191df013fSAsim Jamshednic_forward_table { <br>
18291df013fSAsim Jamsheddpdk0 dpdk1 <br>
18391df013fSAsim Jamshed}</p>
18491df013fSAsim Jamshed
18591df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">}</p>
18691df013fSAsim Jamshed
18791df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">A user can
18891df013fSAsim Jamshedpopulate an mOS configuration block with the following
18991df013fSAsim Jamshedparameters:</p>
19091df013fSAsim Jamshed
19191df013fSAsim Jamshed<table width="100%" border="0" rules="none" frame="void"
19291df013fSAsim Jamshed       cellspacing="0" cellpadding="0">
19391df013fSAsim Jamshed<tr valign="top" align="left">
19491df013fSAsim Jamshed<td width="11%"></td>
19591df013fSAsim Jamshed<td width="26%">
19691df013fSAsim Jamshed
19791df013fSAsim Jamshed
19891df013fSAsim Jamshed<p style="margin-top: 1em">forward</p></td>
19991df013fSAsim Jamshed<td width="9%"></td>
20091df013fSAsim Jamshed<td width="52%">
20191df013fSAsim Jamshed
20291df013fSAsim Jamshed
20391df013fSAsim Jamshed<p style="margin-top: 1em">Setting this option to 1 enables
20491df013fSAsim Jamshedpacket forwarding (for middlebox operations). Keep this
20591df013fSAsim Jamshedvalue to 0 for endpoint mTCP applications.</p></td>
20691df013fSAsim Jamshed<td width="2%">
20791df013fSAsim Jamshed</td></tr>
20891df013fSAsim Jamshed<tr valign="top" align="left">
20991df013fSAsim Jamshed<td width="11%"></td>
21091df013fSAsim Jamshed<td width="26%">
21191df013fSAsim Jamshed
21291df013fSAsim Jamshed
21391df013fSAsim Jamshed<p>nb_mem_channels</p></td>
21491df013fSAsim Jamshed<td width="9%"></td>
21591df013fSAsim Jamshed<td width="52%">
21691df013fSAsim Jamshed
21791df013fSAsim Jamshed
21891df013fSAsim Jamshed<p>(Mandatory for DPDK) nb_mem_channels parameter specifies
21991df013fSAsim Jamshedthe number of memory channels per CPU socket. Please refer
22091df013fSAsim Jamshedto DPDK user guide, on tuning this parameter for performance
22191df013fSAsim Jamshedoptimizations.</p> </td>
22291df013fSAsim Jamshed<td width="2%">
22391df013fSAsim Jamshed</td></tr>
22491df013fSAsim Jamshed<tr valign="top" align="left">
22591df013fSAsim Jamshed<td width="11%"></td>
22691df013fSAsim Jamshed<td width="26%">
22791df013fSAsim Jamshed
22891df013fSAsim Jamshed
22991df013fSAsim Jamshed<p>netdev</p></td>
23091df013fSAsim Jamshed<td width="9%"></td>
23191df013fSAsim Jamshed<td width="52%">
23291df013fSAsim Jamshed
23391df013fSAsim Jamshed
23491df013fSAsim Jamshed<p>netdev parameter block specifies the network interfaces
23591df013fSAsim Jamshed(or device ports) used for mOS applications. Each line
23691df013fSAsim Jamshedcontains the mapping of a network interface and CPU core
23791df013fSAsim Jamshedmask. In the example above, it uses two DPDK-assisted
23891df013fSAsim Jamshednetwork interfaces (dpdk0 and dpdk1), and CPU cores 0~3
23991df013fSAsim Jamshedreceive/transmit traffic from/to the first 4 (0~3) hardware
24091df013fSAsim Jamshedqueues of the NIC. We program our DPDK driver to use
24191df013fSAsim Jamshedsymmetric RSS algorithm to distribute traffic across the
24291df013fSAsim Jamshedcores. This ensures that the same CPU gets to examine
24391df013fSAsim Jamshedpackets of both flows of the connection.</p></td>
24491df013fSAsim Jamshed<td width="2%">
24591df013fSAsim Jamshed</td></tr>
24691df013fSAsim Jamshed<tr valign="top" align="left">
24791df013fSAsim Jamshed<td width="11%"></td>
24891df013fSAsim Jamshed<td width="26%">
24991df013fSAsim Jamshed
25091df013fSAsim Jamshed
25191df013fSAsim Jamshed<p>stat_print</p></td>
25291df013fSAsim Jamshed<td width="9%"></td>
25391df013fSAsim Jamshed<td width="52%">
25491df013fSAsim Jamshed
25591df013fSAsim Jamshed
25691df013fSAsim Jamshed<p>stat_print parameter specifies the network interfaces
25791df013fSAsim Jamshedwhich the application is interested in displaying runtime
25891df013fSAsim Jamshedmonitor statistics.</p></td>
25991df013fSAsim Jamshed<td width="2%">
26091df013fSAsim Jamshed</td></tr>
26191df013fSAsim Jamshed<tr valign="top" align="left">
26291df013fSAsim Jamshed<td width="11%"></td>
26391df013fSAsim Jamshed<td width="26%">
26491df013fSAsim Jamshed
26591df013fSAsim Jamshed
26691df013fSAsim Jamshed<p>mos_log</p></td>
26791df013fSAsim Jamshed<td width="9%"></td>
26891df013fSAsim Jamshed<td width="52%">
26991df013fSAsim Jamshed
27091df013fSAsim Jamshed
27191df013fSAsim Jamshed<p>mos_log parameter specifies the path to a directory
27291df013fSAsim Jamshedwhere the mOS system writes extra logging data.</p></td>
27391df013fSAsim Jamshed<td width="2%">
27491df013fSAsim Jamshed</td></tr>
27591df013fSAsim Jamshed<tr valign="top" align="left">
27691df013fSAsim Jamshed<td width="11%"></td>
27791df013fSAsim Jamshed<td width="26%">
27891df013fSAsim Jamshed
27991df013fSAsim Jamshed
28091df013fSAsim Jamshed<p>nic_forward_table</p></td>
28191df013fSAsim Jamshed<td width="9%"></td>
28291df013fSAsim Jamshed<td width="52%">
28391df013fSAsim Jamshed
28491df013fSAsim Jamshed
28591df013fSAsim Jamshed<p>nic_forward_table parameter block specifies the static
28691df013fSAsim JamshedEthernet traffic forwarding rules when the mOS middlebox
28791df013fSAsim Jamshedapplication is set in inline mode (Running Monitor
28891df013fSAsim JamshedApplications in Inline Mode). If enabled, each line accepts
28991df013fSAsim Jamsheda pair of DPDK-registered NIC interfaces via which the
29091df013fSAsim Jamshedtraffic can later be forwarded in either direction. Each
29191df013fSAsim Jamshedinterface should have one-to-one mapping with another. In
29291df013fSAsim Jamshedthe example above, traffic is switched from dpdk0 to dpdk1
29391df013fSAsim Jamshedand vice versa. The middlebox is configured as a
29491df013fSAsim Jamshed&rsquo;bump-in-the-wire&rsquo;.</p> </td>
29591df013fSAsim Jamshed<td width="2%">
29691df013fSAsim Jamshed</td></tr>
29791df013fSAsim Jamshed<tr valign="top" align="left">
29891df013fSAsim Jamshed<td width="11%"></td>
29991df013fSAsim Jamshed<td width="26%">
30091df013fSAsim Jamshed
30191df013fSAsim Jamshed
30291df013fSAsim Jamshed<p>max_concurrency</p></td>
30391df013fSAsim Jamshed<td width="9%"></td>
30491df013fSAsim Jamshed<td width="52%">
30591df013fSAsim Jamshed
30691df013fSAsim Jamshed
30791df013fSAsim Jamshed<p>max_concurrency specifies the maximum number of
30891df013fSAsim Jamshedconcurrent flows a middlebox can examine per CPU core. This
30991df013fSAsim Jamshedparameter is used for preallocating the memory for flows.
31091df013fSAsim Jamshed[default value: 100000]</p></td>
31191df013fSAsim Jamshed<td width="2%">
31291df013fSAsim Jamshed</td></tr>
31391df013fSAsim Jamshed<tr valign="top" align="left">
31491df013fSAsim Jamshed<td width="11%"></td>
31591df013fSAsim Jamshed<td width="26%">
31691df013fSAsim Jamshed
31791df013fSAsim Jamshed
31891df013fSAsim Jamshed<p>no_ring_buffers</p></td>
31991df013fSAsim Jamshed<td width="9%"></td>
32091df013fSAsim Jamshed<td width="52%">
32191df013fSAsim Jamshed
32291df013fSAsim Jamshed
32391df013fSAsim Jamshed<p>no_ring_buffers determines whether the TCP ring buffer
32491df013fSAsim Jamshedshould be disabled. For mOS endpoint (mTCP) applications,
32591df013fSAsim JamshedmOS always require the socket buffers for the application.
32691df013fSAsim JamshedFor middlebox applications, you can disable the receive-side
32791df013fSAsim Jamshedsocket buffer by putting no_ring_buffers = 1. [default
32891df013fSAsim Jamshedvalue: 0 (ring buffer is enabled by default)]</p></td>
32991df013fSAsim Jamshed<td width="2%">
33091df013fSAsim Jamshed</td></tr>
33191df013fSAsim Jamshed<tr valign="top" align="left">
33291df013fSAsim Jamshed<td width="11%"></td>
33391df013fSAsim Jamshed<td width="26%">
33491df013fSAsim Jamshed
33591df013fSAsim Jamshed
33691df013fSAsim Jamshed<p>rmem_size</p></td>
33791df013fSAsim Jamshed<td width="9%"></td>
33891df013fSAsim Jamshed<td width="52%">
33991df013fSAsim Jamshed
34091df013fSAsim Jamshed
34191df013fSAsim Jamshed<p>Specifies the size of receive buffer per socket in bytes
34291df013fSAsim Jamshed[default value: 8192 B].</p></td>
34391df013fSAsim Jamshed<td width="2%">
34491df013fSAsim Jamshed</td></tr>
34591df013fSAsim Jamshed<tr valign="top" align="left">
34691df013fSAsim Jamshed<td width="11%"></td>
34791df013fSAsim Jamshed<td width="26%">
34891df013fSAsim Jamshed
34991df013fSAsim Jamshed
35091df013fSAsim Jamshed<p>wmem_size</p></td>
35191df013fSAsim Jamshed<td width="9%"></td>
35291df013fSAsim Jamshed<td width="52%">
35391df013fSAsim Jamshed
35491df013fSAsim Jamshed
35591df013fSAsim Jamshed<p>Specifies the size of send buffer per socket in bytes
35691df013fSAsim Jamshed[default value: 8192 B].</p></td>
35791df013fSAsim Jamshed<td width="2%">
35891df013fSAsim Jamshed</td></tr>
35991df013fSAsim Jamshed<tr valign="top" align="left">
36091df013fSAsim Jamshed<td width="11%"></td>
36191df013fSAsim Jamshed<td width="26%">
36291df013fSAsim Jamshed
36391df013fSAsim Jamshed
36491df013fSAsim Jamshed<p>tcp_tw_interval</p></td>
36591df013fSAsim Jamshed<td width="9%"></td>
36691df013fSAsim Jamshed<td width="52%">
36791df013fSAsim Jamshed
36891df013fSAsim Jamshed
36991df013fSAsim Jamshed<p>Specifies the TCP timewait interval value in seconds.
37091df013fSAsim JamshedTCP timewait interval is the allowed time for a connection
37191df013fSAsim Jamshedto be in the TIME_WAIT state. For mOS endpoint (mTCP)
37291df013fSAsim Jamshedapplications, user can set it as an arbitrary value larger
37391df013fSAsim Jamshedthan 0 to guarantee graceful shutdown. For monitoring
37491df013fSAsim Jamshedapplications, the user may set it to 0 if she is not
37591df013fSAsim Jamshedinterested in monitoring the flow after TIME_WAIT state.
37691df013fSAsim Jamshed[default value: 0s]</p></td>
37791df013fSAsim Jamshed<td width="2%">
37891df013fSAsim Jamshed</td></tr>
37991df013fSAsim Jamshed<tr valign="top" align="left">
38091df013fSAsim Jamshed<td width="11%"></td>
38191df013fSAsim Jamshed<td width="26%">
38291df013fSAsim Jamshed
38391df013fSAsim Jamshed
38491df013fSAsim Jamshed<p>tcp_timeout</p></td>
38591df013fSAsim Jamshed<td width="9%"></td>
38691df013fSAsim Jamshed<td width="52%">
38791df013fSAsim Jamshed
38891df013fSAsim Jamshed
38991df013fSAsim Jamshed<p>Specifies the TCP timeout value in seconds. This
39091df013fSAsim Jamshedparameter determines the maximum allowed time for any flows
39191df013fSAsim Jamshedto exist without any packet reception. In other words, mOS
39291df013fSAsim Jamshedmiddlebox stops monitoring the connection after tcp_timeout
39391df013fSAsim Jamshedidle period. You can set tcp_timeout = -1 to disable the
39491df013fSAsim Jamshedtimeout checking. For mOS endpoint (mTCP) applications,
39591df013fSAsim Jamshedtcp_timeout serves as a timeout period for connections that
39691df013fSAsim Jamshedare in active open states (SYN_SENT states). [default value:
39791df013fSAsim Jamshed30s]</p> </td>
39891df013fSAsim Jamshed<td width="2%">
39991df013fSAsim Jamshed</td></tr>
40091df013fSAsim Jamshed</table>
40191df013fSAsim Jamshed
40291df013fSAsim Jamshed<h2>RETURN VALUE
40391df013fSAsim Jamshed<a name="RETURN VALUE"></a>
40491df013fSAsim Jamshed</h2>
40591df013fSAsim Jamshed
40691df013fSAsim Jamshed
40791df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">Returns 0 on
40891df013fSAsim Jamshedsuccess; -1 on failure.</p>
40991df013fSAsim Jamshed
41091df013fSAsim Jamshed<h2>NOTES
41191df013fSAsim Jamshed<a name="NOTES"></a>
41291df013fSAsim Jamshed</h2>
41391df013fSAsim Jamshed
41491df013fSAsim Jamshed
41591df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">See
41691df013fSAsim Jamshed<i>http://mos.kaist.edu/guide/walkthrough/05_configuration.html</i>
41791df013fSAsim Jamshedto view example startup mOS configuration file.</p>
41891df013fSAsim Jamshed
41991df013fSAsim Jamshed<h2>AUTHORS
42091df013fSAsim Jamshed<a name="AUTHORS"></a>
42191df013fSAsim Jamshed</h2>
42291df013fSAsim Jamshed
42391df013fSAsim Jamshed
42491df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">mOS development
42591df013fSAsim Jamshedteam &lt;[email protected]&gt;</p>
42691df013fSAsim Jamshed
427*e5df9dc1SAsim Jamshed<!----------------------------------------------------------->
428*e5df9dc1SAsim Jamshed<h2>EXAMPLES
429*e5df9dc1SAsim Jamshed<a name="EXAMPLES"></a>
430*e5df9dc1SAsim Jamshed</h2>
431*e5df9dc1SAsim Jamshed
432*e5df9dc1SAsim Jamshed<p style="margin-left:11%; margin-top: 1em">
433*e5df9dc1SAsim Jamshed  <a href="http://mos.kaist.edu/guide/programmer/05_api_example.html#global-initialization-routine">
434*e5df9dc1SAsim Jamshed	http://mos.kaist.edu/guide/programmer/05_api_example.html#global-initialization-routine
435*e5df9dc1SAsim Jamshed	</a>
436*e5df9dc1SAsim Jamshed</p>
437*e5df9dc1SAsim Jamshed<!----------------------------------------------------------->
438*e5df9dc1SAsim Jamshed
43991df013fSAsim Jamshed<h2>SEE ALSO
44091df013fSAsim Jamshed<a name="SEE ALSO"></a>
44191df013fSAsim Jamshed</h2>
44291df013fSAsim Jamshed
44391df013fSAsim Jamshed
44491df013fSAsim Jamshed
44591df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em"><b>mtcp_destroy</b>()</p>
44691df013fSAsim Jamshed
44791df013fSAsim Jamshed<h2>COLOPHON
44891df013fSAsim Jamshed<a name="COLOPHON"></a>
44991df013fSAsim Jamshed</h2>
45091df013fSAsim Jamshed
45191df013fSAsim Jamshed
45291df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">This page is
45391df013fSAsim Jamshedpart of mOS release 0.3 <i>docs</i> section. A description
45491df013fSAsim Jamshedof the project, and information about reporting bugs, can be
45591df013fSAsim Jamshedfound at http://mos.kaist.edu/.</p>
456*e5df9dc1SAsim Jamshed<!-- <hr> -->
457*e5df9dc1SAsim Jamshed<br>
458*e5df9dc1SAsim Jamshed<div class="footer">
459*e5df9dc1SAsim Jamshed  <img src="back-arrow.jpg" width="2%" height="2%"><a href="http://mos.kaist.edu/index_man.html">Back to Index</a>
460*e5df9dc1SAsim Jamshed</div>
461*e5df9dc1SAsim Jamshed</div>
46291df013fSAsim Jamshed</body>
46391df013fSAsim Jamshed</html>
464