aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorThomas Huth <thuth@redhat.com>2018-05-18 17:45:30 +0200
committerAlexey Kardashevskiy <aik@ozlabs.ru>2018-05-25 14:55:50 +1000
commit4c2af4e48ff4162617cd41d4b2582bcbda670bea (patch)
tree884bb3f6d2e1324571fd7de40b02ea763c86866b /lib
parent232eb915d1c08de17c59a05557ea6051275d078b (diff)
downloadSLOF-4c2af4e48ff4162617cd41d4b2582bcbda670bea.zip
SLOF-4c2af4e48ff4162617cd41d4b2582bcbda670bea.tar.gz
SLOF-4c2af4e48ff4162617cd41d4b2582bcbda670bea.tar.bz2
libnet: Get rid of unused huge_load and block_size parameters
The blocksize is hard-coded to 1428 bytes in obp-tftp.fs, so instead of hardcoding this in the Forth code, we could also move this into tftp.c directly instead. A similar condition exists with the huge-tftp-load parameter. While this non-standard variable could still be changed in the obp-tftp package, it does not make much sense to set it to zero since you only lose the possibility to do huge TFTP loads with index wrap-around in that case. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Greg Kurz <groug@kaod.org> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Diffstat (limited to 'lib')
-rw-r--r--lib/libnet/libnet.code4
-rw-r--r--lib/libnet/netapps.h3
-rw-r--r--lib/libnet/netload.c11
-rw-r--r--lib/libnet/tftp.c13
-rw-r--r--lib/libnet/tftp.h2
5 files changed, 10 insertions, 23 deletions
diff --git a/lib/libnet/libnet.code b/lib/libnet/libnet.code
index 2746782..419419d 100644
--- a/lib/libnet/libnet.code
+++ b/lib/libnet/libnet.code
@@ -4,11 +4,9 @@
PRIM(NET_X2d_LOAD)
int alen = TOS.n; POP;
char *arg = TOS.a; POP;
- int blocksize = TOS.n; POP;
- int hugeload = TOS.n; POP;
long maxlen = TOS.n; POP;
void *loadaddr = TOS.a;
- TOS.n = netload(loadaddr, maxlen, hugeload, blocksize, arg, alen);
+ TOS.n = netload(loadaddr, maxlen, arg, alen);
MIRP
PRIM(NET_X2d_PING)
diff --git a/lib/libnet/netapps.h b/lib/libnet/netapps.h
index 0e637e1..6e00466 100644
--- a/lib/libnet/netapps.h
+++ b/lib/libnet/netapps.h
@@ -18,8 +18,7 @@
struct filename_ip;
-extern int netload(char *buffer, int len, int huge_load, int block_size,
- char *args_fs, int alen);
+extern int netload(char *buffer, int len, char *args_fs, int alen);
extern int ping(char *args_fs, int alen);
extern int dhcp(char *ret_buffer, struct filename_ip *fn_ip,
unsigned int retries, int flags);
diff --git a/lib/libnet/netload.c b/lib/libnet/netload.c
index 5c37fe2..8dca654 100644
--- a/lib/libnet/netload.c
+++ b/lib/libnet/netload.c
@@ -405,13 +405,12 @@ static void seed_rng(uint8_t mac[])
}
static int tftp_load(filename_ip_t *fnip, unsigned char *buffer, int len,
- unsigned int retries, int32_t mode,
- int32_t blksize, int ip_vers)
+ unsigned int retries, int ip_vers)
{
tftp_err_t tftp_err;
int rc;
- rc = tftp(fnip, buffer, len, retries, &tftp_err, mode, blksize, ip_vers);
+ rc = tftp(fnip, buffer, len, retries, &tftp_err, ip_vers);
if (rc > 0) {
printf(" TFTP: Received %s (%d KBytes)\n", fnip->filename,
@@ -510,8 +509,7 @@ static void encode_response(char *pkt_buffer, size_t size, int ip_init)
}
}
-int netload(char *buffer, int len, int huge_load, int block_size,
- char *args_fs, int alen)
+int netload(char *buffer, int len, char *args_fs, int alen)
{
int rc;
filename_ip_t fn_ip;
@@ -755,8 +753,7 @@ int netload(char *buffer, int len, int huge_load, int block_size,
/* Do the TFTP load and print error message if necessary */
rc = tftp_load(&fn_ip, (unsigned char *)buffer, len,
- obp_tftp_args.tftp_retries, huge_load,
- block_size, ip_version);
+ obp_tftp_args.tftp_retries, ip_version);
if (obp_tftp_args.ip_init == IP_INIT_DHCP)
dhcp_send_release(fn_ip.fd);
diff --git a/lib/libnet/tftp.c b/lib/libnet/tftp.c
index 1656c27..5e7951f 100644
--- a/lib/libnet/tftp.c
+++ b/lib/libnet/tftp.c
@@ -497,19 +497,15 @@ void handle_tftp_dun(uint8_t err_code)
* @param _len size of destination buffer
* @param _retries max number of retries
* @param _tftp_err contains info about TFTP-errors (e.g. lost packets)
- * @param _mode NON ZERO - multicast, ZERO - unicast
- * @param _blocksize blocksize for DATA-packets
* @return ZERO - error condition occurs
* NON ZERO - size of received file
*/
int tftp(filename_ip_t * _fn_ip, unsigned char *_buffer, int _len,
- unsigned int _retries, tftp_err_t * _tftp_err,
- int32_t _mode, int32_t _blocksize, int _ip_version)
+ unsigned int _retries, tftp_err_t * _tftp_err, int _ip_version)
{
retries = _retries;
fn_ip = _fn_ip;
len = _len;
- huge_load = _mode;
ip_version = _ip_version;
tftp_errno = 0;
tftp_err = _tftp_err;
@@ -523,17 +519,14 @@ int tftp(filename_ip_t * _fn_ip, unsigned char *_buffer, int _len,
port_number = -1;
progress_first = -1;
progress_last_bytes = 0;
+ huge_load = 1;
/* Default blocksize must be 512 for TFTP servers
* which do not support the RRQ blocksize option */
blocksize = 512;
/* Preferred blocksize - used as option for the read request */
- if (_blocksize < 8)
- _blocksize = 8;
- else if (_blocksize > MAX_BLOCKSIZE)
- _blocksize = MAX_BLOCKSIZE;
- sprintf(blocksize_str, "%d", _blocksize);
+ sprintf(blocksize_str, "%d", MAX_BLOCKSIZE);
printf(" Receiving data: ");
print_progress(-1, 0);
diff --git a/lib/libnet/tftp.h b/lib/libnet/tftp.h
index e32e473..a09cf71 100644
--- a/lib/libnet/tftp.h
+++ b/lib/libnet/tftp.h
@@ -41,7 +41,7 @@ typedef struct {
} tftp_err_t;
int tftp(filename_ip_t *, unsigned char *, int, unsigned int,
- tftp_err_t *, int32_t mode, int32_t blocksize, int ip_version);
+ tftp_err_t *, int ip_version);
int32_t handle_tftp(int fd, uint8_t *, int32_t);
void handle_tftp_dun(uint8_t err_code);