diff options
author | Thomas Huth <thuth@redhat.com> | 2018-05-18 17:45:30 +0200 |
---|---|---|
committer | Alexey Kardashevskiy <aik@ozlabs.ru> | 2018-05-25 14:55:50 +1000 |
commit | 4c2af4e48ff4162617cd41d4b2582bcbda670bea (patch) | |
tree | 884bb3f6d2e1324571fd7de40b02ea763c86866b /lib | |
parent | 232eb915d1c08de17c59a05557ea6051275d078b (diff) | |
download | SLOF-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.code | 4 | ||||
-rw-r--r-- | lib/libnet/netapps.h | 3 | ||||
-rw-r--r-- | lib/libnet/netload.c | 11 | ||||
-rw-r--r-- | lib/libnet/tftp.c | 13 | ||||
-rw-r--r-- | lib/libnet/tftp.h | 2 |
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); |