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
- Lines: 39
- Date:
Fri Nov 17 16:48:51 2000
- Orig file:
v2.4.0-test10/linux/net/x25/x25_in.c
- Orig date:
Fri Apr 14 09:38:10 2000
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)