linux/Documentation/networking/index.rst
Kuniyuki Iwashima 2a63dd0edf net: Retire DCCP socket.
DCCP was orphaned in 2021 by commit 054c4610bd ("MAINTAINERS: dccp:
move Gerrit Renker to CREDITS"), which noted that the last maintainer
had been inactive for five years.

In recent years, it has become a playground for syzbot, and most changes
to DCCP have been odd bug fixes triggered by syzbot.  Apart from that,
the only changes have been driven by treewide or networking API updates
or adjustments related to TCP.

Thus, in 2023, we announced we would remove DCCP in 2025 via commit
b144fcaf46 ("dccp: Print deprecation notice.").

Since then, only one individual has contacted the netdev mailing list. [0]

There is ongoing research for Multipath DCCP.  The repository is hosted
on GitHub [1], and development is not taking place through the upstream
community.  While the repository is published under the GPLv2 license,
the scheduling part remains proprietary, with a LICENSE file [2] stating:

  "This is not Open Source software."

The researcher mentioned a plan to address the licensing issue, upstream
the patches, and step up as a maintainer, but there has been no further
communication since then.

Maintaining DCCP for a decade without any real users has become a burden.

Therefore, it's time to remove it.

Removing DCCP will also provide significant benefits to TCP.  It allows
us to freely reorganize the layout of struct inet_connection_sock, which
is currently shared with DCCP, and optimize it to reduce the number of
cachelines accessed in the TCP fast path.

Note that we keep DCCP netfilter modules as requested.  [3]

Link: https://lore.kernel.org/netdev/20230710182253.81446-1-kuniyu@amazon.com/T/#u #[0]
Link: https://github.com/telekom/mp-dccp #[1]
Link: https://github.com/telekom/mp-dccp/blob/mpdccp_v03_k5.10/net/dccp/non_gpl_scheduler/LICENSE #[2]
Link: https://lore.kernel.org/netdev/Z_VQ0KlCRkqYWXa-@calendula/ #[3]
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Acked-by: Paul Moore <paul@paul-moore.com> (LSM and SELinux)
Acked-by: Casey Schaufler <casey@schaufler-ca.com>
Link: https://patch.msgid.link/20250410023921.11307-3-kuniyu@amazon.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-04-11 18:58:10 -07:00

145 lines
1.9 KiB
ReStructuredText

Networking
==========
Refer to :ref:`netdev-FAQ` for a guide on netdev development process specifics.
Contents:
.. toctree::
:maxdepth: 2
af_xdp
bareudp
batman-adv
can
can_ucan_protocol
device_drivers/index
diagnostic/index
dsa/index
devlink/index
caif/index
ethtool-netlink
ieee802154
iso15765-2
j1939
kapi
msg_zerocopy
failover
net_dim
net_failover
page_pool
phy
sfp-phylink
alias
bridge
snmp_counter
checksum-offloads
segmentation-offloads
scaling
tls
tls-offload
tls-handshake
nfc
6lowpan
6pack
arcnet-hardware
arcnet
atm
ax25
bonding
cdc_mbim
dctcp
devmem
dns_resolver
driver
eql
fib_trie
filter
generic-hdlc
generic_netlink
netlink_spec/index
gen_stats
gtp
ila
ioam6-sysctl
iou-zcrx
ip_dynaddr
ipsec
ip-sysctl
ipv6
ipvlan
ipvs-sysctl
kcm
l2tp
lapb-module
mac80211-injection
mctp
mpls-sysctl
mptcp
mptcp-sysctl
multiqueue
multi-pf-netdev
napi
net_cachelines/index
netconsole
netdev-features
netdevices
netfilter-sysctl
netif-msg
netmem
nexthop-group-resilient
nf_conntrack-sysctl
nf_flowtable
oa-tc6-framework
openvswitch
operstates
packet_mmap
phonet
phy-link-topology
pktgen
plip
ppp_generic
proc_net_tcp
pse-pd/index
radiotap-headers
rds
regulatory
representors
rxrpc
sctp
secid
seg6-sysctl
skbuff
smc-sysctl
sriov
statistics
strparser
switchdev
sysfs-tagging
tc-actions-env-rules
tc-queue-filters
tcp_ao
tcp-thin
team
timestamping
tipc
tproxy
tuntap
udplite
vrf
vxlan
x25
x25-iface
xfrm_device
xfrm_proc
xfrm_sync
xfrm_sysctl
xdp-rx-metadata
xsk-tx-metadata
.. only:: subproject and html
Indices
=======
* :ref:`genindex`