diff options
author | dfr <dfr@FreeBSD.org> | 1998-08-24 07:47:39 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 1998-08-24 07:47:39 +0000 |
commit | b9492066e97d868408f504260ae6be723843e4e8 (patch) | |
tree | 39418968d5099f5b89b07632470056fe32935ec1 /sys/netinet/udp_usrreq.c | |
parent | 91d93c9726bff72d58cdc4eab23a032d9f461681 (diff) | |
download | FreeBSD-src-b9492066e97d868408f504260ae6be723843e4e8.zip FreeBSD-src-b9492066e97d868408f504260ae6be723843e4e8.tar.gz |
Re-implement tcp and ip fragment reassembly to not store pointers in the
ip header which can't work on alpha since pointers are too big.
Reviewed by: Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
Diffstat (limited to 'sys/netinet/udp_usrreq.c')
-rw-r--r-- | sys/netinet/udp_usrreq.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c index 107fd06..d5eae08 100644 --- a/sys/netinet/udp_usrreq.c +++ b/sys/netinet/udp_usrreq.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)udp_usrreq.c 8.6 (Berkeley) 5/23/95 - * $Id: udp_usrreq.c,v 1.46 1998/03/28 10:18:26 bde Exp $ + * $Id: udp_usrreq.c,v 1.47 1998/05/15 20:11:35 wollman Exp $ */ #include <sys/param.h> @@ -166,9 +166,7 @@ udp_input(m, iphlen) * Checksum extended UDP header and data. */ if (uh->uh_sum) { - ((struct ipovly *)ip)->ih_next = 0; - ((struct ipovly *)ip)->ih_prev = 0; - ((struct ipovly *)ip)->ih_x1 = 0; + bzero(((struct ipovly *)ip)->ih_x1, 9); ((struct ipovly *)ip)->ih_len = uh->uh_ulen; uh->uh_sum = in_cksum(m, len + sizeof (struct ip)); if (uh->uh_sum) { @@ -507,8 +505,7 @@ udp_output(inp, m, addr, control, p) * and addresses and length put into network format. */ ui = mtod(m, struct udpiphdr *); - ui->ui_next = ui->ui_prev = 0; - ui->ui_x1 = 0; + bzero(ui->ui_x1, sizeof(ui->ui_x1)); ui->ui_pr = IPPROTO_UDP; ui->ui_len = htons((u_short)len + sizeof (struct udphdr)); ui->ui_src = inp->inp_laddr; |