linux/net
Gerd Rausch a20a699255 net/rds: Encode cp_index in TCP source port
Upon "sendmsg", RDS/TCP selects a backend connection based
on a hash calculated from the source-port ("RDS_MPATH_HASH").

However, "rds_tcp_accept_one" accepts connections
in the order they arrive, which is non-deterministic.

Therefore the mapping of the sender's "cp->cp_index"
to that of the receiver changes if the backend
connections are dropped and reconnected.

However, connection state that's preserved across reconnects
(e.g. "cp_next_rx_seq") relies on that sender<->receiver
mapping to never change.

So we make sure that client and server of the TCP connection
have the exact same "cp->cp_index" across reconnects by
encoding "cp->cp_index" in the lower three bits of the
client's TCP source port.

A new extension "RDS_EXTHDR_SPORT_IDX" is introduced,
that allows the server to tell the difference between
clients that do the "cp->cp_index" encoding, and
legacy clients that pick source ports randomly.

Signed-off-by: Gerd Rausch <gerd.rausch@oracle.com>
Signed-off-by: Allison Henderson <allison.henderson@oracle.com>
Link: https://patch.msgid.link/20260203055723.1085751-3-achender@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-02-04 20:46:38 -08:00
..
6lowpan
9p - fix a bug with O_APPEND in cached mode causing data to be written multiple times on server 2025-12-07 08:29:09 -08:00
802 net: remove HIPPI support and RoadRunner HIPPI driver 2026-01-20 19:12:06 -08:00
8021q
appletalk
atm
ax25 net: ax25: remove plumbing for never-implemented DAMA Master support 2026-01-30 19:19:39 -08:00
batman-adv
bluetooth Bluetooth: L2CAP: Fix not tracking outstanding TX ident 2026-01-29 13:36:35 -05:00
bpf bpf: Fix reference count leak in bpf_prog_test_run_xdp() 2026-01-12 16:37:40 -08:00
bridge net: bridge: use sysfs_emit instead of sprintf 2026-02-03 19:19:42 -08:00
caif caif: fix integer underflow in cffrml_receive() 2025-12-11 01:35:41 -08:00
can net: can: j1939: j1939_xtp_rx_rts_session_active(): deactivate session upon receiving the second rts 2026-01-15 09:52:39 +01:00
ceph libceph: make calc_target() set t->paused, not just clear it 2026-01-06 00:39:43 +01:00
core tcp: reduce tcp sockets size by one cache line 2026-01-30 17:15:51 -08:00
dcb
devlink devlink: Refactor devlink_rate_nodes_check 2026-02-02 20:05:51 -08:00
dns_resolver
dsa net: dsa: tag_yt921x: add priority support 2026-02-03 15:09:31 +01:00
ethernet
ethtool ethtool: remove ETHTOOL_GRXRINGS fallback through get_rxnfc 2026-01-27 17:32:56 -08:00
handshake net/handshake: Fix null-ptr-deref in handshake_complete() 2025-12-22 12:36:40 +01:00
hsr net/hsr: fix NULL pointer dereference in prp_get_untagged_frame() 2025-12-04 11:15:13 +01:00
ieee802154
ife
ipv4 tcp: split tcp_check_space() in two parts 2026-02-04 20:37:06 -08:00
ipv6 ipv6: colocate inet6_cork in inet_cork_full 2026-02-02 17:49:30 -08:00
iucv net/iucv: clean up iucv kernel-doc warnings 2026-02-04 20:39:58 -08:00
kcm
key
l2tp l2tp: avoid one data-race in l2tp_tunnel_del_work() 2026-01-19 09:55:41 -08:00
l3mdev
lapb
llc
mac80211 wifi: mac80211: Add eMLSR/eMLMR action frame parsing support 2026-02-02 10:11:18 +01:00
mac802154
mctp
mpls
mptcp mptcp: Change some dubious min_t(int, ...) to min() 2026-02-04 18:45:09 -08:00
ncsi
netfilter netfilter: nfnetlink_queue: optimize verdict lookup with hash table 2026-01-29 09:52:07 +01:00
netlabel
netlink
netrom netrom: fix double-free in nr_route_frame() 2026-01-20 19:15:40 -08:00
nfc nfc: nci: Fix race between rfkill and nci_unregister_device(). 2026-01-28 19:32:26 -08:00
nsh
openvswitch net: openvswitch: fix data race in ovs_vport_get_upcall_stats 2026-01-22 12:55:22 +01:00
packet
phonet
psample
psp
qrtr
rds net/rds: Encode cp_index in TCP source port 2026-02-04 20:46:38 -08:00
rfkill
rose net: rose: fix invalid array index in rose_kill_by_device() 2025-12-30 11:45:51 +01:00
rxrpc rxrpc: Fix data-race warning and potential load/store tearing 2026-01-21 19:59:29 -08:00
sched net_sched: sch_fq: tweak unlikely() hints in fq_dequeue() 2026-02-04 20:43:40 -08:00
sctp sctp: move SCTP_CMD_ASSOC_SHKEY right after SCTP_CMD_PEER_INIT 2026-01-17 15:10:34 -08:00
shaper
smc Revert "net/smc: Introduce TCP ULP support" 2026-01-30 19:21:51 -08:00
strparser
sunrpc nfsd-6.19 fixes: 2025-12-24 09:23:04 -08:00
switchdev
tipc
tls
unix net: do not write to msg_get_inq in callee 2026-01-08 08:45:13 -08:00
vmw_vsock vmw_vsock: bypass false-positive Wnonnull warning with gcc-16 2026-02-04 18:40:31 -08:00
wireless wifi: cfg80211: add initial UHR support 2026-02-02 10:11:07 +01:00
x25
xdp Revert "Merge branch 'netkit-support-for-io_uring-zero-copy-and-af_xdp'" 2026-01-20 18:06:01 -08:00
xfrm xfrm: set ipv4 no_pmtu_disc flag only on output sa when direction is set 2025-12-15 11:06:25 +01:00
Kconfig
Kconfig.debug
Makefile
compat.c
devres.c
socket.c vfs-6.19-rc1.fixes 2025-12-05 15:52:30 -08:00
sysctl_net.c