/linux-6.14.4/Documentation/networking/ |
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 …]
|
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 …]
|
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 …]
|
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 …]
|
D | devmem.rst | 4 Device Memory TCP 11 Device memory TCP (devmem TCP) enables receiving data directly into device 12 memory (dmabuf). The feature is currently implemented for TCP sockets. 36 Devmem TCP optimizes this use case by implementing socket APIs that enable 41 Packet headers go to host memory and are processed by the TCP/IP stack 58 https://netdevconf.org/0x17/sessions/talk/device-memory-tcp.html 61 [PATCH net-next v24 00/13] Device Memory TCP 79 Header split, flow steering, & RSS are required features for devmem TCP. 90 ethtool -G eth1 tcp-data-split on 134 devmem TCP, even if the dmabuf is not actually backed by devmem. An example of [all …]
|
/linux-6.14.4/net/ipv4/ |
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, DCCP, etc) socket monitoring interface used by 470 bool "TCP: advanced congestion control" 472 Support for selection of various TCP congestion control 486 BIC-TCP is a sender-side only change that ensures a linear RTT [all …]
|
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-6.14.4/tools/testing/selftests/bpf/progs/ |
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 = (struct tcphdr *)(ctx->ipv6 + 1); in tcp_reload_headers() 153 if ((void *)ctx->tcp + 60 > ctx->data_end) in tcp_reload_headers() [all …]
|
D | xdp_synproxy_kern.c | 371 struct tcphdr *tcp; member 397 hdr->tcp = (void *)hdr->ipv4 + hdr->ipv4->ihl * 4; in tcp_dissect() 414 hdr->tcp = (void *)hdr->ipv6 + sizeof(*hdr->ipv6); in tcp_dissect() 421 if (hdr->tcp + 1 > data_end) in tcp_dissect() 423 hdr->tcp_len = hdr->tcp->doff * 4; in tcp_dissect() 424 if (hdr->tcp_len < sizeof(*hdr->tcp)) in tcp_dissect() 441 /* TCP doesn't normally use fragments, and XDP can't reassemble in tcp_lookup() 449 tup.ipv4.sport = hdr->tcp->source; in tcp_lookup() 450 tup.ipv4.dport = hdr->tcp->dest; in tcp_lookup() 455 tup.ipv6.sport = hdr->tcp->source; in tcp_lookup() [all …]
|
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 …]
|
D | test_migrate_reuseport.c | 19 #include <linux/tcp.h> 50 struct tcphdr *tcp = NULL; in drop_ack() local 65 tcp = (struct tcphdr *)((void *)ip + ip->ihl * 4); in drop_ack() 77 tcp = (struct tcphdr *)(ipv6 + 1); in drop_ack() 84 if (tcp + 1 > data_end) in drop_ack() 87 if (tcp->dest != server_port) in drop_ack() 90 if (!tcp->syn && tcp->ack) in drop_ack()
|
/linux-6.14.4/net/netfilter/ |
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 …]
|
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 …]
|
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-6.14.4/tools/testing/selftests/net/packetdrill/ |
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-6.14.4/tools/testing/selftests/bpf/prog_tests/ |
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 …]
|
/linux-6.14.4/tools/testing/selftests/net/tcp_ao/ |
D | unsigned-md5.c | 135 try_accept("TCP-AO established: add TCP-MD5 key", (*port)++, NULL, 0, in server_add_fail_tests() 138 try_accept("TCP-MD5 established: add TCP-AO key", (*port)++, &addr_any, in server_add_fail_tests() 140 try_accept("non-signed established: add TCP-AO key", (*port)++, NULL, 0, in server_add_fail_tests() 222 try_accept("AO+MD5 server: client with both [TCP-MD5] and TCP-AO keys", in server_fn() 225 try_accept("AO+MD5 server: client with both TCP-MD5 and [TCP-AO] keys", in server_fn() 519 try_to_add("TCP-AO established: add TCP-MD5 key", in client_add_fail_tests() 523 try_to_add("TCP-MD5 established: add TCP-AO key", in client_add_fail_tests() 527 try_to_add("non-signed established: add TCP-AO key", in client_add_fail_tests() 532 try_to_add("TCP-AO key intersects with existing TCP-MD5 key", in client_add_fail_tests() 536 try_to_add("TCP-MD5 key intersects with existing TCP-AO key", in client_add_fail_tests() [all …]
|
/linux-6.14.4/include/net/ |
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-6.14.4/tools/testing/selftests/drivers/net/ |
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'] 64 netnl.rings_set({'header': {'dev-index': cfg.ifindex}, 'tcp-data-split': 'enabled'}) 74 if 'tcp-data-split' not in rings: 75 raise KsftSkipEx('tcp-data-split not supported by device') 77 ksft_eq('enabled', rings['tcp-data-split']) 81 netnl.rings_set({'header': {'dev-index': cfg.ifindex}, 'tcp-data-split': 'disabled'}) 91 if 'tcp-data-split' not in rings: 92 raise KsftSkipEx('tcp-data-split not supported by device') [all …]
|
/linux-6.14.4/tools/testing/selftests/net/netfilter/ |
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-6.14.4/include/linux/ |
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-6.14.4/Documentation/netlink/specs/ |
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-6.14.4/net/rds/ |
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-6.14.4/tools/testing/selftests/net/netfilter/packetdrill/ |
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\ `
|
/linux-6.14.4/include/net/netfilter/ |
D | nf_tproxy.h | 4 #include <net/tcp.h> 38 * nf_tproxy_handle_time_wait4 - handle IPv4 TCP TIME_WAIT reopen redirections 42 * @lport: TCP port to redirect to or zero. 43 * @sk: The TIME_WAIT TCP socket found by the lookup. 53 * no such listener is found, or NULL if the TCP header is incomplete. 95 * nf_tproxy_handle_time_wait6 - handle IPv6 TCP TIME_WAIT reopen redirections 101 * @lport: TCP port to redirect to or zero. 102 * @sk: The TIME_WAIT TCP socket found by the lookup. 112 * no such listener is found, or NULL if the TCP header is incomplete.
|