A Discrete-Event Network Simulator
API
NscTcp

An alternate implementation of TCP for ns-3 is provided by the Network Simulation Cradle (NSC) project. More...

+ Collaboration diagram for NscTcp:

Classes

struct  IInterruptCallback
 Struct interface to NSC soft interrupt capabilities. More...
 
struct  INetDatagramSocket
 Struct interface to NSC Datagram (i.e., UDP) Sockets. More...
 
struct  INetStack
 Struct interface to NSC stack. More...
 
struct  INetStreamSocket
 Struct interface to NSC Stream (i.e., TCP) Sockets. More...
 
struct  ISendCallback
 Struct interface to NSC send capabilities. More...
 
class  ns3::Ns3NscStack
 This object represents the underlying nsc stack, which is aggregated to a Node object, and which provides access to the sysctls of the nsc stack through attributes. More...
 
class  ns3::NscInterfaceImpl
 Nsc interface implementation class. More...
 
class  ns3::NscStackStringAccessor
 This object represent the underlying nsc stack attributes and provide a ns-3-like system to access them though sysctls. More...
 
class  ns3::NscTcpL4Protocol
 Nsc wrapper glue, to interface with the Ipv4 protocol underneath. More...
 
class  ns3::NscTcpSocketFactoryImpl
 socket factory implementation for creating instances of NSC TCP More...
 
class  ns3::NscTcpSocketImpl
 Socket logic for the NSC TCP sockets. More...
 

Enumerations

enum  nsc_errno {
  NSC_EUNKNOWN = -1, NSC_EADDRINUSE = -10, NSC_EADDRNOTAVAIL = -11, NSC_EAGAIN = -12,
  NSC_EALREADY = -25, NSC_ECONNREFUSED = -32, NSC_ECONNRESET = -33, NSC_EHOSTDOWN = -50,
  NSC_EHOSTUNREACH = -51, NSC_EINPROGRESS = -60, NSC_EISCONN = -61, NSC_EMSGSIZE = -70,
  NSC_ENETUNREACH = -82, NSC_ENOTCONN = -86, NSC_ENOTDIR = -87, NSC_ESHUTDOWN = -130,
  NSC_ETIMEDOUT = -140
}
 List of network stack errors that may happen in a simulation, and can be handled by the simulator in a sane way. More...
 

Detailed Description

An alternate implementation of TCP for ns-3 is provided by the Network Simulation Cradle (NSC) project.

NSC is a separately linked library that provides ported TCP stacks from popular operating systems such as Linux and FreeBSD. Glue code such as the ns-3 NSC code allows users to delegate Internet stack processing to the logic from these operating systems. This allows a user to reproduce with high fidelity the behavior of a real TCP stack.

Enumeration Type Documentation

enum nsc_errno

List of network stack errors that may happen in a simulation, and can be handled by the simulator in a sane way.

Note that NSC handles several errors internally though nsc_assert, BUG() and friends, because they (should) never happen in a simulation (e.g. ESOCKTNOSUPPORT).

These values are returned by the various methods provided by nsc. They must always be < 0, as values >= 0 are a success indicator; e.g. send_data() will return the number of bytes sent or one of the nsc_errno numbers below, accept() will return 0 on success or one of the nsc_errno numbers below, etc.

Enumerator
NSC_EUNKNOWN 
NSC_EADDRINUSE 
NSC_EADDRNOTAVAIL 
NSC_EAGAIN 
NSC_EALREADY 
NSC_ECONNREFUSED 
NSC_ECONNRESET 
NSC_EHOSTDOWN 
NSC_EHOSTUNREACH 
NSC_EINPROGRESS 
NSC_EISCONN 
NSC_EMSGSIZE 
NSC_ENETUNREACH 
NSC_ENOTCONN 
NSC_ENOTDIR 
NSC_ESHUTDOWN 
NSC_ETIMEDOUT 

Definition at line 41 of file sim_errno.h.