linux/net
Tom Tucker 38a417cc99 svc: Add xpo_accept transport function
Previously, the accept logic looked into the socket state to determine
whether to call accept or recv when data-ready was indicated on an endpoint.
Since some transports don't use sockets, this logic now uses a flag
bit (SK_LISTENER) to identify listening endpoints. A transport function
(xpo_accept) allows each transport to define its own accept processing.
A transport's initialization logic is reponsible for setting the
SK_LISTENER bit. I didn't see any way to do this in transport independent
logic since the passive side of a UDP connection doesn't listen and
always recv's.

In the svc_recv function, if the SK_LISTENER bit is set, the transport
xpo_accept function is called to handle accept processing.

Note that all functions are defined even if they don't make sense
for a given transport. For example, accept doesn't mean anything for
UDP. The function is defined anyway and bug checks if called. The
UDP transport should never set the SK_LISTENER bit.

Signed-off-by: Tom Tucker <tom@opengridcomputing.com>
Acked-by: Neil Brown <neilb@suse.de>
Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Greg Banks <gnb@sgi.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
2008-02-01 16:42:08 -05:00
..
9p [NET] 9p: kill dead static inline buf_put_string 2008-01-31 19:27:05 -08:00
802 [TR] net/802/tr.c: sysctl_tr_rif_timeout static 2008-01-31 19:28:31 -08:00
8021q [VLAN]: set_rx_mode support for unicast address list 2008-01-31 19:28:24 -08:00
appletalk
atm
ax25 [AX25]: Kill ax25_bind() user triggable printk. 2008-01-31 19:27:06 -08:00
bluetooth [BLUETOOTH]: Fix bugs in previous conn add/del workqueue changes. 2008-01-31 19:28:33 -08:00
bridge [NETFILTER]: ebtables: mark matches, targets and watchers __read_mostly 2008-01-31 19:27:34 -08:00
can
core [PKTGEN]: pktgen should not print info that it is spinning 2008-01-31 19:28:26 -08:00
dccp [NETNS]: Tcp-v6 sockets per-net lookup. 2008-01-31 19:28:20 -08:00
decnet
econet
ethernet
ieee80211
ipv4 [NETNS]: Lookup in FIB semantic hashes taking into account the namespace. 2008-01-31 19:28:41 -08:00
ipv6 [IPV6]: Update MSS even if MTU is unchanged. 2008-01-31 19:28:21 -08:00
ipx
irda
iucv
key
lapb
llc
mac80211 mac80211: fixing null qos data frames check for reordering buffer 2008-01-31 19:26:38 -08:00
netfilter [NETFILTER]: Ipv6-related xt_hashlimit compilation fix. 2008-01-31 19:28:36 -08:00
netlabel
netlink [NETNS]: Fix race between put_net() and netlink_kernel_create(). 2008-01-31 19:27:22 -08:00
netrom
packet
rfkill rfkill: add the WiMAX radio type 2008-01-31 19:26:46 -08:00
rose
rxrpc [AF_RXRPC]: constify function pointer tables 2008-01-31 19:27:18 -08:00
sched [NET_SCHED]: Add flow classifier 2008-01-31 19:28:36 -08:00
sctp [SCTP]: Fix miss of report unrecognized HMAC Algorithm parameter 2008-01-31 19:27:09 -08:00
sunrpc svc: Add xpo_accept transport function 2008-02-01 16:42:08 -05:00
tipc
unix
wanrouter
wireless
x25 [AX25]: Beautify x25_init() version printk. 2008-01-31 19:27:06 -08:00
xfrm [XFRM]: Fix statistics. 2008-01-31 19:28:30 -08:00
compat.c
Kconfig
Makefile
nonet.c
socket.c
sysctl_net.c
TUNABLE