patch-2.4.0-test11 linux/net/x25/x25_in.c

Next file: linux/net/x25/x25_out.c
Previous file: linux/net/x25/x25_dev.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test10/linux/net/x25/x25_in.c linux/net/x25/x25_in.c
@@ -16,8 +16,10 @@
  *	X.25 001	Jonathan Naylor	  Started coding.
  *	X.25 002	Jonathan Naylor	  Centralised disconnection code.
  *					  New timer architecture.
- *	mar/20/00	Daniela Squassoni Disabling/enabling of facilities 
+ *	2000-03-20	Daniela Squassoni Disabling/enabling of facilities 
  *					  negotiation.
+ *	2000-11-10	Henner Eisen	  Check and reset for out-of-sequence
+ *					  i-frames.
  */
 
 #include <linux/config.h>
@@ -216,7 +218,8 @@
 
 		case X25_DATA:	/* XXX */
 			sk->protinfo.x25->condition &= ~X25_COND_PEER_RX_BUSY;
-			if (!x25_validate_nr(sk, nr)) {
+			if ((ns!=sk->protinfo.x25->vr) || 
+			    !x25_validate_nr(sk, nr)) {
 				x25_clear_queues(sk);
 				x25_write_internal(sk, X25_RESET_REQUEST);
 				x25_start_t22timer(sk);
@@ -355,6 +358,16 @@
 	x25_kick(sk);
 
 	return queued;
+}
+
+int x25_backlog_rcv(struct sock *sk, struct sk_buff *skb)
+{
+	int queued;
+
+	queued = x25_process_rx_frame(sk,skb);
+	if(!queued) kfree_skb(skb);
+
+	return 0;
 }
 
 #endif

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)