--- net/etherboot/Makefile.orig Fri Jan 3 15:37:20 2003 +++ net/etherboot/Makefile Fri Jan 3 15:37:34 2003 @@ -6,7 +6,7 @@ # PORTNAME= etherboot -PORTVERSION= 5.0.5 +PORTVERSION= 5.0.8 CATEGORIES= net #MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} #MASTER_SITE_SUBDIR= ${PORTNAME} --- net/etherboot/distinfo.orig Fri Jan 3 15:37:20 2003 +++ net/etherboot/distinfo Fri Jan 3 15:40:54 2003 @@ -1 +1 @@ -MD5 (etherboot-5.0.5.tar.bz2) = 1b7bcf5544ef8729bd6ea571ef8fc365 +MD5 (etherboot-5.0.8.tar.bz2) = 150e2b96961924e3c4e83c8de90d24fb --- net/etherboot/files/patch-ab.orig Fri Jan 3 15:37:20 2003 +++ net/etherboot/files/patch-ab Fri Jan 3 15:52:49 2003 @@ -1,6 +1,6 @@ ---- nfs.c.orig Tue Mar 12 21:44:19 2002 -+++ nfs.c Thu Mar 14 07:51:43 2002 -@@ -321,6 +321,14 @@ +--- nfs.c.orig Mon Mar 18 00:18:17 2002 ++++ nfs.c Fri Jan 3 15:49:03 2003 +@@ -61,6 +61,14 @@ int retries; long *p; @@ -15,8 +15,23 @@ id = rpc_id++; buf.u.call.id = htonl(id); buf.u.call.type = htonl(MSG_CALL); -@@ -336,9 +344,14 @@ - *p++ = 0; /* unused parameter */ +@@ -267,6 +275,14 @@ + int retries; + int pathlen = strlen(path); + ++ static int tokens=0; ++ /* ++ * Try to implement something similar to a window protocol in ++ * terms of response to losses. On successful receive, increment ++ * the number of tokens by 1 (cap at 256). On failure, halve it. ++ * When the number of tokens is >= 2, use a very short timeout. ++ */ ++ + id = rpc_id++; + buf.u.call.id = htonl(id); + buf.u.call.type = htonl(MSG_CALL); +@@ -285,9 +301,14 @@ + p += (pathlen + 3) / 4; for (retries = 0; retries < MAX_RPC_RETRIES; retries++) { long timeout = rfc2131_sleep_interval(TIMEOUT, retries); + if (tokens >= 2) @@ -30,8 +45,8 @@ rpc = (struct rpc_t *)&nic.packet[ETH_HLEN]; if (rpc->u.reply.rstatus || rpc->u.reply.verifier || rpc->u.reply.astatus || rpc->u.reply.data[0]) { -@@ -355,7 +368,8 @@ - } else { +@@ -305,7 +326,8 @@ + memcpy(nfh, rpc->u.reply.data + 1, NFS_FHSIZE); return 0; } - }