#include <stdio.h>
#include <string.h>
#include <netinet/in.h>
#include <linux/ip.h>
#include <linux/tcp.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <pthread.h>
#include <assert.h>
#include "misc.h"
#include "tcpproxy.h"
#include "scheduler.h"
#include "tcptimer.h"
#include "tcp.h"
Go to the source code of this file.
|
Definition at line 103 of file tcp.c. References alloc_tcp_queue(), tcp_cb::cid, DPRINT, get_queue_weight(), tcp_cb::init, tcp_cb::out_queue, tcp_cb::state, TCP_MAX_CONN, TCPS_FREE, and TCPS_NEW. Referenced by handle_tcp(). |
|
Definition at line 76 of file tcp.c. Referenced by handle_tcp(). |
|
Definition at line 283 of file tcp.c. References packet_data::ip, tcp_chksum(), packet_data::trans, and win_clamp_size. Referenced by handle_tcp(). |
|
Definition at line 52 of file tcp.c. Referenced by main(). |
|
Definition at line 141 of file tcp.c. References close_tcp_queue(), DPRINT, tcp_cb::out_queue, tcp_cb::state, and TCPS_FREE. Referenced by handle_tcp(), and tcp_timeout(). |
|
Definition at line 88 of file tcp.c. References QUEUE_WEIGHT_HIGH, QUEUE_WEIGHT_NORMAL, and tcp_cid::sport. Referenced by alloc_tcp_cb(). |
|
|
Definition at line 34 of file tcp.c. References tcp_cb::out_queue, tcp_cb::state, TCP_MAX_CONN, tcp_tab_mut, and TCPS_FREE. Referenced by main(). |
|
Definition at line 210 of file tcp.c. References DPRINT, IP_START_TTL, IP_VERSION, PACKET_DIR_IN, PACKET_DIR_OUT, queue_hipri(), tcp_chksum(), TCP_PROTO, xfree(), and xmalloc(). Referenced by handle_tcp(). |
|
Definition at line 66 of file tcp.c. Referenced by add_tcp_sent(), handle_tcp(), and mh_ack_rcvd(). |
|
Definition at line 163 of file tcp.c. References TCP_PROTO. Referenced by clamp_tcp_win(), handle_tcp(), and send_tcp_rst(). |
|
Definition at line 305 of file tcp.c. References packet_data::ip, packet_data::ipq_pm, and packet_data::trans. Referenced by handle_tcp(), and scheduler(). |
|
Definition at line 634 of file tcp.c. References dealloc_tcp_cb(), DPRINT, EPRINT, tcp_cb::mut, mutex_lock(), mutex_unlock(), tcp_cb::state, TCPS_CLOSED, TCPS_LAST_ACK, TCPS_SYN_SENT, and TCPS_TIME_WAIT. Referenced by clear_tcp_timers(), handle_tcp(), tcps_close_wait(), tcps_closing(), tcps_fin_wait1(), tcps_fin_wait2(), tcps_new(), and tcps_syn_sent(). |
|
Definition at line 532 of file tcp.c. References add_timer(), packet_data::dir, DPRINT, PACKET_DIR_IN, tcp_cb::state, tcp_timeout(), TCP_TWO_MSL, TCPS_CLOSING, TCPS_LAST_ACK, packet_data::trans, and valid_ack(). |
|
Definition at line 516 of file tcp.c. References packet_data::dir, EPRINT, PACKET_DIR_IN, and UNREACHABLE. |
|
Definition at line 591 of file tcp.c. References add_timer(), packet_data::dir, DPRINT, PACKET_DIR_IN, tcp_cb::state, tcp_timeout(), TCP_TWO_MSL, TCPS_TIME_WAIT, packet_data::trans, and valid_ack(). |
|
Definition at line 321 of file tcp.c. References EPRINT, and UNREACHABLE. |
|
Definition at line 412 of file tcp.c. References packet_data::dir, DPRINT, PACKET_DIR_IN, tcp_cb::state, TCPS_CLOSE_WAIT, TCPS_FIN_WAIT1, and packet_data::trans. |
|
Definition at line 438 of file tcp.c. References add_timer(), packet_data::dir, DPRINT, PACKET_DIR_IN, tcp_cb::state, tcp_timeout(), TCP_TWO_MSL, TCPS_CLOSING, TCPS_FIN_WAIT2, TCPS_TIME_WAIT, packet_data::trans, and valid_ack(). |
|
Definition at line 478 of file tcp.c. References add_timer(), packet_data::dir, DPRINT, PACKET_DIR_IN, tcp_cb::state, tcp_timeout(), TCP_TWO_MSL, TCPS_TIME_WAIT, and packet_data::trans. |
|
Definition at line 565 of file tcp.c. References packet_data::dir, DPRINT, PACKET_DIR_IN, tcp_cb::state, TCPS_CLOSED, packet_data::trans, and valid_ack(). |
|
Definition at line 331 of file tcp.c. References add_timer(), packet_data::dir, DPRINT, PACKET_DIR_IN, tcp_cb::state, tcp_timeout(), TCP_TWO_MSL, TCPS_SYN_RECV, and TCPS_SYN_SENT. |
|
Definition at line 381 of file tcp.c. References packet_data::dir, DPRINT, PACKET_DIR_IN, tcp_cb::state, TCPS_ESTABLISHED, TCPS_FIN_WAIT1, packet_data::trans, and valid_ack(). |
|
Definition at line 349 of file tcp.c. References clear_timer(), packet_data::dir, DPRINT, PACKET_DIR_IN, tcp_cb::state, tcp_timeout(), TCPS_ESTABLISHED, TCPS_SYN_RECV, packet_data::trans, and valid_ack(). |
|
Definition at line 501 of file tcp.c. References packet_data::dir, DPRINT, and PACKET_DIR_IN. |
|
Definition at line 149 of file tcp.c. References packet_data::dir, tcp_cb::fh_seq, tcp_cb::mh_seq, PACKET_DIR_IN, and packet_data::trans. Referenced by tcps_close_wait(), tcps_closing(), tcps_fin_wait1(), tcps_last_ack(), tcps_syn_recv(), and tcps_syn_sent(). |
|
Initial value: { tcps_err, tcps_new, tcps_syn_sent, tcps_syn_recv, tcps_established, tcps_fin_wait1, tcps_fin_wait2, tcps_time_wait, tcps_closed, tcps_close_wait, tcps_last_ack, tcps_closing } Definition at line 615 of file tcp.c. Referenced by handle_tcp(). |
|
|
|
Definition at line 28 of file tcp.c. Referenced by handle_tcp(), and init_tcp(). |
|
Definition at line 26 of file tcp.c. Referenced by clamp_tcp_win(). |