summaryrefslogtreecommitdiff
path: root/net/nfs.c
Commit message (Collapse)AuthorAgeLines
* Revert "net: nfs: Use the tx buffer to construct rpc msgs"Joe Hershberger2016-09-09-45/+43
| | | | | | | | | This reverts commit 998372b4798fd7ebb666f571950df925b8d80f69. This caused a data abort on some platform. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reported-by: Guillaume GARDET <guillaume.gardet@free.fr>
* net: nfs: Simplify rpc_add_credentials()Joe Hershberger2016-08-22-16/+3
| | | | | | | We use an empty hostname, so remove all the "processing" of the known-to-be-empty hostname and just write 0's where needed. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* net: nfs: Use the tx buffer to construct rpc msgsJoe Hershberger2016-08-22-43/+45
| | | | | | | | | Instead of always allocating a huge temporary buffer on the stack and then memcpy()ing the result into the transmit buffer, simply figure out where in the transmit buffer the bytes will belong and write them there directly as each message is built. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* net: nfs: Move some prints to debug statementsJoe Hershberger2016-08-22-21/+22
| | | | | | | | Much of the information is verbose and derived directly from the environment. Only output in debug mode. This also saves about 300 bytes from the code size. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* net: nfs: Use consistent names for the rpc_pktJoe Hershberger2016-08-22-17/+17
| | | | | | | Use the same name throughout the nfs code and use the same member of the union to avoid casts. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* net: nfs: Correct a commentJoe Hershberger2016-08-22-1/+1
| | | | | | The buffer is of 32-bit elements, not bytes. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* net: nfs: Consolidate handling of NFSv3 attributesJoe Hershberger2016-08-22-92/+59
| | | | | | | Instead of repeating the same large snippet for dealing with attributes it should be shared with a helper function. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* net: nfs: Fix lines that are too longJoe Hershberger2016-08-22-3/+6
| | | | | | Fix complaints from checkpatch.pl. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* net: nfs: Share the file handle buffer for v2 / v3Joe Hershberger2016-08-22-7/+5
| | | | | | | The v3 handles can be larger than v2, but that doesn't mean we need a separate buffer. Reuse the same (larger) buffer for both. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* net: NFS: Add NFSv3 supportGuillaume GARDET2016-08-22-46/+228
| | | | | | | | | | | | | | | | | | This patch enables NFSv3 support. If NFSv2 is available use it as usual. If NFSv2 is not available, but NFSv3 is available, use NFSv3. If NFSv2 and NFSv3 are not available, print an error message since NFSv4 is not supported. Tested on iMX6 sabrelite with 4 Linux NFS servers: * NFSv2 + NFSv3 + NFSv4 server: use NFSv2 protocol * NFSv2 + NFSv3 server: use NFSv2 protocol * NFSv3 + NFSv4 server: use NFSv3 protocol * NFSv3 server: use NFSv3 protocol Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> Cc: Tom Rini <trini@konsulko.com> Cc: joe.hershberger@ni.com Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* net: nfs: Remove separate buffer for default nameJoe Hershberger2016-08-22-3/+1
| | | | | | | | There is no reason to store the default filename in a separate buffer only to immediately copy it to the main name buffer. Just write it there directly and remove the other buffer. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* net: Fix incorrect RPC packets on 64-bit systemsRalf Hubert2016-07-06-6/+6
| | | | | | | | This patch fixes incorrect RPC packet layout caused by 'long' type size difference on 64 and 32-bit architectures. Signed-off-by: Ralf Hubert <r.hubert@technisat.de> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* NFS: Add error message when U-Boot NFS version (V2) is not supported by NFS ↵Guillaume GARDET2016-06-21-1/+16
| | | | | | | | server Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> Cc: joe.hershberger@ni.com Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* net: cosmetic: Fix checkpatch.pl failures in net.cJoe Hershberger2015-04-18-5/+6
| | | | | | | Finish eliminating CamelCase from net.c and other failures Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* net: cosmetic: Clean up NFS variables and functionsJoe Hershberger2015-04-18-97/+76
| | | | | | | | Make a thorough pass through all variables and function names contained within nfs.c and remove CamelCase and improve naming. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* net: cosmetic: Cleanup internal packet buffer namesJoe Hershberger2015-04-18-4/+4
| | | | | | | This patch cleans up the names of internal packet buffer names that are used within the network stack and the functions that use them. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* net: cosmetic: Name ethaddr variables consistentlyJoe Hershberger2015-04-18-2/+2
| | | | | | | | Use "_ethaddr" at the end of variables and drop CamelCase. Make constant values actually 'const'. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* net: cosmetic: Fixup var names related to boot fileJoe Hershberger2015-04-18-9/+10
| | | | | | | | The variables around the bootfile were inconsistent and used CamelCase. Update them to make the code more readable. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* net: cosmetic: Change IPaddr_t to struct in_addrJoe Hershberger2015-04-18-19/+21
| | | | | | | | | This patch is simply clean-up to make the IPv4 type that is used match what Linux uses. It also attempts to move all variables that are IP addresses use good naming instead of CamelCase. No functional change. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* net: Access mapped physmem in net functionsJoe Hershberger2015-04-18-1/+5
| | | | | | | | | | | Previously the net functions would access memory assuming physmem did not need to be mapped. In sandbox, that's not the case. Now we map the physmem specified by the user in loadaddr to the buffer that represents that space. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* net: nfs: add dynamic wait periodMatthias Brugger2013-06-24-21/+53
| | | | | | | | | | | | | | | This patch tackles the time out problem which leads to break the boot process, when loading file over nfs. The patch does two things. First of all, we just ignore messages that arrive with a rpc_id smaller then the client id. We just interpret this messages as answers to formaly timed out messages. Second, when a time out occurs we double the time to wait, so that we do not stress the server resending the last message. Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com> Tested-by: Enric Balletbo i Serra <eballetbo@gmail.com>
* net: nfs: make NFS_TIMEOUT configurableTetsuyuki Kobayashi2012-07-12-1/+5
| | | | | | | NFS_TIMEOUT is constant value defined in net/nfs.c. But sometimes it needs to adjust. This patch enables to override NFS_TIMEOUT by defining CONFIG_NFS_TIMEOUT in a board specific config file. Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
* net: Refactor to separate the UDP handler from the ARP handlerJoe Hershberger2012-05-23-1/+1
| | | | | | | | | | | Call a built-in dummy if none is registered... don't require protocols to register a handler (eliminating dummies) NetConsole now uses the ARP handler when waiting on arp (instead of needing a #define hack in arp.c) Clear handlers at the end of net loop Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* net: Refactor to protect access to the NetState variableJoe Hershberger2012-05-23-6/+6
| | | | | | | Changes to NetState now go through an accessor function called net_set_state() Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* net: cosmetic: Un-typedef IP_tJoe Hershberger2012-05-23-1/+1
| | | | | | | | Rename IP header related things to IP_UDP. The existing definition of IP_t includes UDP header, so name it to accurately describe the structure. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* net: cosmetic: nfs.* checkpatch complianceJoe Hershberger2012-05-15-151/+149
| | | | | Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* net: Make sure IPaddr_t is 32 bits in sizeMatthias Weisser2011-12-06-1/+1
| | | | | | | | | | | When building u-boot as 64 bit application (e.g. sandbox) ulong might be 64 bits in size. This breaks network code as IPaddr_t is 64 bytes in size then and an IPv4 address is 32 bits in size. This patch makes sure that IPaddr_t is always 32 bits in size. Also some warnings introduced by this patch are fixed. Signed-off-by: Matthias Weisser <weisserm@arcor.de> Acked-by: Mike Frysinger <vapier@gentoo.org>
* net: drop !NET_MULTI codeMike Frysinger2011-10-05-2/+0
| | | | | | | | | | | This is long over due. All but two net drivers have been converted, but those have now been dropped. The only thing left to do is actually delete all references to NET_MULTI and code that is compiled when that is not defined. So here we scrub the core code. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* NET: pass source IP address to packet handlersLuca Ceresoli2011-05-12-1/+1
| | | | | | | | | | This is needed for the upcoming TFTP server implementation. This also simplifies PingHandler() and fixes rxhand_f documentation. Signed-off-by: Luca Ceresoli <luca.ceresoli@comelit.it> Cc: Wolfgang Denk <wd@denx.de> Acked-by: Detlev Zundel <dzu@denx.de>
* net: pull CONFIG checks out of source and into makefileMike Frysinger2009-12-13-4/+0
| | | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* nfs: NfsTimeout() updatesEvan Samanas2009-12-07-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - NfsTimeout() does not correctly update the NFS timeout value which results in NfsTimeout() only being called once in certain situations. This can result in the 'nfs' command hanging indefinetly. For example, the command: nfs 192.168.0.1:/home/user/file will not exit until ctrl-c is pressed if 192.168.0.1 does not have an NFS server running. This issue is resolved by reinitializting the NFS timeout value inside NfsTimeout() when a timeout occurs. - Make the 'nfs' command print the 'T' character when a timeout occurs. Previously there was no indication that timeouts were occuring. - Mimic the 'tftpboot' command and when a download fails print "Retry count exceeded; starting again", and restart the download taking the 'netretry' environment variable into account. Signed-off-by: Evan Samanas <esamanas@xes-inc.com> Signed-off-by: Peter Tyser <ptyser@xes-inc.com> Tested on TQM8xxL. Tested by: Wolfgang Denk <wd@denx.de> Tested on MPC8527DS. Tested by: Ed Swarthout <Ed.Swarthout@freescale.com>
* fix nfs symlink name corruptionEd Swarthout2009-12-07-1/+1
| | | | | | | | | An off by one error may cause nfs readlink lookup fail if nfs_path_buff has non-zero data from a previous use. Loading: *** ERROR: File lookup fail Signed-off-by: Ed Swarthout <Ed.Swarthout@freescale.com>
* minor debug cleanups in ./netRobin Getz2009-08-07-32/+10
| | | | | | | | | | | | | | | Minor ./net cleanups - no functional changes - change #ifdef DEBUG printf(); #endif to just debug() - changed __FUNCTION__ to __func__ - got rid of extra whitespace between function and opening brace - removed unnecessary braces on if statements gcc dead code elimination should make this functionally/size equivalent when DEBUG is not defined. (confirmed on Blackfin, with gcc 4.3.3). Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* convert print_IPaddr() to %pI4Mike Frysinger2009-03-20-6/+4
| | | | | | | | | Now that our printf functions support the %pI4 modifier like the kernel, let's drop the inflexible print_IPaddr() function and covert over to the %pI4 modifier. Signed-off-by: Mike Frysinger <vapier@gentoo.org> CC: Ben Warren <biggerbadderben@gmail.com>
* rename CFG_ macros to CONFIG_SYSJean-Christophe PLAGNIOL-VILLARD2008-10-18-3/+3
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* net: express the first argument to NetSetTimeout() in millisecondsBartlomiej Sieka2008-10-18-3/+3
| | | | | | | | | | | | | | | | | | Enforce millisecond semantics of the first argument to NetSetTimeout() -- the change is transparent for well-behaving boards (CFG_HZ == 1000 and get_timer() countiing in milliseconds). Rationale for this patch is to enable millisecond granularity for network-related timeouts, which is needed for the upcoming automatic software update feature. Summary of changes: - do not scale the first argument to NetSetTimeout() by CFG_HZ - change timeout values used in the networking code to milliseconds Signed-off-by: Rafal Czubak <rcz@semihalf.com> Signed-off-by: Bartlomiej Sieka <tur@semihalf.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* NFS Timeout with large files.Hiroshi Ito2008-02-14-1/+6
| | | | | | Retry to send NFS packet before reaching timeout. Signed-off-by: Hiroshi Ito <ito@mlb.co.jp>
* Fix warning differ in signedness in net/net.c and net/nfs.cJean-Christophe PLAGNIOL-VILLARD2007-11-18-1/+1
|
* Fix typo in nfs.cGuennadi Liakhovetski2007-11-03-1/+0
| | | | | | An obvious typo. Originally fixed in linkstation u-boot port. Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
* Fix some compile problems introduced by the latest CFG_CMD_xxx cleanupStefan Roese2007-07-11-2/+1
| | | | Signed-off-by: Stefan Roese <sr@denx.de>
* net/: Remove obsolete references to CONFIG_COMMANDSJon Loeliger2007-07-09-3/+3
| | | | Signed-off-by: Jon Loeliger <jdl@freescale.com>
* net/: Augment CONFIG_COMMANDS tests with defined(CONFIG_CMD_*).Jon Loeliger2007-07-04-1/+2
| | | | | | | | | | | | | | This is a compatibility step that allows both the older form and the new form to co-exist for a while until the older can be removed entirely. All transformations are of the form: Before: #if (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT) After: #if (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT) || defined(CONFIG_CMD_AUTOSCRIPT) Signed-off-by: Jon Loeliger <jdl@freescale.com>
* Fix return code of NFS commandWolfgang Denk2005-08-06-5/+9
| | | | Patch by Hiroshi Ito, 11 Dec 2004
* Fix endianess problem in TFTP / NFS default filenamesWolfgang Denk2005-08-04-6/+4
| | | | Patch by Hiroshi Ito, 06 Dec 2004
* * Patch by Ganapathi C, 04 Aug 2004:wdenk2004-09-28-7/+9
| | | | Fix NFS timeout issue
* * Fix "cls" command when used with splash screenwdenk2004-06-30-1/+1
| | | | | * Increase NFS download timeout (now 1 min - 10 sec is to short for a slow download of a big image)
* Patches by Pantelis Antoniou, 30 Mar 2004:wdenk2004-04-15-1/+1
| | | | add networking support for VLANs (802.1q), and CDP (Cisco Discovery Protocol)
* * Patches by Thomas Viehweger, 16 Mar 2004:wdenk2004-03-23-8/+3
| | | | | | | | | - show PCI clock frequency on MPC8260 systems - add FCC_PSMR_RMII flag for HiP7 processors - in do_jffs2_fsload(), take load address from load_addr if not set explicit, update load_addr otherwise - replaced printf by putc/puts when no formatting is needed (smaller code size, faster execution)
* * Patch by Yuli Barcohen, 4 Mar 2004:wdenk2004-03-14-14/+21
| | | | | | | | | | | | | | | | | Fix problems with GCC 3.3.x which changed handling of global variables explicitly initialized to zero (now in .bss instead of .data as before). * Patch by Leon Kukovec, 02 Mar 2004: add strswab() to fix IDE LBA capacity, firmware and model numbers on little endian machines * Patch by Masami Komiya, 02 Mar 2004: - Remove get_ticks() from NFS code - Add verification of RPC transaction ID * Patch by Pierre Aubert, 02 Mar 2004: cleanup for IDE and USB drivers for MPC5200
* * Patch by Steven Scholz, 25 Feb 2004:wdenk2004-02-27-2/+2
| | | | | | | | | | | - Timeouts in FPGA code should be based on CFG_HZ - Minor cleanup in code for Altera FPGA ACEX1K * Patch by Steven Scholz, 25 Feb 2004: Changed "Directory Hierarchy" section in README * Patch by Masami Komiya, 25 Feb 2004: Reduce copy count in nfs_read_reply() of NFS code