Martin KaFai Lau
65c272f187
BACKPORT: tcp: Use a struct to represent a saved_syn
...
The TCP_SAVE_SYN has both the network header and tcp header.
The total length of the saved syn packet is currently stored in
the first 4 bytes (u32) of an array and the actual packet data is
stored after that.
A later patch will add a bpf helper that allows to get the tcp header
alone from the saved syn without the network header. It will be more
convenient to have a direct offset to a specific header instead of
re-parsing it. This requires to separately store the network hdrlen.
The total header length (i.e. network + tcp) is still needed for the
current usage in getsockopt. Although this total length can be obtained
by looking into the tcphdr and then get the (th->doff << 2), this patch
chooses to directly store the tcp hdrlen in the second four bytes of
this newly created "struct saved_syn". By using a new struct, it can
give a readable name to each individual header length.
Change-Id: I4ba88ba12fed185f61c74c01b4eaf7f09d26299b
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/bpf/20200820190014.2883694-1-kafai@fb.com
2026-01-14 18:12:17 -08:00
..
9p
bluetooth
This is the 5.4.279 stable release
2024-07-08 13:55:50 +00:00
caif
iucv
netfilter
netfilter: nf_tables: do not defer rule destruction via call_rcu
2025-06-04 14:32:36 +02:00
netns
UPSTREAM: bpf, netns: Keep a list of attached bpf_link's
2026-01-14 17:53:12 -08:00
nfc
net: nfc: nci: Increase NCI_DATA_TIMEOUT to 3000 ms
2025-12-03 12:45:11 +01:00
phonet
sctp
sctp: detect and prevent references to a freed transport in sendmsg
2025-05-02 07:39:16 +02:00
tc_act
6lowpan.h
act_api.h
net: sched: extract qstats update code into functions
2025-08-28 16:21:36 +02:00
addrconf.h
This is the 5.4.275 stable release
2024-05-15 16:00:38 +00:00
af_ieee802154.h
af_rxrpc.h
af_unix.h
UPSTREAM: af_unix: Do not use atomic ops for unix_sk(sk)->inflight.
2024-07-02 13:43:53 +03:00
af_vsock.h
ah.h
arp.h
atmclip.h
ax25.h
ax88796.h
bond_3ad.h
bond_alb.h
bond_options.h
bonding.h
bonding: fix macvlan over alb bond support
2023-08-30 16:27:24 +02:00
bpf_sk_storage.h
UPSTREAM: bpf: INET_DIAG support in bpf_sk_storage
2025-12-23 13:36:00 -08:00
busy_poll.h
net: busy-poll: use ktime_get_ns() instead of local_clock()
2024-09-04 13:15:03 +02:00
calipso.h
cfg80211-wext.h
cfg80211.h
Merge tag 'ASB-2025-10-06_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina
2025-10-08 15:17:54 +03:00
cfg802154.h
checksum.h
cipso_ipv4.h
cls_cgroup.h
UPSTREAM: bpf: Allow to retrieve cgroup v1 classid from v2 hooks
2025-12-23 13:36:09 -08:00
cnss.h
cnss2.h
cnss_logger.h
cnss_nl.h
cnss_prealloc.h
cnss_utils.h
codel.h
codel_impl.h
codel_qdisc.h
compat.h
datalink.h
dcbevent.h
dcbnl.h
devlink.h
drop_monitor.h
dsa.h
dsfield.h
dst.h
dst_cache.h
UPSTREAM: wireguard: device: reset peer src endpoint when netns exits
2025-09-24 12:16:39 +02:00
dst_metadata.h
dst_ops.h
net: fix __dst_negative_advice() race
2024-06-16 13:28:52 +02:00
erspan.h
erspan: Add type I version 0 support.
2024-04-13 12:51:36 +02:00
esp.h
ethoc.h
failover.h
fib_notifier.h
fib_rules.h
firewire.h
flow.h
Revert "inet: shrink struct flowi_common"
2023-11-27 17:25:07 +00:00
flow_dissector.h
UPSTREAM: flow_dissector: Pull BPF program assignment up to bpf-netns
2026-01-14 17:53:12 -08:00
flow_offload.h
net: extract port range fields from fl_flow_key
2025-03-13 12:43:23 +01:00
fou.h
fq.h
fq_impl.h
garp.h
gen_stats.h
genetlink.h
Revert "genetlink: hold RCU in genlmsg_mcast()"
2024-11-09 16:39:42 +00:00
geneve.h
gre.h
gro_cells.h
gtp.h
gue.h
hwbm.h
icmp.h
ieee80211_radiotap.h
ieee802154_netdev.h
if_inet6.h
net: ipv6: support reporting otherwise unknown prefix flags in RTM_NEWPREFIX
2023-12-20 15:41:13 +01:00
ife.h
ila.h
inet6_connection_sock.h
inet6_hashtables.h
UPSTREAM: net: Track socket refcounts in skb_steal_sock()
2025-12-23 13:36:11 -08:00
inet_common.h
UPSTREAM: bpf: Allow any port in bpf_bind helper
2025-12-23 13:36:18 -08:00
inet_connection_sock.h
This is the 5.4.290 stable release
2025-02-05 17:00:16 +00:00
inet_ecn.h
inet_frag.h
inet_hashtables.h
UPSTREAM: net: Track socket refcounts in skb_steal_sock()
2025-12-23 13:36:11 -08:00
inet_sock.h
inet_timewait_sock.h
inetpeer.h
ip.h
ip6_checksum.h
ip6_fib.h
UPSTREAM: bpf: Enable bpf_iter targets registering ctx argument types
2026-01-14 17:41:40 -08:00
ip6_route.h
ip6_tunnel.h
ip_fib.h
ip_tunnels.h
Merge tag 'ASB-2025-12-01_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina
2025-12-04 19:21:35 +02:00
ip_vs.h
ipcomp.h
ipconfig.h
ipv6.h
ipv6_frag.h
ipv6_stubs.h
UPSTREAM: net: Refactor arguments of inet{,6}_bind
2025-12-23 13:36:18 -08:00
ipx.h
iw_handler.h
kcm.h
kcm: Serialise kcm_sendmsg() for the same socket.
2024-09-04 13:14:59 +02:00
l3mdev.h
vrf: use RCU protection in l3mdev_l3_out()
2025-03-13 12:43:12 +01:00
lag.h
lapb.h
net: lapb: increase LAPB_HEADER_LEN
2024-12-19 18:05:03 +01:00
lib80211.h
llc.h
llc_c_ac.h
llc_c_ev.h
llc_c_st.h
llc_conn.h
llc_if.h
llc_pdu.h
llc: Drop support for ETH_P_TR_802_2.
2024-02-23 08:24:50 +01:00
llc_s_ac.h
llc_s_ev.h
llc_s_st.h
llc_sap.h
lwtunnel.h
lwt: Check LWTUNNEL_XMIT_CONTINUE strictly
2023-09-23 10:59:42 +02:00
mac80211.h
mac80211: Add support to trigger sta disconnect on hardware restart
2024-11-08 16:20:52 +01:00
mac802154.h
macsec.h
mip6.h
mld.h
mpls.h
mpls_iptunnel.h
mrp.h
ncsi.h
ndisc.h
neighbour.h
Merge android11-5.4.249+ ( d57e792) into msm-5.4
2023-09-28 16:45:28 +05:30
net_failover.h
net_namespace.h
UPSTREAM: net: push loops and nb calls into helper functions
2026-01-14 18:12:09 -08:00
net_ratelimit.h
netevent.h
netlabel.h
netlink.h
netprio_cgroup.h
netrom.h
nexthop.h
nl802154.h
nsh.h
p8022.h
page_pool.h
ping.h
pkt_cls.h
pkt_sched.h
net/sched: sch_qfq: Fix null-deref in agg_dequeue
2025-12-03 12:45:04 +01:00
pptp.h
protocol.h
psample.h
psnap.h
raw.h
rawv6.h
red.h
regulatory.h
request_sock.h
BACKPORT: tcp: Use a struct to represent a saved_syn
2026-01-14 18:12:17 -08:00
rmnet_config.h
rose.h
route.h
rsi_91x.h
rtnetlink.h
Revert "net: rtnetlink: add msg kind names"
2025-10-31 07:58:56 +00:00
rtnh.h
sch_generic.h
This is the 5.4.297 stable release
2025-09-02 10:52:40 +00:00
scm.h
secure_seq.h
seg6.h
UPSTREAM: seg6: fix seg6_validate_srh() to avoid slab-out-of-bounds
2026-01-14 17:48:10 -08:00
seg6_hmac.h
seg6_local.h
slhc_vj.h
smc.h
snmp.h
sock.h
UPSTREAM: bpf: net: Avoid incorrect bpf_sk_reuseport_detach call
2026-01-14 18:12:02 -08:00
sock_reuseport.h
UPSTREAM: net: Generate reuseport group ID on group creation
2025-12-23 13:35:57 -08:00
Space.h
stp.h
strparser.h
switchdev.h
tcp.h
UPSTREAM: net: bpf: Add bpf_seq_afinfo in tcp_iter_state
2026-01-14 18:12:05 -08:00
tcp_states.h
TEST_MAPPING
timewait_sock.h
tipc.h
tls.h
transp_v6.h
tso.h
tun_proto.h
udp.h
UPSTREAM: net: bpf: Add bpf_seq_afinfo in udp_iter_state
2026-01-14 18:12:06 -08:00
udp_tunnel.h
BACKPORT: udp_tunnel: add central NIC RX port offload infrastructure
2026-01-14 18:12:10 -08:00
udplite.h
virt_wifi.h
vsock_addr.h
vxlan.h
wext.h
wimax.h
x25.h
x25device.h
xdp.h
UPSTREAM: bpf: cpumap: Add the possibility to attach an eBPF program to cpumap
2026-01-14 18:12:04 -08:00
xdp_priv.h
xdp_sock.h
UPSTREAM: xsk: Move xskmap.c to net/xdp/
2026-01-14 17:48:04 -08:00
xfrm.h
This is the 5.4.276 stable release
2024-05-17 15:29:56 +00:00