android_kernel_google_msm/net
Gerrit Renker bd012f2e7b dccp: Basic data structure for feature negotiation
This patch prepares for the new and extended feature-negotiation
routines.

The following feature-negotiation data structures are provided:
	* a container for the various (SP or NN) values,
	* symbolic state names to track feature states,
	* an entry struct which holds all current information together,
	* elementary functions to fill in and process these structures.

Entry structs are arranged as FIFO for the following reason: RFC 4340
specifies that if multiple options of the same type are present, they
are processed in the order of their appearance in the packet; which
means that this order needs to be preserved in the local data
structure (the later insertion code also respects this order).

The struct list_head has been chosen for the following reasons: the most
frequent operations are

 * add new entry at tail (when receiving Change or setting socket
   options);
 * delete entry (when Confirm has been received);
 * deep copy of entire list (cloning from listening socket onto
   request socket).

The NN value has been set to 64 bit, which is a currently sufficient
upper limit (Sequence Window feature has 48 bit).

Thanks to Arnaldo, who contributed the streamlined layout of the entry
struct.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-11-04 23:38:20 -08:00
..
9p net: remove two duplicated #include 2008-11-03 18:23:09 -08:00
802 net: '&' redux 2008-11-03 18:21:05 -08:00
8021q net/: Kill now superfluous ->last_rx stores. 2008-11-03 22:01:07 -08:00
appletalk net: '&' redux 2008-11-03 18:21:05 -08:00
atm net: replace NIPQUAD() in net/*/ 2008-10-31 00:54:56 -07:00
ax25 net: '&' redux 2008-11-03 18:21:05 -08:00
bluetooth net/: Kill now superfluous ->last_rx stores. 2008-11-03 22:01:07 -08:00
bridge net: '&' redux 2008-11-03 18:21:05 -08:00
can net: Remove CONFIG_KMOD from net/ (towards removing CONFIG_KMOD entirely) 2008-10-16 15:24:51 -07:00
core net: '&' redux 2008-11-03 18:21:05 -08:00
dccp dccp: Basic data structure for feature negotiation 2008-11-04 23:38:20 -08:00
decnet net: '&' redux 2008-11-03 18:21:05 -08:00
dsa net/: Kill now superfluous ->last_rx stores. 2008-11-03 22:01:07 -08:00
econet
ethernet
ieee80211 net/: Kill now superfluous ->last_rx stores. 2008-11-03 22:01:07 -08:00
ipv4 net: '&' redux 2008-11-03 18:21:05 -08:00
ipv6 net: '&' redux 2008-11-03 18:21:05 -08:00
ipx net: '&' redux 2008-11-03 18:21:05 -08:00
irda net: '&' redux 2008-11-03 18:21:05 -08:00
iucv
key
lapb
llc net: '&' redux 2008-11-03 18:21:05 -08:00
mac80211 mac80211: fix two kernel-doc warnings 2008-10-31 19:02:36 -04:00
netfilter net: '&' redux 2008-11-03 18:21:05 -08:00
netlabel net: replace NIPQUAD() in net/*/ 2008-10-31 00:54:56 -07:00
netlink netlink: constify struct nlattr * arg to parsing functions 2008-10-28 11:59:11 -07:00
netrom net: '&' redux 2008-11-03 18:21:05 -08:00
packet
phonet net: '&' redux 2008-11-03 18:21:05 -08:00
rfkill rfkill: rate-limit rfkill-input workqueue usage (v3) 2008-10-31 19:00:10 -04:00
rose net: '&' redux 2008-11-03 18:21:05 -08:00
rxrpc net: replace NIPQUAD() in net/*/ 2008-10-31 00:54:56 -07:00
sched netem: eliminate unneeded return values 2008-11-03 21:13:26 -08:00
sctp net: '&' redux 2008-11-03 18:21:05 -08:00
sunrpc sunrpc: Fix build warning due to typo in %pI4 format changes. 2008-11-02 23:57:06 -08:00
tipc net: convert print_mac to %pM 2008-10-27 17:06:18 -07:00
unix net: '&' redux 2008-11-03 18:21:05 -08:00
wanrouter
wireless wireless regulatory: move ignore_request 2008-10-31 19:02:32 -04:00
x25 net: '&' redux 2008-11-03 18:21:05 -08:00
xfrm net: replace NIPQUAD() in net/*/ 2008-10-31 00:54:56 -07:00
compat.c
Kconfig netns: Coexist with the sysfs limitations v2 2008-10-27 17:51:47 -07:00
Makefile
nonet.c
socket.c net: remove two duplicated #include 2008-11-03 18:23:09 -08:00
sysctl_net.c
TUNABLE