linux/include/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
..
bluetooth Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irda [PATCH] x86_64: Make IRDA devices are not really ISA devices not depend on CONFIG_ISA 2005-04-16 15:24:56 -07:00
sctp [SCTP] sctp_connectx() API support 2005-06-20 13:14:57 -07:00
tc_act [PKT_SCHED]: Introduce simple actions. 2005-04-24 20:10:16 -07:00
act_api.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
act_generic.h [PKT_SCHED]: Fixup simple action define. 2005-05-19 12:42:39 -07:00
addrconf.h [IPV6]: net/addrconf.h needs to include linux/in6.h earlier 2005-05-03 22:17:18 -07:00
af_unix.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ah.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
arp.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
atmclip.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ax25.h [AX25]: endian-annotate ax25_type_trans() 2005-06-20 13:31:11 -07:00
checksum.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
compat.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
datalink.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dn_dev.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dn_fib.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dn_neigh.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dn_nsp.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dn_route.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dn.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dsfield.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dst.h [NET]: Shave sizeof(ptr) bytes off dst_entry 2005-04-19 20:46:37 -07:00
esp.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
flow.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gen_stats.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
icmp.h [PATCH] update Ross Biro bouncing email address 2005-05-05 16:36:49 -07:00
if_inet6.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
inet_common.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
inet_ecn.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
inetpeer.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip6_checksum.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip6_fib.h [IPV6]: V6 route events reported with wrong netlink PID and seq number 2005-06-21 13:51:04 -07:00
ip6_route.h [IPV6]: V6 route events reported with wrong netlink PID and seq number 2005-06-21 13:51:04 -07:00
ip6_tunnel.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_fib.h [NETLINK]: fib_lookup() via netlink 2005-06-20 13:36:39 -07:00
ip_mp_alg.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip.h [SCTP] Add support for ip_nonlocal_bind sysctl & IP_FREEBIND socket option 2005-06-13 15:12:33 -07:00
ipcomp.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipconfig.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipip.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipv6.h [SELINUX]: Fix ipv6_skip_exthdr() invocation causing OOPS. 2005-04-24 20:16:19 -07:00
ipx.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iw_handler.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
lapb.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_c_ac.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_c_ev.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_c_st.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_conn.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_if.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_pdu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_s_ac.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_s_ev.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_s_st.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_sap.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ndisc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
neighbour.h [NEIGHBOUR]: Remove unused fields in struct neigh_parms and neigh_table 2005-06-18 22:51:12 -07:00
netrom.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
p8022.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pkt_act.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pkt_cls.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pkt_sched.h [PKT_SCHED]: Fix range in PSCHED_TDIFF_SAFE to 0..bound 2005-05-03 14:41:18 -07:00
protocol.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
psnap.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raw.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rawv6.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
request_sock.h [NET] rename struct tcp_listen_opt to struct listen_sock 2005-06-18 22:48:55 -07:00
rose.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
route.h [PATCH] smp_processor_id() cleanup 2005-06-21 18:46:13 -07:00
sch_generic.h [PKT_SCHED]: Generic queue management interface for qdiscs using internal skb queues 2005-06-18 22:57:26 -07:00
scm.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
slhc_vj.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
snmp.h [PATCH] smp_processor_id() cleanup 2005-06-21 18:46:13 -07:00
sock.h [NET] Rename open_request to request_sock 2005-06-18 22:47:21 -07:00
syncppp.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tcp_ecn.h [NET] Rename open_request to request_sock 2005-06-18 22:47:21 -07:00
tcp.h [NET]: Move sysctl_max_syn_backlog into request_sock.c 2005-06-18 22:49:40 -07:00
transp_v6.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
udp.h [PATCH] update Ross Biro bouncing email address 2005-05-05 16:36:49 -07:00
x25.h [X25]: Fast select with no restriction on response 2005-06-22 22:16:17 -07:00
x25device.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xfrm.h [IPSEC]: Add xfrm_state_afinfo->init_flags 2005-06-20 13:19:41 -07:00