INET Framework for OMNeT++/OMNEST
|
Classes | |
class | DumbTCP |
A very-very basic TCPAlgorithm implementation, with hardcoded retransmission timeout and no other sophistication. More... | |
class | DumbTCPStateVariables |
State variables for DumbTCP. More... | |
struct | icmp_echo_hdr |
This is the standard ICMP header only that the u32_t data is splitted to two u16_t like ICMP echo needs it. More... | |
struct | in_addr |
struct | ip_addr |
struct | ip_addr2 |
struct | ip_hdr |
struct | ip_pcb |
class | LwipTcpStackIf |
Interface class between TCP_lwIP and LwipTcpLayer. More... | |
struct | memp |
struct | netbuf |
struct | netif |
Generic data structure used for all lwIP network interfaces. More... | |
struct | nsc_iphdr |
struct | nsc_ipv6hdr |
struct | pbuf |
class | Sack |
class | Sack_Base |
Class generated from inet/transportlayer/tcp_common/TCPSegment.msg:122 by nedtool. More... | |
class | SackItem |
Class generated from inet/transportlayer/tcp_common/TCPSegment.msg:116 by nedtool. More... | |
struct | sys_timeo |
struct | sys_timeouts |
class | TCP |
Implements the TCP protocol. More... | |
class | TCP_lwIP |
Encapsulates a Network Simulation Cradle (NSC) instance. More... | |
class | TCP_NSC |
Encapsulates a Network Simulation Cradle (NSC) instance. More... | |
class | TCP_NSC_ByteStreamReceiveQueue |
Receive queue that manages actual bytes. More... | |
class | TCP_NSC_ByteStreamSendQueue |
Send queue that manages actual bytes. More... | |
class | TCP_NSC_Connection |
Encapsulates a Network Simulation Cradle (NSC) instance. More... | |
class | TCP_NSC_ReceiveQueue |
class | TCP_NSC_SendQueue |
Abstract base class for TCP_NSC send queues. More... | |
class | TCP_NSC_VirtualDataReceiveQueue |
Send/Receive queue that manages "virtual bytes", that is, byte counts only. More... | |
class | TCP_NSC_VirtualDataSendQueue |
Send queue that manages "virtual bytes", that is, byte counts only. More... | |
class | TCPAlgorithm |
Abstract base class for TCP algorithms which encapsulate all behaviour during data transfer state: flavour of congestion control, fast retransmit/recovery, selective acknowledgement etc. More... | |
class | TCPBaseAlg |
Includes basic TCP algorithms: adaptive retransmission, PERSIST timer, keep-alive, delayed acks – EXCLUDING congestion control. More... | |
class | TCPBaseAlgStateVariables |
State variables for TCPBaseAlg. More... | |
class | TCPByteStreamRcvQueue |
TCP send queue that stores actual bytes. More... | |
class | TCPByteStreamSendQueue |
Send queue that manages messages. More... | |
class | TCPConnection |
Manages a TCP connection. More... | |
struct | tcpip_msg |
class | TcpLwipByteStreamReceiveQueue |
Receive queue that manages "data stream", that is, actual bytes. More... | |
class | TcpLwipByteStreamSendQueue |
Send queue that manages "data stream", that is, actual bytes. More... | |
class | TcpLwipConnection |
class | TcpLwipMsgBasedReceiveQueue |
Receive queue that manages "objects". More... | |
class | TcpLwipMsgBasedSendQueue |
Send queue that manages "objects". More... | |
class | TcpLwipReceiveQueue |
class | TcpLwipSendQueue |
Abstract base class for TCP_LWIP send queues. More... | |
class | TcpLwipVirtualDataReceiveQueue |
Receive queue that manages "virtual bytes", that is, byte counts only. More... | |
class | TcpLwipVirtualDataSendQueue |
Send queue that manages "virtual bytes", that is, byte counts only. More... | |
class | TCPMsgBasedRcvQueue |
class | TCPMsgBasedSendQueue |
Send queue that manages messages. More... | |
class | TCPNewReno |
Implements TCP NewReno. More... | |
class | TCPNoCongestionControl |
TCP with no congestion control (i.e. More... | |
class | TCPOption |
Class generated from inet/transportlayer/tcp_common/TCPSegment.msg:129 by nedtool. More... | |
class | TCPOptionEnd |
Class generated from inet/transportlayer/tcp_common/TCPSegment.msg:135 by nedtool. More... | |
class | TCPOptionMaxSegmentSize |
Class generated from inet/transportlayer/tcp_common/TCPSegment.msg:147 by nedtool. More... | |
class | TCPOptionNop |
Class generated from inet/transportlayer/tcp_common/TCPSegment.msg:141 by nedtool. More... | |
class | TCPOptionSack |
Class generated from inet/transportlayer/tcp_common/TCPSegment.msg:167 by nedtool. More... | |
class | TCPOptionSackPermitted |
Class generated from inet/transportlayer/tcp_common/TCPSegment.msg:161 by nedtool. More... | |
class | TCPOptionTimestamp |
Class generated from inet/transportlayer/tcp_common/TCPSegment.msg:174 by nedtool. More... | |
class | TCPOptionUnknown |
Class generated from inet/transportlayer/tcp_common/TCPSegment.msg:182 by nedtool. More... | |
class | TCPOptionWindowScale |
Class generated from inet/transportlayer/tcp_common/TCPSegment.msg:154 by nedtool. More... | |
struct | TCPPayloadMessage |
Struct generated from inet/transportlayer/tcp_common/TCPSegment.msg:63 by nedtool. More... | |
class | TCPReceiveQueue |
Abstract base class for TCP receive queues. More... | |
class | TCPReno |
Implements TCP Reno. More... | |
class | TCPSACKRexmitQueue |
Retransmission data for SACK. More... | |
class | TCPSegment |
Represents a TCP segment. More... | |
class | TCPSegment_Base |
Class generated from inet/transportlayer/tcp_common/TCPSegment.msg:202 by nedtool. More... | |
class | TCPSegmentTransmitInfoList |
class | TCPSendQueue |
Abstract base class for TCP send queues. More... | |
class | TCPSpoof |
Sends fabricated TCP packets. More... | |
class | TCPStateVariables |
Contains state variables ("TCB") for TCP. More... | |
class | TCPTahoe |
Implements Tahoe. More... | |
class | TCPTahoeRenoFamily |
Provides utility functions to implement TCPTahoe, TCPReno and TCPNewReno. More... | |
class | TCPTahoeRenoFamilyStateVariables |
State variables for TCPTahoeRenoFamily. More... | |
class | TCPVegas |
class | TCPVegasStateVariables |
State variables for TCPVegas. More... | |
class | TCPVirtualDataRcvQueue |
Receive queue that manages "virtual bytes", that is, byte counts only. More... | |
class | TCPVirtualDataSendQueue |
Send queue that manages "virtual bytes", that is, byte counts only. More... | |
class | TCPWestwood |
class | TCPWestwoodStateVariables |
State variables for TCPWestwood. More... | |
Typedefs | |
typedef TCPTahoeRenoFamilyStateVariables | TCPNewRenoStateVariables |
State variables for TCPNewReno. More... | |
typedef TCPBaseAlgStateVariables | TCPNoCongestionControlStateVariables |
State variables for TCPNoCongestionControl. More... | |
typedef TCPTahoeRenoFamilyStateVariables | TCPRenoStateVariables |
State variables for TCPReno. More... | |
typedef TCPTahoeRenoFamilyStateVariables | TCPTahoeStateVariables |
State variables for TCPTahoe. More... | |
typedef std::list< Sack > | SackList |
typedef TCPOption * | TCPOptionPtr |
typedef cPacket * | cPacketPtr |
typedef intptr_t | mem_ptr_t |
typedef uint8_t | u8_t |
typedef uint16_t | u16_t |
typedef uint32_t | u32_t |
typedef int8_t | s8_t |
typedef int16_t | s16_t |
typedef int32_t | s32_t |
typedef void * | sys_sem_t |
typedef void * | sys_mbox_t |
typedef void * | sys_thread_t |
typedef s8_t | err_t |
Define LWIP_ERR_T in cc.h if you want to use a different type for your platform (must be signed). More... | |
typedef void(* | sys_timeout_handler) (void *arg) |
Functions | |
Register_Class (DumbTCP) | |
Register_Class (TCPNewReno) | |
Register_Class (TCPNoCongestionControl) | |
Register_Class (TCPReno) | |
Register_Class (TCPTahoe) | |
Register_Class (TCPVegas) | |
Register_Class (TCPWestwood) | |
Register_Class (TCPByteStreamRcvQueue) | |
Register_Class (TCPByteStreamSendQueue) | |
Register_Class (TCPMsgBasedRcvQueue) | |
Register_Class (TCPMsgBasedSendQueue) | |
Register_Class (TCPVirtualDataRcvQueue) | |
Register_Class (TCPVirtualDataSendQueue) | |
Define_Module (TCP) | |
Register_Class (Sack) | |
Register_Class (TCPSegment) | |
std::ostream & | operator<< (std::ostream &os, cPacketPtr msg) |
void | doPacking (cCommBuffer *b, cPacketPtr &msg) |
void | doUnpacking (cCommBuffer *b, cPacketPtr &msg) |
void INET_API | __doPacking (omnetpp::cCommBuffer *b, const TCPPayloadMessage &a) |
void INET_API | __doUnpacking (omnetpp::cCommBuffer *b, TCPPayloadMessage &a) |
void | doParsimPacking (omnetpp::cCommBuffer *b, const TCPPayloadMessage &obj) |
void | doParsimUnpacking (omnetpp::cCommBuffer *b, TCPPayloadMessage &obj) |
void | doParsimPacking (omnetpp::cCommBuffer *b, const SackItem &obj) |
void | doParsimUnpacking (omnetpp::cCommBuffer *b, SackItem &obj) |
void | doParsimPacking (omnetpp::cCommBuffer *b, const TCPOption &obj) |
void | doParsimUnpacking (omnetpp::cCommBuffer *b, TCPOption &obj) |
void | doParsimPacking (omnetpp::cCommBuffer *b, const TCPOptionEnd &obj) |
void | doParsimUnpacking (omnetpp::cCommBuffer *b, TCPOptionEnd &obj) |
void | doParsimPacking (omnetpp::cCommBuffer *b, const TCPOptionNop &obj) |
void | doParsimUnpacking (omnetpp::cCommBuffer *b, TCPOptionNop &obj) |
void | doParsimPacking (omnetpp::cCommBuffer *b, const TCPOptionMaxSegmentSize &obj) |
void | doParsimUnpacking (omnetpp::cCommBuffer *b, TCPOptionMaxSegmentSize &obj) |
void | doParsimPacking (omnetpp::cCommBuffer *b, const TCPOptionWindowScale &obj) |
void | doParsimUnpacking (omnetpp::cCommBuffer *b, TCPOptionWindowScale &obj) |
void | doParsimPacking (omnetpp::cCommBuffer *b, const TCPOptionSackPermitted &obj) |
void | doParsimUnpacking (omnetpp::cCommBuffer *b, TCPOptionSackPermitted &obj) |
void | doParsimPacking (omnetpp::cCommBuffer *b, const TCPOptionSack &obj) |
void | doParsimUnpacking (omnetpp::cCommBuffer *b, TCPOptionSack &obj) |
void | doParsimPacking (omnetpp::cCommBuffer *b, const TCPOptionTimestamp &obj) |
void | doParsimUnpacking (omnetpp::cCommBuffer *b, TCPOptionTimestamp &obj) |
void | doParsimPacking (omnetpp::cCommBuffer *b, const TCPOptionUnknown &obj) |
void | doParsimUnpacking (omnetpp::cCommBuffer *b, TCPOptionUnknown &obj) |
Define_Module (TCPSpoof) | |
void | memp_init (void) |
Initialize this module. More... | |
void * | memp_malloc (memp_t type) |
Get an element from a specific pool. More... | |
void | memp_free (memp_t type, void *mem) |
Put an element back into its pool. More... | |
struct pbuf * | pbuf_alloc (pbuf_layer layer, u16_t length, pbuf_type type) |
Allocates a pbuf of the given type (possibly a chain for PBUF_POOL type). More... | |
void | pbuf_realloc (struct pbuf *p, u16_t new_len) |
Shrink a pbuf chain to a desired length. More... | |
u8_t | pbuf_header (struct pbuf *p, s16_t header_size_increment) |
Adjusts the payload pointer to hide or reveal headers in the payload. More... | |
u8_t | pbuf_free (struct pbuf *p) |
Dereference a pbuf chain or queue and deallocate any no-longer-used pbufs at the head of this chain or queue. More... | |
u8_t | pbuf_clen (struct pbuf *p) |
Count number of pbufs in a chain. More... | |
void | pbuf_ref (struct pbuf *p) |
Increment the reference count of the pbuf. More... | |
void | pbuf_cat (struct pbuf *h, struct pbuf *t) |
Concatenate two pbufs (each may be a pbuf chain) and take over the caller's reference of the tail pbuf. More... | |
void | pbuf_chain (struct pbuf *h, struct pbuf *t) |
Chain two pbufs (or pbuf chains) together. More... | |
struct pbuf * | pbuf_dechain (struct pbuf *p) |
Dechains the first pbuf from its succeeding pbufs in the chain. More... | |
err_t | pbuf_copy (struct pbuf *p_to, struct pbuf *p_from) |
Create PBUF_RAM copies of pbufs. More... | |
u16_t | pbuf_copy_partial (struct pbuf *buf, void *dataptr, u16_t len, u16_t offset) |
Copy (part of) the contents of a packet buffer to an application supplied buffer. More... | |
err_t | pbuf_take (struct pbuf *buf, const void *dataptr, u16_t len) |
Copy application supplied data into a pbuf. More... | |
struct pbuf * | pbuf_coalesce (struct pbuf *p, pbuf_layer layer) |
Creates a single pbuf out of a queue of pbufs. More... | |
u32_t | inet_addr (const char *cp) |
int | inet_aton (const char *cp, struct in_addr *addr) |
char * | inet_ntoa (struct in_addr addr) |
u16_t | inet_chksum (void *dataptr, u16_t len) |
u16_t | inet_chksum_pbuf (struct pbuf *p) |
u16_t | inet_chksum_pseudo (struct pbuf *p, struct ip_addr *src, struct ip_addr *dest, u8_t proto, u16_t proto_len) |
u8_t | ip_addr_isbroadcast (struct ip_addr *, struct netif *) |
struct netif * | ip_route (struct ip_addr *dest) |
err_t | ip_input (struct pbuf *p, struct netif *inp) |
err_t | ip_output (struct pbuf *p, struct ip_addr *src, struct ip_addr *dest, u8_t ttl, u8_t tos, u8_t proto) |
err_t | ip_output_if (struct pbuf *p, struct ip_addr *src, struct ip_addr *dest, u8_t ttl, u8_t tos, u8_t proto, struct netif *netif) |
struct netbuf * | netbuf_new (void) |
void | netbuf_delete (struct netbuf *buf) |
void * | netbuf_alloc (struct netbuf *buf, u16_t size) |
void | netbuf_free (struct netbuf *buf) |
err_t | netbuf_ref (struct netbuf *buf, const void *dataptr, u16_t size) |
void | netbuf_chain (struct netbuf *head, struct netbuf *tail) |
u16_t | netbuf_len (struct netbuf *buf) |
err_t | netbuf_data (struct netbuf *buf, void **dataptr, u16_t *len) |
s8_t | netbuf_next (struct netbuf *buf) |
void | netbuf_first (struct netbuf *buf) |
struct netif * | netif_add (struct netif *netif, struct ip_addr *ipaddr, struct ip_addr *netmask, struct ip_addr *gw, void *state, err_t(*init)(struct netif *netif), err_t(*input)(struct pbuf *p, struct netif *netif)) |
void | netif_set_addr (struct netif *netif, struct ip_addr *ipaddr, struct ip_addr *netmask, struct ip_addr *gw) |
void | netif_remove (struct netif *netif) |
struct netif * | netif_find (char *name) |
void | netif_set_default (struct netif *netif) |
void | netif_set_ipaddr (struct netif *netif, struct ip_addr *ipaddr) |
void | netif_set_netmask (struct netif *netif, struct ip_addr *netmask) |
void | netif_set_gw (struct netif *netif, struct ip_addr *gw) |
void | netif_set_up (struct netif *netif) |
void | netif_set_down (struct netif *netif) |
u8_t | netif_is_up (struct netif *netif) |
void | pbuf_ref_chain (struct pbuf *p) |
void | sys_init (void) |
void | sys_timeout (u32_t msecs, sys_timeout_handler h, void *arg) |
void | sys_untimeout (sys_timeout_handler h, void *arg) |
struct sys_timeouts * | sys_arch_timeouts (void) |
sys_sem_t | sys_sem_new (u8_t count) |
void | sys_sem_signal (sys_sem_t sem) |
u32_t | sys_arch_sem_wait (sys_sem_t sem, u32_t timeout) |
void | sys_sem_free (sys_sem_t sem) |
void | sys_sem_wait (sys_sem_t sem) |
int | sys_sem_wait_timeout (sys_sem_t sem, u32_t timeout) |
void | sys_msleep (u32_t ms) |
u32_t | sys_jiffies (void) |
sys_mbox_t | sys_mbox_new (int size) |
void | sys_mbox_post (sys_mbox_t mbox, void *msg) |
err_t | sys_mbox_trypost (sys_mbox_t mbox, void *msg) |
u32_t | sys_arch_mbox_fetch (sys_mbox_t mbox, void **msg, u32_t timeout) |
u32_t | sys_arch_mbox_tryfetch (sys_mbox_t mbox, void **msg) |
void | sys_mbox_free (sys_mbox_t mbox) |
void | sys_mbox_fetch (sys_mbox_t mbox, void **msg) |
sys_thread_t | sys_thread_new (char *name, void(*thread)(void *arg), void *arg, int stacksize, int prio) |
u32_t | sys_now (void) |
Returns the current time in milliseconds. More... | |
void | tcpip_init (void(*tcpip_init_done)(void *), void *arg) |
err_t | tcpip_input (struct pbuf *p, struct netif *inp) |
err_t | tcpip_callback_with_block (void(*f)(void *ctx), void *ctx, u8_t block) |
err_t | pbuf_free_callback (struct pbuf *p) |
err_t | mem_free_callback (void *m) |
err_t | tcpip_timeout (u32_t msecs, sys_timeout_handler h, void *arg) |
err_t | tcpip_untimeout (sys_timeout_handler h, void *arg) |
err_t | loopif_init (struct netif *netif) |
err_t | slipif_init (struct netif *netif) |
void | slipif_poll (struct netif *netif) |
Register_Class (TcpLwipByteStreamSendQueue) | |
Register_Class (TcpLwipByteStreamReceiveQueue) | |
Register_Class (TcpLwipMsgBasedSendQueue) | |
Register_Class (TcpLwipMsgBasedReceiveQueue) | |
Register_Class (TcpLwipVirtualDataSendQueue) | |
Register_Class (TcpLwipVirtualDataReceiveQueue) | |
Define_Module (TCP_lwIP) | |
simtime_t | roundTime (const simtime_t &timeP, int secSlicesP) |
Register_Class (TCP_NSC_ByteStreamSendQueue) | |
Register_Class (TCP_NSC_ByteStreamReceiveQueue) | |
Register_Class (TCP_NSC_VirtualDataSendQueue) | |
Register_Class (TCP_NSC_VirtualDataReceiveQueue) | |
Define_Module (TCP_NSC) | |
struct inet::tcp::nsc_iphdr | __attribute__ ((packed)) |
Comparing sequence numbers | |
bool | seqLess (uint32 a, uint32 b) |
bool | seqLE (uint32 a, uint32 b) |
bool | seqGreater (uint32 a, uint32 b) |
bool | seqGE (uint32 a, uint32 b) |
uint32 | seqMin (uint32 a, uint32 b) |
uint32 | seqMax (uint32 a, uint32 b) |
Variables | |
const unsigned int | TCP_MAX_HEADER_OCTETS = 60 |
const unsigned int | MAX_SACK_ENTRIES = 4 |
PACK_STRUCT_BEGIN struct inet::tcp::ip_addr | PACK_STRUCT_STRUCT |
const struct ip_addr | ip_addr_any |
const struct ip_addr | ip_addr_broadcast |
struct netif * | current_netif |
The interface that provided the packet for the current callback invocation. More... | |
const struct ip_hdr * | current_header |
Header of the input packet currently being processed. More... | |
struct netif * | netif_list |
The list of network interfaces. More... | |
struct netif * | netif_default |
The default network interface. More... | |
inet::tcp::TCP_NSC | __attribute__ |
typedef cPacket* inet::tcp::cPacketPtr |
typedef s8_t inet::tcp::err_t |
Define LWIP_ERR_T in cc.h if you want to use a different type for your platform (must be signed).
typedef intptr_t inet::tcp::mem_ptr_t |
typedef int16_t inet::tcp::s16_t |
typedef int32_t inet::tcp::s32_t |
typedef int8_t inet::tcp::s8_t |
typedef std::list<Sack> inet::tcp::SackList |
typedef void* inet::tcp::sys_mbox_t |
typedef void* inet::tcp::sys_sem_t |
typedef void* inet::tcp::sys_thread_t |
typedef void(* inet::tcp::sys_timeout_handler) (void *arg) |
State variables for TCPNewReno.
State variables for TCPNoCongestionControl.
typedef TCPOption* inet::tcp::TCPOptionPtr |
State variables for TCPReno.
State variables for TCPTahoe.
typedef uint16_t inet::tcp::u16_t |
typedef uint32_t inet::tcp::u32_t |
typedef uint8_t inet::tcp::u8_t |
enum inet::tcp::memp_t |
enum inet::tcp::pbuf_type |
Enum generated from inet/transportlayer/tcp_common/TCPSegment.msg:76
by nedtool.
// // TCP Option Numbers // Reference: http://www.iana.org/assignments/tcp-parameters/ // Date: 2011-07-02 // // Note: Options not yet implemented should stay commented out // enum TCPOptionNumbers {TCPOPTION_END_OF_OPTION_LIST = 0; // RFC 793, LENGTH: 1 Byte TCPOPTION_NO_OPERATION = 1; // RFC 793, LENGTH: 1 Byte TCPOPTION_MAXIMUM_SEGMENT_SIZE = 2; // RFC 793, LENGTH: 4 Bytes TCPOPTION_WINDOW_SCALE = 3; // RFC 1323, LENGTH: 3 Bytes TCPOPTION_SACK_PERMITTED = 4; // RFC 2018, LENGTH: 2 Bytes TCPOPTION_SACK = 5; // RFC 2018, LENGTH: N (max. N = 4) 8 * n + 2 Bytes => 32 + 2 + 2 * NOP = 36 Bytes; If TIMESTAMP option is used with SACK: max. n = 3 => 12 Bytes (for Timestamp) + 28 Bytes (for SACK) = 40 Bytes // TCPOPTION_ECHO = 6; // (obsoleted by option 8) RFC 1072 & RFC 6247, LENGTH: 6 Bytes // TCPOPTION_ECHO_REPLY = 7; // (obsoleted by option 8) RFC 1072 & RFC 6247, LENGTH: 6 Bytes TCPOPTION_TIMESTAMP = 8; // RFC 1323, LENGTH: 10 Bytes}
Enumerator | |
---|---|
TCPOPTION_END_OF_OPTION_LIST | |
TCPOPTION_NO_OPERATION | |
TCPOPTION_MAXIMUM_SEGMENT_SIZE | |
TCPOPTION_WINDOW_SCALE | |
TCPOPTION_SACK_PERMITTED | |
TCPOPTION_SACK | |
TCPOPTION_TIMESTAMP |
enum inet::tcp::TcpState |
Enumerator | |
---|---|
TCP_S_INIT | |
TCP_S_CLOSED | |
TCP_S_LISTEN | |
TCP_S_SYN_SENT | |
TCP_S_SYN_RCVD | |
TCP_S_ESTABLISHED | |
TCP_S_CLOSE_WAIT | |
TCP_S_LAST_ACK | |
TCP_S_FIN_WAIT_1 | |
TCP_S_FIN_WAIT_2 | |
TCP_S_CLOSING | |
TCP_S_TIME_WAIT |
struct inet::tcp::nsc_iphdr inet::tcp::__attribute__ | ( | (packed) | ) |
void INET_API inet::tcp::__doPacking | ( | omnetpp::cCommBuffer * | b, |
const TCPPayloadMessage & | a | ||
) |
Referenced by doParsimPacking().
void INET_API inet::tcp::__doUnpacking | ( | omnetpp::cCommBuffer * | b, |
TCPPayloadMessage & | a | ||
) |
Referenced by doParsimUnpacking().
inet::tcp::Define_Module | ( | TCPSpoof | ) |
inet::tcp::Define_Module | ( | TCP | ) |
inet::tcp::Define_Module | ( | TCP_lwIP | ) |
inet::tcp::Define_Module | ( | TCP_NSC | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
u32_t inet::tcp::inet_addr | ( | const char * | cp | ) |
int inet::tcp::inet_aton | ( | const char * | cp, |
struct in_addr * | addr | ||
) |
u16_t inet::tcp::inet_chksum_pseudo | ( | struct pbuf * | p, |
struct ip_addr * | src, | ||
struct ip_addr * | dest, | ||
u8_t | proto, | ||
u16_t | proto_len | ||
) |
char* inet::tcp::inet_ntoa | ( | struct in_addr | addr | ) |
err_t inet::tcp::ip_output | ( | struct pbuf * | p, |
struct ip_addr * | src, | ||
struct ip_addr * | dest, | ||
u8_t | ttl, | ||
u8_t | tos, | ||
u8_t | proto | ||
) |
Referenced by inet::tcp::TCP_lwIP::numInitStages().
err_t inet::tcp::ip_output_if | ( | struct pbuf * | p, |
struct ip_addr * | src, | ||
struct ip_addr * | dest, | ||
u8_t | ttl, | ||
u8_t | tos, | ||
u8_t | proto, | ||
struct netif * | netif | ||
) |
Referenced by inet::tcp::TCP_lwIP::numInitStages().
err_t inet::tcp::mem_free_callback | ( | void * | m | ) |
void inet::tcp::LwipTcpLayer::memp_free | ( | memp_t | type, |
void * | mem | ||
) |
Put an element back into its pool.
type | the pool where to put mem |
mem | the memp element to free |
Referenced by ip_addr_isbroadcast(), and pbuf_free().
void inet::tcp::memp_init | ( | void | ) |
Initialize this module.
Carves out memp_memory into linked lists for each pool-type.
void * inet::tcp::memp_malloc | ( | memp_t | type | ) |
Get an element from a specific pool.
type | the pool to get an element from |
the debug version has two more parameters:
file | file name calling this function |
line | number of line where this function is called |
Referenced by pbuf_alloc().
void inet::tcp::netbuf_delete | ( | struct netbuf * | buf | ) |
void inet::tcp::netbuf_first | ( | struct netbuf * | buf | ) |
void inet::tcp::netbuf_free | ( | struct netbuf * | buf | ) |
struct netbuf* inet::tcp::netbuf_new | ( | void | ) |
struct netif* inet::tcp::netif_add | ( | struct netif * | netif, |
struct ip_addr * | ipaddr, | ||
struct ip_addr * | netmask, | ||
struct ip_addr * | gw, | ||
void * | state, | ||
err_t(*)(struct netif *netif) | init, | ||
err_t(*)(struct pbuf *p, struct netif *netif) | input | ||
) |
struct netif* inet::tcp::netif_find | ( | char * | name | ) |
void inet::tcp::netif_remove | ( | struct netif * | netif | ) |
void inet::tcp::netif_set_addr | ( | struct netif * | netif, |
struct ip_addr * | ipaddr, | ||
struct ip_addr * | netmask, | ||
struct ip_addr * | gw | ||
) |
void inet::tcp::netif_set_default | ( | struct netif * | netif | ) |
void inet::tcp::netif_set_down | ( | struct netif * | netif | ) |
void inet::tcp::netif_set_up | ( | struct netif * | netif | ) |
|
inline |
struct pbuf * inet::tcp::pbuf_alloc | ( | pbuf_layer | layer, |
u16_t | length, | ||
pbuf_type | type | ||
) |
Allocates a pbuf of the given type (possibly a chain for PBUF_POOL type).
The actual memory allocated for the pbuf is determined by the layer at which the pbuf is allocated and the requested size (from the size parameter).
layer | flag to define header size |
length | size of the pbuf's payload |
type | this parameter decides how and where the pbuf should be allocated as follows: |
Referenced by pbuf_coalesce().
Concatenate two pbufs (each may be a pbuf chain) and take over the caller's reference of the tail pbuf.
Referenced by pbuf_chain().
Chain two pbufs (or pbuf chains) together.
The caller MUST call pbuf_free(t) once it has stopped using it. Use pbuf_cat() instead if you no longer use t.
h | head pbuf (chain) |
t | tail pbuf (chain) |
The ->tot_len fields of all pbufs of the head chain are adjusted. The ->next field of the last pbuf of the head chain is adjusted. The ->ref field of the first pbuf of the tail chain is adjusted.
Count number of pbufs in a chain.
p | first pbuf of chain |
struct pbuf * inet::tcp::pbuf_coalesce | ( | struct pbuf * | p, |
pbuf_layer | layer | ||
) |
Creates a single pbuf out of a queue of pbufs.
p | the source pbuf |
layer | pbuf_layer of the new pbuf |
Create PBUF_RAM copies of pbufs.
Used to queue packets on behalf of the lwIP stack, such as ARP based queueing.
p_to | pbuf destination of the copy |
p_from | pbuf source of the copy |
Referenced by pbuf_coalesce().
Copy (part of) the contents of a packet buffer to an application supplied buffer.
buf | the pbuf from which to copy data |
dataptr | the application supplied buffer |
len | length of data to copy (dataptr must be big enough). No more than buf->tot_len will be copied, irrespective of len |
offset | offset into the packet buffer from where to begin copying len bytes |
Dechains the first pbuf from its succeeding pbufs in the chain.
Makes p->tot_len field equal to p->len.
p | pbuf to dechain |
Dereference a pbuf chain or queue and deallocate any no-longer-used pbufs at the head of this chain or queue.
Decrements the pbuf reference count. If it reaches zero, the pbuf is deallocated.
For a pbuf chain, this is repeated for each pbuf in the chain, up to the first pbuf which has a non-zero reference count after decrementing. So, when all reference counts are one, the whole chain is free'd.
p | The pbuf (chain) to be dereferenced. |
Referenced by pbuf_alloc(), pbuf_coalesce(), pbuf_dechain(), pbuf_realloc(), and inet::tcp::TCP_lwIP::tcp_event_recv().
Adjusts the payload pointer to hide or reveal headers in the payload.
Adjusts the ->payload pointer so that space for a header (dis)appears in the pbuf payload.
The ->payload, ->tot_len and ->len fields are adjusted.
p | pbuf to change the header size. |
header_size_increment | Number of bytes to increment header size which increases the size of the pbuf. New space is on the front. (Using a negative value decreases the header size.) If hdr_size_inc is 0, this function does nothing and returns succesful. |
PBUF_ROM and PBUF_REF type buffers cannot have their sizes increased, so the call will fail. A check is made that the increase in header size does not move the payload pointer in front of the start of the buffer.
Shrink a pbuf chain to a desired length.
p | pbuf to shrink. |
new_len | desired new length of pbuf chain |
Depending on the desired length, the first few pbufs in a chain might be skipped and left unchanged. The new last pbuf in the chain will be resized, and any remaining pbufs will be freed.
void inet::tcp::pbuf_ref | ( | struct pbuf * | p | ) |
Increment the reference count of the pbuf.
p | pbuf to increase reference counter of |
Referenced by pbuf_chain().
void inet::tcp::pbuf_ref_chain | ( | struct pbuf * | p | ) |
Copy application supplied data into a pbuf.
This function can only be used to copy the equivalent of buf->tot_len data.
buf | pbuf to fill with data |
dataptr | application supplied data buffer |
len | length of the application supplied data buffer |
inet::tcp::Register_Class | ( | Sack | ) |
inet::tcp::Register_Class | ( | TCPVirtualDataSendQueue | ) |
inet::tcp::Register_Class | ( | TCPVirtualDataRcvQueue | ) |
inet::tcp::Register_Class | ( | TCPNoCongestionControl | ) |
inet::tcp::Register_Class | ( | DumbTCP | ) |
Referenced by inet::tcp::Sack::str().
inet::tcp::Register_Class | ( | TCPNewReno | ) |
inet::tcp::Register_Class | ( | TCPTahoe | ) |
inet::tcp::Register_Class | ( | TCPMsgBasedSendQueue | ) |
inet::tcp::Register_Class | ( | TCPReno | ) |
inet::tcp::Register_Class | ( | TCPByteStreamSendQueue | ) |
inet::tcp::Register_Class | ( | TCPMsgBasedRcvQueue | ) |
inet::tcp::Register_Class | ( | TCPVegas | ) |
inet::tcp::Register_Class | ( | TCPWestwood | ) |
inet::tcp::Register_Class | ( | TcpLwipVirtualDataSendQueue | ) |
inet::tcp::Register_Class | ( | TCP_NSC_VirtualDataSendQueue | ) |
inet::tcp::Register_Class | ( | TcpLwipMsgBasedSendQueue | ) |
inet::tcp::Register_Class | ( | TCP_NSC_VirtualDataReceiveQueue | ) |
inet::tcp::Register_Class | ( | TCP_NSC_ByteStreamSendQueue | ) |
inet::tcp::Register_Class | ( | TcpLwipVirtualDataReceiveQueue | ) |
inet::tcp::Register_Class | ( | TCPByteStreamRcvQueue | ) |
inet::tcp::Register_Class | ( | TcpLwipByteStreamSendQueue | ) |
inet::tcp::Register_Class | ( | TcpLwipMsgBasedReceiveQueue | ) |
inet::tcp::Register_Class | ( | TcpLwipByteStreamReceiveQueue | ) |
inet::tcp::Register_Class | ( | TCP_NSC_ByteStreamReceiveQueue | ) |
inet::tcp::Register_Class | ( | TCPSegment | ) |
simtime_t inet::tcp::roundTime | ( | const simtime_t & | timeP, |
int | secSlicesP | ||
) |
Referenced by inet::tcp::TCP_lwIP::handleMessage().
Referenced by inet::tcp::TCPConnection::addSacks(), inet::tcp::TCPVirtualDataRcvQueue::extractTo(), inet::tcp::TCPVirtualDataRcvQueue::insertBytesFromSegment(), inet::tcp::TCPConnection::isLost(), inet::tcp::TcpLwipMsgBasedReceiveQueue::notifyAboutIncomingSegmentProcessing(), inet::tcp::TCPConnection::processAckInEstabEtc(), inet::tcp::TCPReno::receivedDataAck(), inet::tcp::TCPNewReno::receivedDataAck(), inet::tcp::TCPReno::receivedDuplicateAck(), inet::tcp::TCPConnection::sendSegment(), inet::tcp::TCPSACKRexmitQueue::setSackedBit(), and inet::tcp::TCPConnection::updateRcvWnd().
Referenced by inet::tcp::TCPConnection::processAckInEstabEtc(), inet::tcp::TCPConnection::processSACKOption(), inet::tcp::TCPConnection::processSegment1stThru8th(), inet::tcp::TCPConnection::processSegmentInSynSent(), inet::tcp::TCPVegas::receivedDataAck(), inet::tcp::TCPConnection::retransmitOneSegment(), inet::tcp::TCPConnection::sendData(), inet::tcp::TCPConnection::sendOneNewSegment(), inet::tcp::TCPConnection::sendSegmentDuringLossRecoveryPhase(), inet::tcp::TCPByteStreamRcvQueue::Region::split(), inet::tcp::TCPVirtualDataRcvQueue::Region::split(), and inet::tcp::TCPSegment::truncateSegment().
Referenced by inet::tcp::TCPConnection::addSacks(), inet::tcp::TCPSACKRexmitQueue::checkRexmitQueueForSackedOrRexmittedSegments(), inet::tcp::TCPSACKRexmitQueue::checkSackBlock(), inet::tcp::TCPSegmentTransmitInfoList::clearTo(), inet::tcp::Sack::contains(), inet::tcp::TCPByteStreamSendQueue::createSegmentWithBytes(), inet::tcp::TCPVirtualDataSendQueue::createSegmentWithBytes(), inet::tcp::TCPMsgBasedSendQueue::createSegmentWithBytes(), inet::tcp::TcpLwipMsgBasedSendQueue::createSegmentWithBytes(), inet::tcp::TcpLwipMsgBasedSendQueue::discardAckedBytes(), inet::tcp::TCPByteStreamSendQueue::discardUpTo(), inet::tcp::TCPVirtualDataSendQueue::discardUpTo(), inet::tcp::TCPMsgBasedSendQueue::discardUpTo(), inet::tcp::TCPSACKRexmitQueue::discardUpTo(), inet::tcp::TCPSACKRexmitQueue::enqueueSentData(), inet::tcp::TcpLwipMsgBasedReceiveQueue::extractBytesUpTo(), inet::tcp::TCPVirtualDataRcvQueue::extractTo(), inet::tcp::TCPSegmentTransmitInfoList::get(), inet::tcp::TCPSACKRexmitQueue::getAmountOfSackedBytes(), inet::tcp::TCPVirtualDataRcvQueue::getLE(), inet::tcp::TCPVirtualDataRcvQueue::Region::getLengthTo(), inet::tcp::TCPSACKRexmitQueue::getNumOfDiscontiguousSacks(), inet::tcp::TCPVirtualDataRcvQueue::getRE(), inet::tcp::TCPSACKRexmitQueue::getSackedBit(), inet::tcp::TCPConnection::hasEnoughSpaceForSegmentInReceiveQueue(), inet::tcp::TCPMsgBasedRcvQueue::insertBytesFromSegment(), inet::tcp::TCPConnection::isSegmentAcceptable(), inet::tcp::TcpLwipMsgBasedReceiveQueue::notifyAboutIncomingSegmentProcessing(), inet::tcp::TCPConnection::processAckInEstabEtc(), inet::tcp::TCPConnection::processSACKOption(), inet::tcp::TCPConnection::processSegment1stThru8th(), inet::tcp::TCPConnection::processSegmentInSynSent(), inet::tcp::TCPConnection::processTSOption(), inet::tcp::TCPConnection::sendSegmentDuringLossRecoveryPhase(), inet::tcp::TCPSegmentTransmitInfoList::set(), inet::tcp::TCPSACKRexmitQueue::setSackedBit(), and inet::tcp::TCPConnection::updateWndInfo().
Referenced by inet::tcp::TCPConnection::addSacks(), inet::tcp::TCPSACKRexmitQueue::checkQueue(), inet::tcp::TCPSACKRexmitQueue::checkRexmitQueueForSackedOrRexmittedSegments(), inet::tcp::TCPSACKRexmitQueue::checkSackBlock(), inet::tcp::TCPSegmentTransmitInfoList::clearTo(), inet::tcp::TCPVirtualDataRcvQueue::Region::compare(), inet::tcp::TCPSACKRexmitQueue::discardUpTo(), inet::tcp::TCPVirtualDataSendQueue::enqueueAppData(), inet::tcp::TCPMsgBasedSendQueue::enqueueAppData(), inet::tcp::TCPSACKRexmitQueue::enqueueSentData(), inet::tcp::TCPMsgBasedRcvQueue::extractBytesUpTo(), inet::tcp::TCPSegmentTransmitInfoList::get(), inet::tcp::TCPSACKRexmitQueue::getAmountOfSackedBytes(), inet::tcp::TCPSendQueue::getBytesAvailable(), inet::tcp::TCPVirtualDataRcvQueue::getLE(), inet::tcp::TCPVirtualDataRcvQueue::Region::getLengthTo(), inet::tcp::TCPVirtualDataRcvQueue::getRE(), inet::tcp::TCPSACKRexmitQueue::getSackedBit(), inet::tcp::TCPMsgBasedRcvQueue::insertBytesFromSegment(), inet::tcp::TCPConnection::isSegmentAcceptable(), inet::tcp::TCPByteStreamRcvQueue::Region::merge(), inet::tcp::TCPVirtualDataRcvQueue::Region::merge(), inet::tcp::TCPConnection::nextSeg(), inet::tcp::TcpLwipMsgBasedReceiveQueue::notifyAboutIncomingSegmentProcessing(), inet::tcp::TCPConnection::processAckInEstabEtc(), inet::tcp::TCPConnection::processSegment1stThru8th(), inet::tcp::TCPConnection::processTSOption(), inet::tcp::TCPBaseAlg::receivedDataAck(), inet::tcp::TCPConnection::sendSegmentDuringLossRecoveryPhase(), inet::tcp::TCPSegmentTransmitInfoList::set(), inet::tcp::TCPConnection::setPipe(), inet::tcp::TCPSACKRexmitQueue::setSackedBit(), inet::tcp::TCPByteStreamRcvQueue::Region::split(), inet::tcp::TCPVirtualDataRcvQueue::Region::split(), inet::tcp::TCPSegment::truncateSegment(), and inet::tcp::TCPConnection::updateWndInfo().
void inet::tcp::slipif_poll | ( | struct netif * | netif | ) |
u32_t inet::tcp::sys_arch_mbox_fetch | ( | sys_mbox_t | mbox, |
void ** | msg, | ||
u32_t | timeout | ||
) |
u32_t inet::tcp::sys_arch_mbox_tryfetch | ( | sys_mbox_t | mbox, |
void ** | msg | ||
) |
struct sys_timeouts* inet::tcp::sys_arch_timeouts | ( | void | ) |
void inet::tcp::sys_init | ( | void | ) |
u32_t inet::tcp::sys_jiffies | ( | void | ) |
void inet::tcp::sys_mbox_fetch | ( | sys_mbox_t | mbox, |
void ** | msg | ||
) |
void inet::tcp::sys_mbox_free | ( | sys_mbox_t | mbox | ) |
sys_mbox_t inet::tcp::sys_mbox_new | ( | int | size | ) |
void inet::tcp::sys_mbox_post | ( | sys_mbox_t | mbox, |
void * | msg | ||
) |
err_t inet::tcp::sys_mbox_trypost | ( | sys_mbox_t | mbox, |
void * | msg | ||
) |
void inet::tcp::sys_msleep | ( | u32_t | ms | ) |
u32_t inet::tcp::sys_now | ( | void | ) |
Returns the current time in milliseconds.
void inet::tcp::sys_sem_free | ( | sys_sem_t | sem | ) |
void inet::tcp::sys_sem_signal | ( | sys_sem_t | sem | ) |
void inet::tcp::sys_sem_wait | ( | sys_sem_t | sem | ) |
sys_thread_t inet::tcp::sys_thread_new | ( | char * | name, |
void(*)(void *arg) | thread, | ||
void * | arg, | ||
int | stacksize, | ||
int | prio | ||
) |
void inet::tcp::sys_timeout | ( | u32_t | msecs, |
sys_timeout_handler | h, | ||
void * | arg | ||
) |
void inet::tcp::sys_untimeout | ( | sys_timeout_handler | h, |
void * | arg | ||
) |
void inet::tcp::tcpip_init | ( | void(*)(void *) | tcpip_init_done, |
void * | arg | ||
) |
err_t inet::tcp::tcpip_timeout | ( | u32_t | msecs, |
sys_timeout_handler | h, | ||
void * | arg | ||
) |
err_t inet::tcp::tcpip_untimeout | ( | sys_timeout_handler | h, |
void * | arg | ||
) |
class INET_API inet::tcp::TCP_NSC_Connection inet::tcp::__attribute__ |
const struct ip_hdr* inet::tcp::current_header |
Header of the input packet currently being processed.
struct netif* inet::tcp::current_netif |
The interface that provided the packet for the current callback invocation.
const struct ip_addr inet::tcp::ip_addr_any |
const struct ip_addr inet::tcp::ip_addr_broadcast |
const unsigned int inet::tcp::MAX_SACK_ENTRIES = 4 |
struct netif* inet::tcp::netif_default |
The default network interface.
struct netif* inet::tcp::netif_list |
The list of network interfaces.
PACK_STRUCT_BEGIN struct inet::tcp::ip_hdr inet::tcp::PACK_STRUCT_STRUCT |
const unsigned int inet::tcp::TCP_MAX_HEADER_OCTETS = 60 |
Referenced by inet::tcp::TCPConnection::sendToIP().