android_kernel_xiaomi_sm8350/net
Gerrit Renker e333b3edc4 [DCCP]: Promote CCID2 as default CCID
This patch addresses the following problems:

 1. DCCP relies for its proper functioning on having at least one CCID module
    enabled (as in TCP plugable congestion control). Currently it is possible to
    disable both CCIDs and thus leave the DCCP module in a compiled, but entirely
    non-functional state: no sockets can be created when no CCID is available.
    Furthermore, the protocol is (again like TCP) not intended to be used without
    CCIDs. Last, a non-empty CCID list is needed for doing CCID feature negotiation.

 2. Internally the default CCID that is advertised by the Linux host is set to CCID2
    (DCCPF_INITIAL_CCID in include/linux/dccp.h). Disabling CCID2 in the Kconfig
    menu without changing the defaults leads to a failure `module not found' when
    trying to load the dccp module (which internally tries to load the default CCID).

 3. The specification (RFC 4340, sec. 10) treats CCID2 somewhat like a
    `minimum common denominator'; the specification says that:

    * "New connections start with CCID 2 for both endpoints"

    * "A DCCP implementation intended for general use, such as an implementation in a
       general-purpose operating system kernel, SHOULD implement at least CCID 2.
       The intent is to make CCID 2 broadly available for interoperability [...]"

    Providing CCID2 as minimum-required CCID (like Reno/Cubic in TCP) thus seems reasonable.

Hence this patch automatically selects CCID2 when DCCP is enabled. Documentation also added.

Discussions with Ian McDonald on this subject are gratefully acknowledged.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-01-28 14:54:46 -08:00
..
9p 9p: add missing end-of-options record for trans_fd 2007-11-06 08:02:53 -06:00
802 [NET]: Convert init_timer into setup_timer 2008-01-28 14:53:35 -08:00
8021q [VLAN]: nested VLAN: fix lockdep's recursive locking warning 2008-01-10 22:38:31 -08:00
appletalk [NET]: Convert init_timer into setup_timer 2008-01-28 14:53:35 -08:00
atm [NET]: Convert init_timer into setup_timer 2008-01-28 14:53:35 -08:00
ax25 [NET]: Convert init_timer into setup_timer 2008-01-28 14:53:35 -08:00
bluetooth [NET]: Convert init_timer into setup_timer 2008-01-28 14:53:35 -08:00
bridge [NET]: Make rtnetlink infrastructure network namespace aware (v3) 2008-01-28 14:54:25 -08:00
can [CAN]: Add virtual CAN netdevice driver 2008-01-28 14:54:12 -08:00
core [NET] proto: Use pcounters for the inuse field 2008-01-28 14:54:40 -08:00
dccp [DCCP]: Promote CCID2 as default CCID 2008-01-28 14:54:46 -08:00
decnet [NET]: Make rtnetlink infrastructure network namespace aware (v3) 2008-01-28 14:54:25 -08:00
econet [NET]: Convert init_timer into setup_timer 2008-01-28 14:53:35 -08:00
ethernet [NET]: Validate device addr prior to interface-up 2007-10-23 21:27:50 -07:00
ieee80211 [NET]: Convert init_timer into setup_timer 2008-01-28 14:53:35 -08:00
ipv4 [IPVS]: Relax the module get/put in ip_vs_app.c 2008-01-28 14:54:35 -08:00
ipv6 [RAW]: Consolidate proc interface. 2008-01-28 14:54:32 -08:00
ipx [IPX]: Use existing sock refcnt debugging infrastructure 2007-11-10 21:39:26 -08:00
irda [NET]: Convert init_timer into setup_timer 2008-01-28 14:53:35 -08:00
iucv [NET]: Convert init_timer into setup_timer 2008-01-28 14:53:35 -08:00
key [AF_KEY]: Fix skb leak on pfkey_send_migrate() error 2008-01-20 20:31:45 -08:00
lapb
llc [NET]: Convert init_timer into setup_timer 2008-01-28 14:53:35 -08:00
mac80211 mac80211: remove more forgotten code 2008-01-28 14:54:39 -08:00
netfilter [NETFILTER]: Introduce NF_INET_ hook values 2008-01-28 14:53:55 -08:00
netlabel [NETLABEL]: Spelling fixes 2007-12-20 14:03:11 -08:00
netlink [NET]: Consolidate net namespace related proc files creation. 2008-01-28 14:54:28 -08:00
netrom [NET]: Convert init_timer into setup_timer 2008-01-28 14:53:35 -08:00
packet [NET]: Consolidate net namespace related proc files creation. 2008-01-28 14:54:28 -08:00
rfkill rfkill: call rfkill_led_trigger_unregister() on error 2008-01-20 20:31:36 -08:00
rose [NET]: Convert init_timer into setup_timer 2008-01-28 14:53:35 -08:00
rxrpc [AF_RXRPC]: Add a missing goto 2007-12-07 04:31:47 -08:00
sched [NET]: Make rtnetlink infrastructure network namespace aware (v3) 2008-01-28 14:54:25 -08:00
sctp [NET]: Convert init_timer into setup_timer 2008-01-28 14:53:35 -08:00
sunrpc [NET]: Convert init_timer into setup_timer 2008-01-28 14:53:35 -08:00
tipc [NET]: Convert init_timer into setup_timer 2008-01-28 14:53:35 -08:00
unix [NET]: Consolidate net namespace related proc files creation. 2008-01-28 14:54:28 -08:00
wanrouter
wireless [NET]: Consolidate net namespace related proc files creation. 2008-01-28 14:54:28 -08:00
x25 [NET]: Convert init_timer into setup_timer 2008-01-28 14:53:35 -08:00
xfrm [IPSEC]: Kill afinfo->nf_post_routing 2008-01-28 14:53:55 -08:00
compat.c [NETFILTER]: Introduce NF_INET_ hook values 2008-01-28 14:53:55 -08:00
Kconfig [CAN]: Add PF_CAN core module 2008-01-28 14:54:10 -08:00
Makefile [CAN]: Add PF_CAN core module 2008-01-28 14:54:10 -08:00
nonet.c
socket.c [NET]: Use sockfd_lookup_light in the rest of the net/socket.c 2008-01-28 14:54:00 -08:00
sysctl_net.c
TUNABLE