Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Aug 2021 12:44:08 GMT
From:      Toomas Soome <tsoome@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 1b1bb6f17880 - main - loader: tftp client should use server address from rootip
Message-ID:  <202108021244.172Ci84b083050@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by tsoome:

URL: https://cgit.FreeBSD.org/src/commit/?id=1b1bb6f178802a4522824e0268634a99cdbda098

commit 1b1bb6f178802a4522824e0268634a99cdbda098
Author:     Toomas Soome <tsoome@FreeBSD.org>
AuthorDate: 2021-08-02 12:27:38 +0000
Commit:     Toomas Soome <tsoome@FreeBSD.org>
CommitDate: 2021-08-02 12:43:54 +0000

    loader: tftp client should use server address from rootip
    
    servip is set from bootp bp_siaddr (if present) and rootip is
    set immediately from servip in tha sane bootp code.
    
    However, the common/dev_net.c does only set rootip (based on
    url processing etc). Therefore, we should also use rootip in tftp
    reader.
    
    Fixes hung tftp based boot when bp_siaddr is not provided.
    
    MFC after: 1 week
---
 stand/libsa/tftp.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/stand/libsa/tftp.c b/stand/libsa/tftp.c
index 3892f2aad86a..22e03ab58da1 100644
--- a/stand/libsa/tftp.c
+++ b/stand/libsa/tftp.c
@@ -38,7 +38,7 @@ __FBSDID("$FreeBSD$");
  * Simple TFTP implementation for libsa.
  * Assumes:
  *  - socket descriptor (int) at open_file->f_devdata
- *  - server host IP in global servip
+ *  - server host IP in global rootip
  * Restrictions:
  *  - read only
  *  - lseek only with SEEK_SET or SEEK_CUR
@@ -83,8 +83,6 @@ struct fs_ops tftp_fsops = {
 	.fo_readdir = null_readdir
 };
 
-extern struct in_addr servip;
-
 static int	tftpport = 2000;
 static int	is_open = 0;
 
@@ -460,7 +458,7 @@ tftp_open(const char *path, struct open_file *f)
 		return (EINVAL);
 	}
 
-	io->destip = servip;
+	io->destip = rootip;
 	tftpfile->off = 0;
 	pathsize = (strlen(rootpath) + 1 + strlen(path) + 1) * sizeof(char);
 	tftpfile->path = malloc(pathsize);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202108021244.172Ci84b083050>