linux/net
Shaun Pereira ebc3f64b86 [X25]: Fast select with no restriction on response
This patch is a follow up to patch 1 regarding "Selective Sub Address
matching with call user data".  It allows use of the Fast-Select-Acceptance
optional user facility for X.25.

This patch just implements fast select with no restriction on response
(NRR).  What this means (according to ITU-T Recomendation 10/96 section
6.16) is that if in an incoming call packet, the relevant facility bits are
set for fast-select-NRR, then the called DTE can issue a direct response to
the incoming packet using a call-accepted packet that contains
call-user-data.  This patch allows such a response.  

The called DTE can also respond with a clear-request packet that contains
call-user-data.  However, this feature is currently not implemented by the
patch.

How is Fast Select Acceptance used?
By default, the system does not allow fast select acceptance (as before).
To enable a response to fast select acceptance,  
After a listen socket in created and bound as follows
	socket(AF_X25, SOCK_SEQPACKET, 0);
	bind(call_soc, (struct sockaddr *)&locl_addr, sizeof(locl_addr));
but before a listen system call is made, the following ioctl should be used.
	ioctl(call_soc,SIOCX25CALLACCPTAPPRV);
Now the listen system call can be made
	listen(call_soc, 4);
After this, an incoming-call packet will be accepted, but no call-accepted 
packet will be sent back until the following system call is made on the socket
that accepts the call
	ioctl(vc_soc,SIOCX25SENDCALLACCPT);
The network (or cisco xot router used for testing here) will allow the 
application server's call-user-data in the call-accepted packet, 
provided the call-request was made with Fast-select NRR.

Signed-off-by: Shaun Pereira <spereira@tusc.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-06-22 22:16:17 -07:00
..
802 [TOKENRING]: net/802/tr.c: s/struct rif_cache_s/struct rif_cache/ 2005-05-26 12:59:42 -07:00
8021q [PATCH] misc verify_area cleanups 2005-05-01 08:59:08 -07:00
appletalk [ATALK] aarp: replace schedule_timeout() with msleep() 2005-06-22 22:11:44 -07:00
atm [PATCH] misc verify_area cleanups 2005-05-01 08:59:08 -07:00
ax25 [AX25] Introduce ax25_type_trans 2005-04-24 18:53:06 -07:00
bluetooth [NET]: kill gratitious includes of major.h 2005-04-25 21:40:39 -07:00
bridge [EBTABLES]: vfree() checking cleanups 2005-06-22 22:12:57 -07:00
core [NETPOLL]: allow multiple netpoll_clients to register against one interface 2005-06-22 22:05:59 -07:00
decnet [DECNET]: Remove unnecessary initilization of unused variable entries 2005-06-18 22:55:02 -07:00
econet Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ethernet [PATCH] update Ross Biro bouncing email address 2005-05-05 16:36:49 -07:00
ipv4 [IPV4]: Fix route.c gcc4 warnings 2005-06-22 22:10:23 -07:00
ipv6 [NETFILTER]: Fix ip6t_LOG sit tunnel logging 2005-06-21 14:07:13 -07:00
ipx Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irda [PATCH] ISA DMA Kconfig fixes - part 4 (irda) 2005-05-04 07:33:14 -07:00
key [IPSEC]: Add XFRM_STATE_NOPMTUDISC flag 2005-06-20 13:21:43 -07:00
lapb Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
netlink [NETLINK]: Introduce NLMSG_NEW macro to better handle netlink flags 2005-06-18 22:53:48 -07:00
netrom Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
packet [PATCH] update Ross Biro bouncing email address 2005-05-05 16:36:49 -07:00
rose Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rxrpc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sched [PKT_SCHED]: noop/noqueue qdisc style cleanups 2005-06-18 22:59:08 -07:00
sctp [SCTP] sctp_connectx() API support 2005-06-20 13:14:57 -07:00
sunrpc [PATCH] DocBook: changes and extensions to the kernel documentation 2005-05-01 08:59:25 -07:00
unix [AF_UNIX]: Use lookup_create(). 2005-05-19 12:26:43 -07:00
wanrouter [PATCH] misc verify_area cleanups 2005-05-01 08:59:08 -07:00
x25 [X25]: Fast select with no restriction on response 2005-06-22 22:16:17 -07:00
xfrm [IPSEC]: Add xfrm_state_afinfo->init_flags 2005-06-20 13:19:41 -07:00
compat.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nonet.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
socket.c [NET]: dont use strlen() but the result from a prior sprintf() 2005-06-22 14:32:51 -07:00
sysctl_net.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
TUNABLE Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00