Go to the source code of this file.
|
static void | tcp_remove (struct tcp_pcb *pcb_list) |
|
void | tcp_remove_all (void) |
|
static struct pbuf * | tcp_create_segment_wnd (ip_addr_t *src_ip, ip_addr_t *dst_ip, u16_t src_port, u16_t dst_port, void *data, size_t data_len, u32_t seqno, u32_t ackno, u8_t headerflags, u16_t wnd) |
|
struct pbuf * | tcp_create_segment (ip_addr_t *src_ip, ip_addr_t *dst_ip, u16_t src_port, u16_t dst_port, void *data, size_t data_len, u32_t seqno, u32_t ackno, u8_t headerflags) |
|
struct pbuf * | tcp_create_rx_segment (struct tcp_pcb *pcb, void *data, size_t data_len, u32_t seqno_offset, u32_t ackno_offset, u8_t headerflags) |
|
struct pbuf * | tcp_create_rx_segment_wnd (struct tcp_pcb *pcb, void *data, size_t data_len, u32_t seqno_offset, u32_t ackno_offset, u8_t headerflags, u16_t wnd) |
|
void | tcp_set_state (struct tcp_pcb *pcb, enum tcp_state state, ip_addr_t *local_ip, ip_addr_t *remote_ip, u16_t local_port, u16_t remote_port) |
|
void | test_tcp_counters_err (void *arg, err_t err) |
|
static void | test_tcp_counters_check_rxdata (struct test_tcp_counters *counters, struct pbuf *p) |
|
err_t | test_tcp_counters_recv (void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err) |
|
struct tcp_pcb * | test_tcp_new_counters_pcb (struct test_tcp_counters *counters) |
|
void | test_tcp_input (struct pbuf *p, struct netif *inp) |
|
static err_t | test_tcp_netif_output (struct netif *netif, struct pbuf *p, ip_addr_t *ipaddr) |
|
void | test_tcp_init_netif (struct netif *netif, struct test_tcp_txcounters *txcounters, ip_addr_t *ip_addr, ip_addr_t *netmask) |
|
◆ tcp_create_rx_segment()
Create a TCP segment usable for passing to tcp_input
- IP-addresses, ports, seqno and ackno are taken from pcb
- seqno and ackno can be altered with an offset
Definition at line 118 of file tcp_helper.c.
122 data, data_len,
pcb->rcv_nxt + seqno_offset,
pcb->lastack + ackno_offset, headerflags);
struct pbuf * tcp_create_segment(ip_addr_t *src_ip, ip_addr_t *dst_ip, u16_t src_port, u16_t dst_port, void *data, size_t data_len, u32_t seqno, u32_t ackno, u8_t headerflags)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Referenced by START_TEST(), test_tcp_recv_ooseq_double_FINs(), and test_tcp_tx_full_window_lost().
◆ tcp_create_rx_segment_wnd()
Create a TCP segment usable for passing to tcp_input
- IP-addresses, ports, seqno and ackno are taken from pcb
- seqno and ackno can be altered with an offset
- TCP window can be adjusted
Definition at line 130 of file tcp_helper.c.
134 data, data_len,
pcb->rcv_nxt + seqno_offset,
pcb->lastack + ackno_offset, headerflags, wnd);
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
static struct pbuf * tcp_create_segment_wnd(ip_addr_t *src_ip, ip_addr_t *dst_ip, u16_t src_port, u16_t dst_port, void *data, size_t data_len, u32_t seqno, u32_t ackno, u8_t headerflags, u16_t wnd)
Referenced by test_tcp_tx_full_window_lost().
◆ tcp_create_segment()
Create a TCP segment usable for passing to tcp_input
Definition at line 105 of file tcp_helper.c.
110 data_len, seqno, ackno, headerflags,
TCP_WND);
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
static struct pbuf * tcp_create_segment_wnd(ip_addr_t *src_ip, ip_addr_t *dst_ip, u16_t src_port, u16_t dst_port, void *data, size_t data_len, u32_t seqno, u32_t ackno, u8_t headerflags, u16_t wnd)
Referenced by tcp_create_rx_segment().
◆ tcp_create_segment_wnd()
Create a TCP segment usable for passing to tcp_input
Definition at line 41 of file tcp_helper.c.
65 iphdr->
dest.addr = dst_ip->addr;
66 iphdr->src.addr = src_ip->addr;
81 TCPH_FLAGS_SET(
tcphdr, headerflags);
#define IPH_TOS_SET(hdr, tos)
u8_t pbuf_header(struct pbuf *p, s16_t header_size_increment)
u16_t inet_chksum_pseudo(struct pbuf *p, ip_addr_t *src, ip_addr_t *dest, u8_t proto, u16_t proto_len)
struct pbuf * pbuf_alloc(pbuf_layer layer, u16_t length, pbuf_type type)
#define IPH_VHL_SET(hdr, v, hl)
u16_t inet_chksum(void *dataptr, u16_t len)
err_t pbuf_take(struct pbuf *buf, const void *dataptr, u16_t len)
#define EXPECT_RETNULL(x)
GLdouble GLdouble GLdouble GLdouble q
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
#define IPH_CHKSUM_SET(hdr, chksum)
#define IPH_LEN_SET(hdr, len)
Referenced by tcp_create_rx_segment_wnd(), and tcp_create_segment().
◆ tcp_remove()
static void tcp_remove |
( |
struct tcp_pcb * |
pcb_list | ) |
|
|
static |
◆ tcp_remove_all()
Remove all pcbs on listen-, active- and time-wait-list (bound- isn't exported).
Definition at line 28 of file tcp_helper.c.
33 fail_unless(lwip_stats.memp[MEMP_TCP_PCB].used == 0);
34 fail_unless(lwip_stats.memp[MEMP_TCP_PCB_LISTEN].used == 0);
35 fail_unless(lwip_stats.memp[MEMP_TCP_SEG].used == 0);
36 fail_unless(lwip_stats.memp[MEMP_PBUF_POOL].used == 0);
static void tcp_remove(struct tcp_pcb *pcb_list)
Referenced by tcp_oos_setup(), tcp_oos_teardown(), tcp_setup(), and tcp_teardown().
◆ tcp_set_state()
Safely bring a tcp_pcb into the requested state
Definition at line 139 of file tcp_helper.c.
145 if (
state == ESTABLISHED) {
146 TCP_REG(&tcp_active_pcbs, pcb);
147 pcb->local_ip.addr = local_ip->addr;
148 pcb->local_port = local_port;
149 pcb->remote_ip.addr = remote_ip->addr;
150 pcb->remote_port = remote_port;
151 }
else if(
state == LISTEN) {
152 TCP_REG(&tcp_listen_pcbs.pcbs, pcb);
153 pcb->local_ip.addr = local_ip->addr;
154 pcb->local_port = local_port;
155 }
else if(
state == TIME_WAIT) {
156 TCP_REG(&tcp_tw_pcbs, pcb);
157 pcb->local_ip.addr = local_ip->addr;
158 pcb->local_port = local_port;
159 pcb->remote_ip.addr = remote_ip->addr;
160 pcb->remote_port = remote_port;
◆ test_tcp_counters_check_rxdata()
Definition at line 176 of file tcp_helper.c.
187 char *
data =
q->payload;
188 for(
i = 0;
i <
q->len;
i++) {
GLint GLint GLsizei GLuint * counters
GLdouble GLdouble GLdouble GLdouble q
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define EXPECT(a, b, c, d, e, f)
Referenced by test_tcp_counters_recv().
◆ test_tcp_counters_err()
◆ test_tcp_counters_recv()
Definition at line 197 of file tcp_helper.c.
211 counters->recved_bytes_after_close +=
p->tot_len;
GLint GLint GLsizei GLuint * counters
u8_t pbuf_free(struct pbuf *p)
static void test_tcp_counters_check_rxdata(struct test_tcp_counters *counters, struct pbuf *p)
#define EXPECT(a, b, c, d, e, f)
#define EXPECT_RETX(x, y)
Referenced by test_tcp_new_counters_pcb().
◆ test_tcp_init_netif()
◆ test_tcp_input()
◆ test_tcp_netif_output()
Definition at line 258 of file tcp_helper.c.
263 if (txcounters !=
NULL)
struct pbuf * pbuf_alloc(pbuf_layer layer, u16_t length, pbuf_type type)
err_t pbuf_copy(struct pbuf *p_to, struct pbuf *p_from)
void pbuf_cat(struct pbuf *h, struct pbuf *t)
#define EXPECT(a, b, c, d, e, f)
#define LWIP_UNUSED_ARG(x)
Referenced by test_tcp_init_netif().
◆ test_tcp_new_counters_pcb()
Allocate a pcb and set up the test_tcp_counters_* callbacks
Definition at line 223 of file tcp_helper.c.
225 struct tcp_pcb* pcb = tcp_new();
STREAM tcp_recv(STREAM s, uint32 length)
void test_tcp_counters_err(void *arg, err_t err)
GLint GLint GLsizei GLuint * counters
err_t test_tcp_counters_recv(void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err)
Referenced by START_TEST(), test_tcp_recv_ooseq_double_FINs(), and test_tcp_tx_full_window_lost().