|
INET Framework for OMNeT++/OMNEST
|
Classes | |
| class | DcTcp |
| Implements DCTCP. More... | |
| class | DcTcpFamily |
| Provides utility functions to implement DcTcp. More... | |
| class | DcTcpFamilyStateVariables |
| State variables for DcTcp. More... | |
| 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 TcpLwip and LwipTcpLayer. More... | |
| struct | memp |
| struct | netbuf |
| struct | netif |
| Generic data structure used for all lwIP network interfaces. More... | |
| struct | pbuf |
| class | Sack |
Class generated from inet/transportlayer/tcp_common/TcpHeader.msg:87 by opp_msgtool. More... | |
| class | SackItem |
Class generated from inet/transportlayer/tcp_common/TcpHeader.msg:80 by opp_msgtool. More... | |
| struct | sys_timeo |
| struct | sys_timeouts |
| class | Tcp |
| Implements the Tcp protocol. 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 | TcpConnection |
| Manages a TCP connection. More... | |
| class | TcpCrcInsertionHook |
| struct | tcphdr |
| class | TcpHeader |
Class generated from inet/transportlayer/tcp_common/TcpHeader.msg:176 by opp_msgtool. More... | |
| class | TcpHeaderSerializer |
| Converts between TcpHeader and binary (network byte order) Tcp header. More... | |
| struct | tcpip_msg |
| class | TcpLwip |
| Module for using the LwIP TCP stack. More... | |
| class | TcpLwipConnection |
| Module for representing a connection in TcpLwip stack. More... | |
| class | TcpLwipReceiveQueue |
| TcpLwip receive queue. More... | |
| class | TcpLwipSendQueue |
| TcpLwip send queue. 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/TcpHeader.msg:102 by opp_msgtool. More... | |
| class | TcpOptionEnd |
Class generated from inet/transportlayer/tcp_common/TcpHeader.msg:109 by opp_msgtool. More... | |
| class | TcpOptionMaxSegmentSize |
Class generated from inet/transportlayer/tcp_common/TcpHeader.msg:121 by opp_msgtool. More... | |
| class | TcpOptionNop |
Class generated from inet/transportlayer/tcp_common/TcpHeader.msg:115 by opp_msgtool. More... | |
| class | TcpOptionSack |
Class generated from inet/transportlayer/tcp_common/TcpHeader.msg:141 by opp_msgtool. More... | |
| class | TcpOptionSackPermitted |
Class generated from inet/transportlayer/tcp_common/TcpHeader.msg:135 by opp_msgtool. More... | |
| class | TcpOptionTimestamp |
Class generated from inet/transportlayer/tcp_common/TcpHeader.msg:148 by opp_msgtool. More... | |
| class | TcpOptionUnknown |
Class generated from inet/transportlayer/tcp_common/TcpHeader.msg:156 by opp_msgtool. More... | |
| class | TcpOptionWindowScale |
Class generated from inet/transportlayer/tcp_common/TcpHeader.msg:128 by opp_msgtool. More... | |
| class | TcpReceiveQueue |
| Receive queue that manages Chunks. More... | |
| class | TcpReno |
| Implements TCP Reno. More... | |
| class | TcpSackRexmitQueue |
| Retransmission data for SACK. More... | |
| class | TcpSegmentTransmitInfoList |
| class | TcpSendQueue |
| Send queue that manages Chunks. 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 | TcpWestwood |
| class | TcpWestwoodStateVariables |
| State variables for TcpWestwood. More... | |
Typedefs | |
| typedef DcTcpFamilyStateVariables | DcTcpStateVariables |
| State variables for DcTcp. More... | |
| 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 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 (DcTcp) | |
| Register_Class (DumbTcp) | |
| Register_Class (TcpNewReno) | |
| Register_Class (TcpNoCongestionControl) | |
| Register_Class (TcpReno) | |
| Register_Class (TcpTahoe) | |
| Register_Class (TcpVegas) | |
| Register_Class (TcpWestwood) | |
| Define_Module (Tcp) | |
| std::ostream & | operator<< (std::ostream &os, const Tcp::SockPair &sp) |
| std::ostream & | operator<< (std::ostream &os, const TcpConnection &conn) |
| Define_Module (TcpConnection) | |
| Register_Class (TcpReceiveQueue) | |
| Register_Class (TcpSendQueue) | |
| Define_Module (TcpCrcInsertionHook) | |
| Register_Class (Sack) | |
| void | doParsimPacking (omnetpp::cCommBuffer *b, const TcpConstants &e) |
| void | doParsimUnpacking (omnetpp::cCommBuffer *b, TcpConstants &e) |
| void | doParsimPacking (omnetpp::cCommBuffer *b, const TcpOptionNumbers &e) |
| void | doParsimUnpacking (omnetpp::cCommBuffer *b, TcpOptionNumbers &e) |
| void | doParsimPacking (omnetpp::cCommBuffer *b, const SackItem &obj) |
| void | doParsimUnpacking (omnetpp::cCommBuffer *b, SackItem &obj) |
| void | doParsimPacking (omnetpp::cCommBuffer *b, const Sack &obj) |
| void | doParsimUnpacking (omnetpp::cCommBuffer *b, Sack &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) |
| void | doParsimPacking (omnetpp::cCommBuffer *b, const TcpHeader &obj) |
| void | doParsimUnpacking (omnetpp::cCommBuffer *b, TcpHeader &obj) |
| Register_Serializer (TcpHeader, TcpHeaderSerializer) | |
| 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 (TcpLwipSendQueue) | |
| Register_Class (TcpLwipReceiveQueue) | |
| Define_Module (TcpLwip) | |
| simtime_t | roundTime (const simtime_t &timeP, int secSlicesP) |
| Define_Module (TcpLwipConnection) | |
Variables | |
| const B | TCP_MIN_HEADER_LENGTH = B(20) |
| const B | TCP_MAX_HEADER_LENGTH = B(60) |
| const B | TCP_OPTIONS_MAX_SIZE = B(40) |
| const B | TCP_OPTION_HEAD_SIZE = B(2) |
| const B | TCP_OPTION_SACK_MIN_SIZE = B(10) |
| const B | TCP_OPTION_SACK_ENTRY_SIZE = B(8) |
| const B | TCP_OPTION_TS_SIZE = B(12) |
| PACK_STRUCT_BEGIN struct inet::tcp::ip_addr2 | 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... | |
State variables for DcTcp.
| 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.
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/TcpHeader.msg:40 by opp_msgtool.
// // 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 |
| inet::tcp::Define_Module | ( | Tcp | ) |
| inet::tcp::Define_Module | ( | TcpConnection | ) |
| inet::tcp::Define_Module | ( | TcpCrcInsertionHook | ) |
| inet::tcp::Define_Module | ( | TcpLwip | ) |
| inet::tcp::Define_Module | ( | TcpLwipConnection | ) |
| inet::tcp::Define_Module | ( | TcpSpoof | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
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 | ||
| ) |
| 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 | ||
| ) |
| 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 pbuf_free(), and inet::tcp::TcpLwipConnection::~TcpLwipConnection().
| 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 | ) |
| std::ostream& inet::tcp::operator<< | ( | std::ostream & | os, |
| const Tcp::SockPair & | sp | ||
| ) |
| std::ostream& inet::tcp::operator<< | ( | std::ostream & | os, |
| const TcpConnection & | conn | ||
| ) |
| 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::TcpLwip::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 | ( | DcTcp | ) |
| inet::tcp::Register_Class | ( | DumbTcp | ) |
| inet::tcp::Register_Class | ( | Sack | ) |
| inet::tcp::Register_Class | ( | TcpLwipReceiveQueue | ) |
| inet::tcp::Register_Class | ( | TcpLwipSendQueue | ) |
| inet::tcp::Register_Class | ( | TcpNewReno | ) |
| inet::tcp::Register_Class | ( | TcpNoCongestionControl | ) |
| inet::tcp::Register_Class | ( | TcpReceiveQueue | ) |
| inet::tcp::Register_Class | ( | TcpReno | ) |
| inet::tcp::Register_Class | ( | TcpSendQueue | ) |
| inet::tcp::Register_Class | ( | TcpTahoe | ) |
| inet::tcp::Register_Class | ( | TcpVegas | ) |
| inet::tcp::Register_Class | ( | TcpWestwood | ) |
| inet::tcp::Register_Serializer | ( | TcpHeader | , |
| TcpHeaderSerializer | |||
| ) |
| simtime_t inet::tcp::roundTime | ( | const simtime_t & | timeP, |
| int | secSlicesP | ||
| ) |
Referenced by inet::tcp::TcpLwip::handleMessage().
|
inline |
Referenced by inet::tcp::TcpConnection::addSacks(), inet::tcp::TcpReceiveQueue::insertBytesFromSegment(), inet::tcp::TcpConnection::isLost(), inet::tcp::TcpConnection::processAckInEstabEtc(), inet::tcp::TcpNewReno::receivedDataAck(), inet::tcp::DcTcp::receivedDataAck(), inet::tcp::TcpReno::receivedDataAck(), inet::tcp::TcpReno::receivedDuplicateAck(), inet::tcp::TcpConnection::sendSegment(), inet::tcp::TcpReceiveQueue::seqToOffset(), inet::tcp::TcpSackRexmitQueue::setSackedBit(), and inet::tcp::TcpConnection::updateRcvWnd().
|
inline |
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::sendOneNewSegment(), inet::tcp::TcpConnection::sendSegment(), and inet::tcp::TcpConnection::sendSegmentDuringLossRecoveryPhase().
|
inline |
Referenced by inet::tcp::TcpConnection::addSacks(), inet::tcp::TcpSackRexmitQueue::checkRexmitQueueForSackedOrRexmittedSegments(), inet::tcp::TcpSackRexmitQueue::checkSackBlock(), inet::tcp::TcpSegmentTransmitInfoList::clearTo(), inet::tcp::Sack::contains(), inet::tcp::TcpSendQueue::createSegmentWithBytes(), inet::tcp::TcpSackRexmitQueue::discardUpTo(), inet::tcp::TcpSendQueue::discardUpTo(), inet::tcp::TcpSackRexmitQueue::enqueueSentData(), inet::tcp::TcpReceiveQueue::extractBytesUpTo(), inet::tcp::TcpSegmentTransmitInfoList::get(), inet::tcp::TcpSackRexmitQueue::getAmountOfSackedBytes(), inet::tcp::TcpSackRexmitQueue::getNumOfDiscontiguousSacks(), inet::tcp::TcpSackRexmitQueue::getSackedBit(), inet::tcp::TcpConnection::hasEnoughSpaceForSegmentInReceiveQueue(), inet::tcp::TcpConnection::isSegmentAcceptable(), 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().
|
inline |
Referenced by inet::tcp::TcpConnection::addSacks(), inet::tcp::TcpSackRexmitQueue::checkQueue(), inet::tcp::TcpSackRexmitQueue::checkRexmitQueueForSackedOrRexmittedSegments(), inet::tcp::TcpSackRexmitQueue::checkSackBlock(), inet::tcp::TcpSegmentTransmitInfoList::clearTo(), inet::tcp::TcpSackRexmitQueue::discardUpTo(), inet::tcp::TcpSendQueue::enqueueAppData(), inet::tcp::TcpSackRexmitQueue::enqueueSentData(), inet::tcp::TcpSegmentTransmitInfoList::get(), inet::tcp::TcpSackRexmitQueue::getAmountOfSackedBytes(), inet::tcp::TcpSendQueue::getBytesAvailable(), inet::tcp::TcpSackRexmitQueue::getSackedBit(), inet::tcp::TcpConnection::hasEnoughSpaceForSegmentInReceiveQueue(), inet::tcp::TcpReceiveQueue::insertBytesFromSegment(), inet::tcp::TcpConnection::isSegmentAcceptable(), inet::tcp::TcpConnection::nextSeg(), 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(), and inet::tcp::TcpConnection::updateWndInfo().
|
inline |
Referenced by inet::tcp::TcpReceiveQueue::insertBytesFromSegment().
|
inline |
| 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 | ||
| ) |
| 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 |
| 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::icmp_echo_hdr inet::tcp::PACK_STRUCT_STRUCT |
Referenced by inet::tcp::TcpConnection::sendToIP().
Referenced by inet::tcp::TcpConnection::addSacks(), inet::tcp::TcpHeaderSerializer::deserialize(), inet::tcp::TcpHeader::dropHeaderOptions(), inet::tcp::TcpConnection::printSegmentBrief(), inet::tcp::TcpConnection::processSegment1stThru8th(), inet::tcp::TcpConnection::processSegmentInSynSent(), inet::tcp::TcpConnection::processSynInListen(), inet::tcp::TcpConnection::sendData(), inet::tcp::TcpConnection::sendSegment(), inet::tcp::TcpSpoof::sendSpoofPacket(), inet::tcp::TcpConnection::sendToIP(), inet::tcp::TcpHeaderSerializer::serialize(), and inet::tcp::TcpConnection::writeHeaderOptions().
Referenced by inet::tcp::TcpConnection::addSacks().
Referenced by inet::tcp::TcpConnection::addSacks().
Referenced by inet::tcp::TcpConnection::addSacks().
Referenced by inet::tcp::TcpConnection::nextSeg().
Referenced by inet::tcp::TcpConnection::addSacks(), and inet::tcp::TcpConnection::writeHeaderOptions().