/linux/Documentation/networking/ |
H A D | tcp_ao.rst | 4 TCP Authentication Option Linux implementation (RFC5925) 7 TCP Authentication Option (TCP-AO) provides a TCP extension aimed at verifying 8 segments between trusted peers. It adds a new TCP header option with 10 of a TCP segment using a hashing function with a password known to both peers. 11 The intent of TCP-AO is to deprecate TCP-MD5 providing better security, 17 .. table:: Short and Limited Comparison of TCP-AO and TCP-MD5 20 | | TCP-MD5 | TCP-AO | 31 | | |TCP header permitted. | 34 |TCP connection | | | 45 |traffic-crossing | |includes TCP ports. | [all …]
|
H A D | snmp_counter.rst | 32 The number of packets delivers to the upper layer protocols. E.g. TCP, UDP, 249 General TCP counters 257 The number of packets received by the TCP layer. As mentioned in 259 error, invalid TCP header and so on. Only one error won't be included: 263 packets would be delivered to the TCP layer, but the TCP layer will discard 274 The number of packets sent by the TCP layer. As mentioned in RFC1213, 286 It means the TCP layer sends a SYN, and come into the SYN-SENT 296 It means the TCP layer receives a SYN, replies a SYN+ACK, come into 301 When packets are received by the TCP layer and are not be read by the 302 application, the TCP layer will try to merge them. This counter [all …]
|
H A D | kcm.rst | 8 interface over TCP for generic application protocols. With KCM an application 9 can efficiently send and receive application protocol messages over TCP using 31 | TCP sock | | TCP sock | | TCP sock | | TCP sock | | TCP sock | 46 written on a KCM socket are sent atomically on an appropriate TCP socket. 47 Similarly, in the receive path, messages are constructed on each TCP socket 50 TCP sockets & Psocks 53 TCP sockets may be bound to a KCM multiplexor. A Psock structure is allocated 54 for each bound TCP socket, this structure holds the state for constructing 60 Each multiplexor assumes that all attached TCP connections are to the same 73 Messages are sent over a TCP stream with some application protocol message [all …]
|
H A D | mptcp.rst | 4 Multipath TCP (MPTCP) 10 Multipath TCP or MPTCP is an extension to the standard TCP and is described in 12 device to make use of multiple interfaces at once to send and receive TCP 18 For more details about Multipath TCP in the Linux kernel, please see the 26 brings new use-cases, compared to TCP: 42 a regular TCP connection that is used to transmit data through one interface. 44 host to be able to detect the use of MPTCP, a new field is added to the TCP 45 *option* field of the underlying TCP *subflow*. This field contains, amongst 48 it, the returned ``SYN+ACK`` packet will not contain MPTCP options in the TCP 49 *option* field. In that case, the connection will be "downgraded" to plain TCP, [all …]
|
H A D | tls-offload.rst | 10 Linux kernel provides TLS connection offload infrastructure. Once a TCP 29 * Full TCP NIC offload mode (``TLS_HW_RECORD``) - mode of operation where 31 with its own TCP handling, it is not usable in production environments 43 mode) and then hands the modified scatter list to the TCP layer. From this 44 point on the TCP stack proceeds as normal. 56 :c:type:`struct sk_buff <sk_buff>`. The packets reach the TCP stack and 101 which TCP sequence number corresponds to the beginning of the record with 112 number, simplifying TCP sequence number matching. 124 segmentation, so the initial records' TCP sequence number may be anywhere 136 * expected TCP sequence number [all …]
|
/linux/drivers/net/ovpn/ |
H A D | tcp.c | 13 #include <net/tcp.h> 24 #include "tcp.h" 28 #error "OVPN TCP requires its own lockdep subclass" 43 /* when packets are written to the TCP stream, they are prepended with in ovpn_tcp_parse() 69 skb_queue_tail(&peer->tcp.user_queue, skb); in ovpn_tcp_to_userspace() 70 peer->tcp.sk_cb.sk_data_ready(sk); in ovpn_tcp_to_userspace() 75 struct ovpn_peer *peer = container_of(strp, struct ovpn_peer, tcp.strp); in ovpn_tcp_rcv() 108 net_warn_ratelimited("%s: DATA_V1 detected on the TCP stream\n", in ovpn_tcp_rcv() 135 schedule_work(&peer->tcp.defer_del_work); in ovpn_tcp_rcv() 158 skb = __skb_recv_datagram(sk, &peer->tcp.user_queue, flags, &off, &err); in ovpn_tcp_recvmsg() [all …]
|
/linux/net/ipv4/ |
H A D | Kconfig | 269 bool "IP: TCP syncookie support" 271 Normal TCP/IP networking is open to an attack known as "SYN 278 say Y here, the TCP/IP stack will use a cryptographic challenge 281 is no need for the legitimate users to change their TCP/IP software; 384 bool "IP: ESP in TCP encapsulation (RFC 8229)" 391 TCP/IPv4 sockets. 428 Support for INET (TCP, UDP, etc) socket monitoring interface used by 470 bool "TCP: advanced congestion control" 472 Support for selection of various TCP congestion control 486 BIC-TCP i [all...] |
H A D | tcp_lp.c | 3 * TCP Low Priority (TCP-LP) 5 * TCP Low Priority is a distributed algorithm whose goal is to utilize only 7 * bandwidth as targeted by TCP. 11 * the original TCP-LP implementation: 26 * http://www.ece.rice.edu/~akuzma/Doc/akuzma/TCP-LP.pdf 28 * http://www-ece.rice.edu/networks/TCP-LP/ 34 * http://tcp-lp-mod.sourceforge.net/ 38 #include <net/tcp.h> 50 * TCP-LP's state flags. 62 * @flag: TCP-LP state flag [all …]
|
/linux/tools/testing/selftests/bpf/progs/ |
H A D | test_tcp_custom_syncookie.c | 63 struct tcphdr *tcp; member 98 ctx->tcp = (struct tcphdr *)(ctx->ipv4 + 1); in tcp_load_headers() 112 ctx->tcp = (struct tcphdr *)(ctx->ipv6 + 1); in tcp_load_headers() 118 if (ctx->tcp + 1 > ctx->data_end) in tcp_load_headers() 133 if (ctx->tcp->doff < sizeof(*ctx->tcp) / 4) in tcp_reload_headers() 136 /* Needed to calculate csum and parse TCP options. */ in tcp_reload_headers() 137 if (bpf_skb_change_tail(ctx->skb, data_len + 60 - ctx->tcp->doff * 4, 0)) in tcp_reload_headers() 146 ctx->tcp = (struct tcphdr *)(ctx->ipv4 + 1); in tcp_reload_headers() 150 ctx->tcp in tcp_reload_headers() [all...] |
H A D | test_pkt_access.c | 12 #include <linux/tcp.h> 89 struct tcphdr *tcp = NULL; in test_pkt_write_access_subprog() local 94 tcp = data + off; in test_pkt_write_access_subprog() 95 if (tcp + 1 > data_end) in test_pkt_write_access_subprog() 98 tcp->check++; in test_pkt_write_access_subprog() 108 struct tcphdr *tcp = NULL; in test_pkt_access() local 122 tcp = (struct tcphdr *)((void *)(iph) + ihl_len); in test_pkt_access() 130 tcp = (struct tcphdr *)((void *)(ip6h) + ihl_len); in test_pkt_access() 139 if (tcp) { in test_pkt_access() 140 if (test_pkt_write_access_subprog(skb, (void *)tcp - data)) in test_pkt_access() [all …]
|
/linux/net/netfilter/ |
H A D | nf_conntrack_proto_tcp.c | 12 #include <linux/tcp.h> 19 #include <net/tcp.h> 91 /* What TCP flags are set from RST/SYN/FIN/ACK. */ 102 * The TCP state transition table needs a few words... 271 seq_printf(s, "%s ", tcp_conntrack_names[ct->proto.tcp.state]); in tcp_print_conntrack() 284 /* TCP connection tracking based on 'Real Stateful TCP Packet Filtering 515 struct ip_ct_tcp *state = &ct->proto.tcp; in tcp_in_window() 581 * RFC 793: "if a TCP is reinitialized ... then it need in tcp_in_window() 586 * syn(-ack) reply, it might differ in seq, ack or tcp options. in tcp_in_window() 605 * Broken TCP stacks, that set ACK in RST packets as well in tcp_in_window() [all …]
|
H A D | nft_synproxy.c | 4 #include <net/tcp.h> 24 const struct tcphdr *tcp, in nft_synproxy_tcp_options() argument 30 if (tcp->ece && tcp->cwr) in nft_synproxy_tcp_options() 47 const struct tcphdr *tcp, in nft_synproxy_eval_v4() argument 56 if (tcp->syn) { in nft_synproxy_eval_v4() 58 nft_synproxy_tcp_options(opts, tcp, snet, &info, priv); in nft_synproxy_eval_v4() 59 synproxy_send_client_synack(net, skb, tcp, opts); in nft_synproxy_eval_v4() 62 } else if (tcp->ack) { in nft_synproxy_eval_v4() 64 if (synproxy_recv_client_ack(net, skb, tcp, opts, in nft_synproxy_eval_v4() 65 ntohl(tcp->seq))) { in nft_synproxy_eval_v4() [all …]
|
H A D | nfnetlink_osf.c | 14 #include <linux/tcp.h> 17 #include <net/tcp.h> 171 const struct tcphdr *tcp; in nf_osf_hdr_ctx_init() local 173 tcp = skb_header_pointer(skb, ip_hdrlen(skb), sizeof(struct tcphdr), _tcph); in nf_osf_hdr_ctx_init() 174 if (!tcp) in nf_osf_hdr_ctx_init() 177 if (!tcp->syn) in nf_osf_hdr_ctx_init() 182 ctx->window = ntohs(tcp->window); in nf_osf_hdr_ctx_init() 184 if (tcp->doff * 4 > sizeof(struct tcphdr)) { in nf_osf_hdr_ctx_init() 185 ctx->optsize = tcp->doff * 4 - sizeof(struct tcphdr); in nf_osf_hdr_ctx_init() 193 return tcp; in nf_osf_hdr_ctx_init() [all …]
|
/linux/tools/testing/selftests/bpf/prog_tests/ |
H A D | flow_dissector.c | 21 struct tcphdr tcp; member 28 struct tcphdr tcp; member 36 struct tcphdr tcp; member 42 struct tcphdr tcp; member 54 struct tcphdr tcp; member 64 struct tcphdr tcp; member 77 struct tcphdr tcp; member 106 .tcp.doff = 5, 107 .tcp.source = 80, 108 .tcp.dest = 8080, [all …]
|
H A D | cls_redirect.c | 10 #include <netinet/tcp.h> 140 TCP, enumerator 182 type = "TCP"; in test_str() 209 { TCP, ACCEPT, UNKNOWN_CONN, NO_HOPS, SYN }, 210 { TCP, ACCEPT, UNKNOWN_CONN, NO_HOPS, ACK }, 211 { TCP, FORWARD, UNKNOWN_CONN, ONE_HOP, ACK }, 212 { TCP, ACCEPT, KNOWN_CONN, ONE_HOP, ACK }, 251 struct tcphdr tcp; in build_input() local 303 case TCP: in build_input() 304 tcp = (struct tcphdr){ in build_input() [all …]
|
/linux/tools/testing/selftests/net/packetdrill/ |
H A D | defaults.sh | 4 # Set standard production config values that relate to TCP behavior. 9 # TCP min, default, and max receive and send buffer sizes. 13 # TCP timestamps. 16 # TCP SYN(ACK) retry thresholds 20 # TCP Forward RTO-Recovery, RFC 5682. 23 # TCP Selective Acknowledgements (SACK) 26 # TCP Duplicate Selective Acknowledgements (DSACK) 29 # TCP FACK (Forward Acknowldgement) 32 # TCP reordering degree ("dupthresh" threshold for entering Fast Recovery). 35 # TCP congestion control. [all …]
|
/linux/tools/testing/selftests/net/tcp_ao/ |
H A D | unsigned-md5.c | 139 try_accept("TCP-AO established: add TCP-MD5 key", (*port)++, NULL, 0, in server_add_fail_tests() 142 try_accept("TCP-MD5 established: add TCP-AO key", (*port)++, &addr_any, in server_add_fail_tests() 144 try_accept("non-signed established: add TCP-AO key", (*port)++, NULL, 0, in server_add_fail_tests() 230 try_accept("[server] AO+MD5 server: client with both [TCP-MD5] and TCP-AO keys", in server_fn() 233 try_accept("[server] AO+MD5 server: client with both TCP-MD5 and [TCP-AO] keys", in server_fn() 521 try_to_add("TCP-AO established: add TCP-MD5 key", in client_add_fail_tests() 525 try_to_add("TCP-MD5 established: add TCP-AO key", in client_add_fail_tests() 529 try_to_add("non-signed established: add TCP-AO key", in client_add_fail_tests() 534 try_to_add("TCP-AO key intersects with existing TCP-MD5 key", in client_add_fail_tests() 538 try_to_add("TCP-MD5 key intersects with existing TCP-AO key", in client_add_fail_tests() [all …]
|
/linux/include/net/ |
H A D | slhc_vj.h | 4 * Definitions for tcp compression routines. 43 * The first octet contains the packet type (top 3 bits), TCP 44 * 'push' bit, and flags that indicate which of the 4 TCP sequence 46 * conversation number that associates a saved IP/TCP header with 47 * the compressed packet. The next two octets are the TCP checksum 54 * in the following order): TCP urgent pointer, window, 69 * three possible types: IP (not proto TCP or tcp with one of the 70 * control flags set); uncompressed TCP (a normal IP/TCP packet but 73 * TCP (described above). 75 * LSB of 4-bit field is TCP "PUSH" bit (a worthless anachronism) and [all …]
|
/linux/tools/testing/selftests/drivers/net/ |
H A D | hds.py | 17 if 'tcp-data-split' not in rings: 18 raise KsftSkipEx('tcp-data-split not supported by device') 19 return rings['tcp-data-split'] 63 netnl.rings_set({'header': {'dev-index': cfg.ifindex}, 'tcp-data-split': 'enabled'}) 73 if 'tcp-data-split' not in rings: 74 raise KsftSkipEx('tcp-data-split not supported by device') 76 ksft_eq('enabled', rings['tcp-data-split']) 80 netnl.rings_set({'header': {'dev-index': cfg.ifindex}, 'tcp-data-split': 'disabled'}) 90 if 'tcp-data-split' not in rings: 91 raise KsftSkipEx('tcp-data-split not supported by device') [all …]
|
/linux/tools/testing/selftests/net/netfilter/ |
H A D | conntrack_tcp_unreplied.sh | 4 # Check that UNREPLIED tcp conntrack will eventually timeout. 83 ip netns exec "$ns2" socat -u -4 TCP-LISTEN:8080,reuseaddr STDOUT & 91 ct state new tcp flags syn ip daddr 10.99.99.99 tcp dport 80 counter name "connreq" accept 92 ct state new ct status dnat tcp dport 8080 counter name "redir" accept 105 socat -u STDIN TCP:10.99.99.99:80 < /dev/null 111 count=$(ip netns exec "$ns2" conntrack -L -p tcp --dport 80 2>/dev/null | wc -l) 122 echo "ERROR: $ns2 did not pick up tcp connection from peer" 130 ip daddr 10.99.99.99 tcp dport 80 redirect to :8080 141 count=$(ip netns exec "$ns2" conntrack -L -p tcp --reply-port-src 8080 2>/dev/null | wc -l) 161 echo "ERROR: no tcp connection was redirected"
|
/linux/Documentation/netlink/specs/ |
H A D | conntrack.yaml | 26 name: nf-ct-tcp-flags-mask 32 enum: nf-ct-tcp-flags 37 enum: nf-ct-tcp-flags 40 name: nf-ct-tcp-flags 52 name: nf-ct-tcp-state 214 name: protoinfo-tcp-attrs 217 name: tcp-state 219 enum: nf-ct-tcp-state 220 doc: tcp connection state 222 name: tcp-wscale-original [all …]
|
H A D | tcp_metrics.yaml | 8 Management interface for TCP metrics. 10 c-family-name: tcp-metrics-genl-name 11 c-version-name: tcp-metrics-genl-version 17 name: tcp-fastopen-cookie-max 23 name: tcp-metrics 24 name-prefix: tcp-metrics-attr- 66 min-len: tcp-fastopen-cookie-max 134 attribute-set: tcp-metrics 163 attribute-set: tcp-metrics
|
/linux/include/linux/ |
H A D | nvme-tcp.h | 3 * NVMe over Fabrics TCP protocol header. 64 * struct nvme_tcp_hdr - nvme tcp pdu common header 81 * struct nvme_tcp_icreq_pdu - nvme tcp initialize connection request pdu 99 * struct nvme_tcp_icresp_pdu - nvme tcp initialize connection response pdu 117 * struct nvme_tcp_term_pdu - nvme tcp terminate connection pdu 132 * struct nvme_tcp_cmd_pdu - nvme tcp command capsule pdu 143 * struct nvme_tcp_rsp_pdu - nvme tcp response capsule pdu 146 * @hdr: nvme-tcp generic header 155 * struct nvme_tcp_r2t_pdu - nvme tcp ready-to-transfer pdu 173 * struct nvme_tcp_data_pdu - nvme tcp data pdu
|
/linux/net/rds/ |
H A D | tcp_send.c | 35 #include <net/tcp.h> 39 #include "tcp.h" 96 rdsdebug("rm %p tcp nxt %u ack_seq %llu\n", in rds_tcp_xmit() 126 rdsdebug("tcp sendpage %p:%u:%u ret %d\n", (void *)sg_page(&rm->data.op_sg[sg]), in rds_tcp_xmit() 152 pr_warn("RDS/tcp: send to %pI6c on cp [%d]" in rds_tcp_xmit() 166 * rm->m_ack_seq is set to the tcp sequence number that corresponds to the 169 * unacked byte of the TCP sequence space. We have to do very careful 197 rdsdebug("tcp una %u\n", rds_tcp_snd_una(tc)); in rds_tcp_write_space() 211 * write_space is only called when data leaves tcp's send queue if in rds_tcp_write_space() 213 * data in tcp's send queue because we use write_space to parse the in rds_tcp_write_space() [all …]
|
/linux/tools/testing/selftests/net/netfilter/packetdrill/ |
H A D | conntrack_rst_invalid.pkt | 6 +0 `$xtables -A INPUT -p tcp -m conntrack --ctstate INVALID -j DROP` 7 +0 `$xtables -A OUTPUT -p tcp -m conntrack --ctstate INVALID -j DROP` 31 +0 `conntrack -f $NFCT_IP_VERSION -L -p tcp --dport 8080 2>/dev/null |grep -q ESTABLISHED` 35 +0 `conntrack -f $NFCT_IP_VERSION -L -p tcp --dport 8080 2>/dev/null |grep -q ESTABLISHED` 39 +0 `conntrack -f $NFCT_IP_VERSION -L -p tcp --dport 8080 2>/dev/null |grep -q ESTABLISHED` 44 +0 `conntrack -f $NFCT_IP_VERSION -L -p tcp --dport 8080 2>/dev/null |grep -q ESTABLISHED` 49 +0 `conntrack -f $NFCT_IP_VERSION -L -p tcp --dport 8080 2>/dev/null |grep -q ESTABLISHED` 59 +0 `conntrack -f $NFCT_IP_VERSION -L -p tcp --dport 8080 2>/dev/null |grep -q CLOSE\ `
|