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− 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<mtcp_api.h></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 (’end’) such as an mTCP client or 10491df013fSAsim JamshedmTCP server, or be a middlebox application 10591df013fSAsim Jamshed(’monitor’).</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’bump-in-the-wire’.</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 <[email protected]></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