Home
last modified time | relevance | path

Searched full:tcp (Results 1 – 25 of 1494) sorted by relevance

12345678910>>...60

/linux-6.14.4/Documentation/networking/
Dtcp_ao.rst4 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 …]
Dkcm.rst8 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 …]
Dsnmp_counter.rst32 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 …]
Dmptcp.rst4 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 …]
Ddevmem.rst4 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/
DKconfig269 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 …]
Dtcp_lp.c3 * 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/
Dtest_tcp_custom_syncookie.c63 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 …]
Dxdp_synproxy_kern.c371 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 …]
Dtest_pkt_access.c12 #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 …]
Dtest_migrate_reuseport.c19 #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/
Dnf_conntrack_proto_tcp.c12 #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 …]
Dnft_synproxy.c4 #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 …]
Dnfnetlink_osf.c14 #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/
Ddefaults.sh4 # 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/
Dflow_dissector.c21 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/
Dunsigned-md5.c135 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/
Dslhc_vj.h4 * 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/
Dhds.py17 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/
Dconntrack_tcp_unreplied.sh4 # 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/
Dnvme-tcp.h3 * 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/
Dtcp_metrics.yaml8 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/
Dtcp_send.c35 #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/
Dconntrack_rst_invalid.pkt6 +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/
Dnf_tproxy.h4 #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.

12345678910>>...60