summaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
authorMiguel de Icaza <miguel@nuclecu.unam.mx>1997-08-06 19:14:48 +0000
committerMiguel de Icaza <miguel@nuclecu.unam.mx>1997-08-06 19:14:48 +0000
commite2819e52a162873ff5061de81bb749831bdb5de9 (patch)
tree6067ea700202750ba335a423696f2972700e5f76 /net/ipv4
parent17a005074429bbf143e40401f405ae4363e56828 (diff)
Merge to 2.1.38.
IMPORTANT NOTE: I could not figure out what information is the one that should be used for the following files (ie, those that were in our tree, or those that came from Linus' patch), please, check these: include/asm-mips/jazz.h include/asm-mips/jazzdma.h include/asm-mips/ioctls.h
Diffstat (limited to 'net/ipv4')
-rw-r--r--net/ipv4/ip_fragment.c5
-rw-r--r--net/ipv4/ipip.c3
-rw-r--r--net/ipv4/proc.c2
-rw-r--r--net/ipv4/tcp.c25
-rw-r--r--net/ipv4/tcp_ipv4.c4
5 files changed, 13 insertions, 26 deletions
diff --git a/net/ipv4/ip_fragment.c b/net/ipv4/ip_fragment.c
index e4fe370fd..d499873dd 100644
--- a/net/ipv4/ip_fragment.c
+++ b/net/ipv4/ip_fragment.c
@@ -5,7 +5,7 @@
*
* The IP fragmentation functionality.
*
- * Version: $Id: ip_fragment.c,v 1.23 1997/05/31 12:36:35 freitag Exp $
+ * Version: $Id: ip_fragment.c,v 1.2 1997/06/17 13:31:27 ralf Exp $
*
* Authors: Fred N. van Kempen <waltje@uWalt.NL.Mugnet.ORG>
* Alan Cox <Alan.Cox@linux.org>
@@ -358,6 +358,9 @@ static struct sk_buff *ip_glue(struct ipq *qp)
fp = fp->next;
}
+ skb->pkt_type = qp->fragments->skb->pkt_type;
+ skb->protocol = qp->fragments->skb->protocol;
+
/* We glued together all fragments, so remove the queue entry. */
ip_free(qp);
diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c
index 75346d6dc..31e1258e8 100644
--- a/net/ipv4/ipip.c
+++ b/net/ipv4/ipip.c
@@ -65,7 +65,8 @@ int ipip_rcv(struct sk_buff *skb, unsigned short len)
/*
* Discard the original IP header
*/
-
+
+ skb->mac.raw = skb->data;
skb_pull(skb, skb->h.raw - skb->nh.raw);
/*
diff --git a/net/ipv4/proc.c b/net/ipv4/proc.c
index e3b41e2ad..1184c9f41 100644
--- a/net/ipv4/proc.c
+++ b/net/ipv4/proc.c
@@ -77,7 +77,7 @@ get__netinfo(struct proto *pro, char *buffer, int format, char **start, off_t of
* This was very pretty but didn't work when a socket is destroyed
* at the wrong moment (eg a syn recv socket getting a reset), or
* a memory timer destroy. Instead of playing with timers we just
- * concede defeat and cli().
+ * concede defeat and do a start_bh_atomic().
*/
SOCKHASH_LOCK();
sp = pro->sklist_next;
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index b43a972cc..0ba7640f6 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -5,7 +5,7 @@
*
* Implementation of the Transmission Control Protocol(TCP).
*
- * Version: $Id: tcp.c,v 1.66 1997/05/31 12:36:39 freitag Exp $
+ * Version: $Id: tcp.c,v 1.2 1997/06/17 13:31:29 ralf Exp $
*
* Authors: Ross Biro, <bir7@leland.Stanford.Edu>
* Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
@@ -201,26 +201,6 @@
* Eric Schenk : Fix fast close down bug with
* shutdown() followed by close().
*
- * To Fix:
- * Fast path the code. Two things here - fix the window calculation
- * so it doesn't iterate over the queue, also spot packets with no funny
- * options arriving in order and process directly.
- *
- * Rewrite output state machine to use a single queue.
- * Speed up input assembly algorithm.
- * RFC1323 - PAWS and window scaling.[Required for IPv6]
- * User settable/learned rtt/max window/mtu
- *
- * Change the fundamental structure to a single send queue maintained
- * by TCP (removing the bogus ip stuff [thus fixing mtu drops on
- * active routes too]). Cut the queue off in tcp_retransmit/
- * tcp_transmit.
- * Change the receive queue to assemble as it goes. This lets us
- * dispose of most of tcp_sequence, half of tcp_ack and chunks of
- * tcp_data/tcp_read as well as the window shrink crud.
- * Separate out duplicated code - tcp_alloc_skb, tcp_build_ack
- * tcp_queue_skb seem obvious routines to extract.
- *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version
@@ -267,6 +247,9 @@
* for violations and the like. tcp.c is just too big... If I say something
* "does?" or "doesn't?", it means I'm not sure, and will have to hash it out
* with Alan. -- MS 950903
+ * [Note: Most of the TCP code has been rewriten/redesigned since this
+ * RFC1122 check. It is probably not correct anymore. It should be redone
+ * before 2.2. -AK]
*
* Use of PSH (4.2.2.2)
* MAY aggregate data sent without the PSH flag. (does)
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
index d89624175..dfe60e712 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -5,7 +5,7 @@
*
* Implementation of the Transmission Control Protocol(TCP).
*
- * Version: $Id: tcp_ipv4.c,v 1.1.1.1 1997/06/01 03:16:26 ralf Exp $
+ * Version: $Id: tcp_ipv4.c,v 1.2 1997/07/20 15:01:56 ralf Exp $
*
* IPv4 specific functions
*
@@ -1205,7 +1205,7 @@ static inline struct sock *tcp_v4_check_req(struct sock *sk, struct sk_buff *skb
/* Check for syn retransmission */
flg = *(((u32 *)skb->h.th) + 3);
- flg &= __constant_htonl(0x002f0000);
+ flg &= __constant_htonl(0x001f0000);
if ((flg == __constant_htonl(0x00020000)) &&
(!after(skb->seq, req->rcv_isn))) {
/* retransmited syn