summaryrefslogtreecommitdiff
path: root/net
AgeCommit message (Collapse)Author
2023-11-18cmd: efidebug: add uri device pathMasahisa Kojima
This adds the URI device path option for 'boot add' subcommand. User can add the URI load option for downloading ISO image file or EFI application through network. Currently HTTP is only supported. Signed-off-by: Masahisa Kojima <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2023-11-18net: wget: add wget with dns utility functionMasahisa Kojima
Current wget takes the target uri in this format: "<http server ip>:<file path>" e.g.) 192.168.1.1:/bar The http server ip address must be resolved before calling wget. This commit adds the utility function runs wget with dhs. User can call wget with the uri like "http://foo/bar". Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2023-11-18net: wget: prevent overwriting reserved memoryMasahisa Kojima
This introduces the valid range check to store the received blocks using lmb. The same logic is implemented in tftp. Signed-off-by: Masahisa Kojima <[email protected]> Acked-by: Ilias Apalodimas <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2023-11-05net: eth-uclass: Improve error message when MAC is not foundFabio Estevam
While bringinp up a new board without the MAC fuses programmed, the following error message was observed: Error: ethernet@30bf0000 address not set. Improve the error message to make it clearer the reason of the failure. Signed-off-by: Fabio Estevam <[email protected]>
2023-11-05net: Add option for tracing packetsSean Anderson
Add an option to trace all packets send/received. This can be helpful when debugging protocol issues, as the packets can then be imported into wireshark [1] and analyzed further. [1] https://www.wireshark.org/docs/wsug_html_chunked/ChIOImportSection.html Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-11-05net: eth-uclass: Setup ROM source only when ROM reading passesMichal Simek
There is no reason to setup ROM source if read_rom_hwaddr hook doesn't exist or reading mac address fails. It is ending up with confusion about mac address source. It is nicely visible if you put mac address to DT as local-mac-address = [ff ff ff ff ff ff]; but also save ethaddr to variables setenv -f ethaddr 02:18:31:7e:3e:01 Before this patch U-Boot prints that source is ROM Address in ROM is ff:ff:ff:ff:ff:ff Address in environment is 02:18:31:7e:3e:01 After that source is DT: Address in DT is ff:ff:ff:ff:ff:ff Address in environment is 02:18:31:7e:3e:01 Signed-off-by: Michal Simek <[email protected]>
2023-11-05net: Get pxe config file from dhcp option 209Sean Edmond
Allow dhcp server pass pxe config file full path by using option 209 Signed-off-by: Sean Edmond <[email protected]>
2023-11-05net: dhcp6: Fix OPT_BOOTFILE_PARAM parsingSean Edmond
RFC 5970 states that OPT_BOOTFILE_PARAM (option 60) can be multiple parameters that start with a 16-bit length field followed by the parameter. For example: [ param-len 1 (16-bits) ] [ parameter 1 (variable length) ] This fix ensure we're considering "param-len 1" in the parsing. Signed-off-by: Sean Edmond <[email protected]>
2023-10-17net: bootp: Fall back to BOOTP from DHCP when unit testingSean Anderson
If we sent a DHCP packet and get a BOOTP response from the server, we shouldn't try to send a DHCPREQUEST packet, since it won't be DHCPACKed. Transition straight to BIND. This is only enabled for UNIT_TEST to avoid bloat, since I suspect the number of BOOTP servers in the wild is vanishingly small. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-10-17net: bootp: Move port numbers to headerSean Anderson
These defines are useful when testing bootp. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-10-17net: Fix compiling SPL when fastboot is enabledSean Anderson
When fastboot is enabled in U-Boot proper and SPL_NET is enabled, we will try to (unsuccessfully) reference it in SPL. Fix these linker errors by conditioning on SPL_UDP/TCP_FUNCTION_FASTBOOT. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-10-02Merge branch 'next'Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2023-09-24common: Drop linux/printk.h from common headerSimon Glass
This old patch was marked as deferred. Bring it back to life, to continue towards the removal of common.h Move this out of the common header and include it only where needed. Signed-off-by: Simon Glass <[email protected]>
2023-09-22net: wget: Avoid packet queue overflowRichard Weinberger
Make sure to stay within bounds, as a misbehaving HTTP server can trigger a buffer overflow if not properly handled. Cc: Joe Hershberger <[email protected]> Cc: Ramon Fried <[email protected]> Signed-off-by: Richard Weinberger <[email protected]>
2023-09-14net: phy: Remove unused NEEDS_MANUAL_RELOC code bitsMarek Vasut
The last user of the NEEDS_MANUAL_RELOC has been removed in commit 26af162ac8f8 ("arch: m68k: Implement relocation") Remove now unused NEEDS_MANUAL_RELOC code. Signed-off-by: Marek Vasut <[email protected]>
2023-09-14net: eth: Remove unused NEEDS_MANUAL_RELOC code bitsMarek Vasut
The last user of the NEEDS_MANUAL_RELOC has been removed in commit 26af162ac8f8 ("arch: m68k: Implement relocation") Remove now unused NEEDS_MANUAL_RELOC code. Signed-off-by: Marek Vasut <[email protected]>
2023-08-22net: Fix the displayed value of bytes transferredSiddharth Vadapalli
In the case of NETLOOP_SUCCESS, the decimal value of the u32 variable "net_boot_file_size" is printed using "%d", resulting in negative values being reported for large file sizes. Fix this by using "%u" to print the decimal value corresponding to the bytes transferred. Fixes: 1411157d8578 ("net: cosmetic: Fixup var names related to boot file") Signed-off-by: Siddharth Vadapalli <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-07-27net: ipv6: router advertisement message length should be within limitsEhsan Mohandesi
The argument len passed to function process_ra is the length of the IPv6 router advertisement message and needs to be between 0 and MTU because it is assigned to remaining_option_len and used as a loop variable. Addresses-Coverity-ID: 450971 ("TAINTED_SCALAR") Signed-off-by: Ehsan Mohandesi <[email protected]> Reviewed-by: Viacheslav Mitrofanov <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-07-16bootstd: Use bootdev instead of bootdeviceSimon Glass
It seems better to call this a 'bootdev' since this is name used in the documentation. The older 'Bootdevice' name is no-longer used and may cause confusion with the 'bootdevice' environment variable. Update throughout to use bootdev. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2023-07-05Merge tag 'v2023.07-rc6' into nextTom Rini
Prepare v2023.07-rc6
2023-06-14net: dhcp6: Fix VCI stringSean Edmond
Change VCI string from "U-boot" to "U-Boot". Signed-off-by: Sean Edmond <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-14net: ipv6: Fix CID 453851 and CID 436278Sean Edmond
CID 453851 : sprintf() shouldn't copy from/to tmp CID 436278 : DHCP6 option_len should be checked before use Signed-off-by: Sean Edmond <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-14net: dsa: Fix OF fallback lookup for portsMarcus Comstedt
The variable 'node' was already invalid, so using it for further lookup will not work. Signed-off-by: Marcus Comstedt <[email protected]> Reviewed-by: Claudiu Manoil <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2023-05-13bootstd: Rename distro and syslinux to extlinuxSimon Glass
We use the terms 'distro' to mean extlinux but they are not really the same. 'Distro' could refer to any method of booting a distribution, whereas extlinux is a particular method. Also we sometimes use syslinux, but it is better to use the same term in all cases. Rename distro to syslinux and also update bootstd uses of syslinux to use extlinux instead. Signed-off-by: Simon Glass <[email protected]>
2023-05-05net: ipv6: Add support for default gateway discovery.Ehsan Mohandesi
In IPv6, the default gateway and prefix length are determined by receiving a router advertisement as defined in - https://www.rfc-editor.org/rfc/rfc4861. Add support for sending router solicitation (RS) and processing router advertisements (RA). If the RA has prefix info option and following conditions are met, then gatewayip6 and net_prefix_length of ip6addr env variables are initialized. These are later consumed by IPv6 code for non-local destination IP. - "Router Lifetime" != 0 - Prefix is NOT link-local prefix (0xfe80::/10) - L flag is 1 - "Valid Lifetime" != 0 Timing Parameters: - MAX_RTR_SOLICITATION_DELAY (0-1s) - RTR_SOLICITATION_INTERVAL (4s) (min retransmit delay) - MAX_RTR_SOLICITATIONS (3 RS transmissions) The functionality is enabled by CONFIG_IPV6_ROUTER_DISCOVERY and invoked automatically from net_init_loop(). Signed-off-by: Ehsan Mohandesi <[email protected]> Tested-by: Viacheslav Mitrofanov <[email protected]>Reviewed-by: Tested-by: Viacheslav Mitrofanov <[email protected]> Reviewed-by: Viacheslav Mitrofanov <[email protected]> Tested-by: Sergei Antonov <[email protected]> Reviewed-by: Sergei Antonov <[email protected]>
2023-05-05net: share fastboot boot handle logic between transportsDmitrii Merkurev
Introduce reboot, boot and continue commands support to TCP fastboot by moving existing UDP logic into the common module. Signed-off-by: Dmitrii Merkurev <[email protected]> Cc: Ying-Chun Liu (PaulLiu) <[email protected]> Cc: Simon Glass <[email protected]> Сс: Joe Hershberger <[email protected]> Сс: Ramon Fried <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-05-05net: add fastboot TCP supportDmitrii Merkurev
Known limitations are 1. fastboot reboot doesn't work (answering OK but not rebooting) 2. flashing isn't supported (TCP transport only limitation) The command syntax is fastboot tcp Signed-off-by: Dmitrii Merkurev <[email protected]> Cc: Ying-Chun Liu (PaulLiu) <[email protected]> Cc: Simon Glass <[email protected]> Сс: Joe Hershberger <[email protected]> Сс: Ramon Fried <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-05-05net: support being a TCP server to unblock TCP fastbootDmitrii Merkurev
Make following changes to unblock TCP fastboot support: 1. Implement being a TCP server support 2. Introduce dedicated TCP traffic handler (get rid of UDP signature) 3. Ensure seq_num and ack_num are respected in net_send_tcp_packet function (make sure existing wget_cmd code is reflected with the fix) Signed-off-by: Dmitrii Merkurev <[email protected]> Cc: Ying-Chun Liu (PaulLiu) <[email protected]> Cc: Simon Glass <[email protected]> Сс: Joe Hershberger <[email protected]> Сс: Ramon Fried <[email protected]> Reviewed-by: Ying-Chun Liu (PaulLiu) <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-05-05net: dhcp6: Add DHCPv6 (DHCP for IPv6)Sean Edmond
Adds DHCPv6 protocol to u-boot. Allows for address assignement with DHCPv6 4-message exchange (SOLICIT->ADVERTISE->REQUEST->REPLY). Includes DHCPv6 options required by RFC 8415. Also adds DHCPv6 options required for PXE boot. Possible enhancements: - Duplicate address detection on DHCPv6 assigned address - IPv6 address assignement through SLAAC - Sending/parsing other DHCPv6 options (NTP, DNS, etc...) Signed-off-by: Sean Edmond <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-05-05net: add NFSv1 supportThomas RIENOESSL
NFSv1 support added by Christian Gmeiner, Thomas Rienoessl, September 27, 2018. As of now, NFSv3 is the default choice. if the server does not support NFSv3, we fall back to versions 2 or 1. Signed-off-by: Thomas RIENOESSL <[email protected]>
2023-05-05nfs: handle rpc errors for mount callsThomas RIENOESSL
Signed-off-by: Thomas RIENOESSL <[email protected]>
2023-05-05nfs: factor out generic reply error handlingThomas RIENOESSL
Signed-off-by: Thomas RIENOESSL <[email protected]>
2023-05-05nfs: convert supported_nfs_versions bitfield to an enumThomas RIENOESSL
Prep. work to support nfs v1. Signed-off-by: Thomas RIENOESSL <[email protected]>
2023-04-07net: phy: Only call phy_init() on systems needing manual relocationMarek Vasut
The phy_init() is now used only to perform manual relocation of PHY driver callbacks. Wrap it in ifdeffery and only call it on systems which still require manual relocation, i.e. m68k . Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-03-30net: Pull board_interface_eth_init() into common codeMarek Vasut
Move the board_interface_eth_init() into common ethernet uclass code, since this function could be shared by multiple drivers. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2023-03-02Correct SPL uses of PHY_FIXEDSimon Glass
This converts 3 usages of this option to the non-SPL form, since there is no SPL_PHY_FIXED defined in Kconfig Signed-off-by: Simon Glass <[email protected]>
2023-02-10Correct SPL use of NETDEVICESSimon Glass
This converts 1 usage of this option to the non-SPL form, since there is no SPL_NETDEVICES defined in Kconfig Signed-off-by: Simon Glass <[email protected]>
2023-02-09Correct SPL uses of FASTBOOT_FLASHSimon Glass
This converts 3 usages of this option to the non-SPL form, since there is no SPL_FASTBOOT_FLASH defined in Kconfig Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]>
2023-02-02net: ipv6: Fixed IPv6 string to address conversion off-by-one errorEhsan Mohandesi
One extra character was being checked in the IPv6 string which caused the last character of the address to be neither '\0' nor ':'. This raises an error condition and causes the function to always return an error. This issue was resolved by this fix. Signed-off-by: Ehsan Mohandesi <[email protected]> Reviewed-by: Viacheslav Mitrofanov <[email protected]>
2023-02-02net: ipv6: Fix IPv6 netmask parsingSean Edmond
It should be possible to specify a netmask when setting a static IPv6 address. For example: setenv ip6addr 2001:cafe:cafe:cafe::100/64 The net_prefix_length and net_ip6 should be updated properly. Signed-off-by: Sean Edmond <[email protected]> Reviewed-by: Viacheslav Mitrofanov <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-02-02net: tftp: Fix for DATA ACK for block count out of orderSean Edmond
In rfc7440, if an ACK is not received by the server or if the last data block in a window is dropped, the server will timeout and retransmit the window. In this case, the block count received will be less than the internal block count. In this case, the client should not ACK. ACK should only be sent if the received block count is greater than the expected block count. Signed-off-by: Sean Edmond <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-02-02net: dsa: allow rcv() and xmit() to be optionalTim Harvey
Allow rcv() and xmit() dsa driver ops to be optional in case a driver does not care to mangle a packet as in U-Boot only one network port is enabled at a time and thus no packet mangling is necessary. Suggested-by: Vladimir Oltean <[email protected]> Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Signed-off-by: Tim Harvey <[email protected]>
2023-02-02net: dsa: ensure dsa driver has proper opsTim Harvey
Add a function to sanity check a dsa driver having proper ops. Suggested-by: Vladimir Oltean <[email protected]> Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-02-02net: dsa: move cpu port probe to dsa_post_probeTim Harvey
In order to ensure that a DSA driver probe gets called before dsa_ops->port_probe move the port_probe of the cpu_port to a post-probe function. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-02-02net: mdio-uclass: scan for dm mdio children on post-bindTim Harvey
If a DM_MDIO driver is used we need to scan the subnodes as well. Signed-off-by: Tim Harvey <[email protected]> Signed-off-by: Vladimir Oltean <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-01-23bootstd: Add a new pre-scan priority for bootdevsSimon Glass
We need extensions to be set up before we start trying to boot any of the bootdevs. Add a new priority before all the others for tht sort of thing. Also add a 'none' option, so that the first one is not 0. While we are here, comment enum bootdev_prio_t fully and expand the test for the 'bootdev hunt' command. Signed-off-by: Simon Glass <[email protected]>
2023-01-23bootstd: Rename bootdev checkersSimon Glass
These functions return 0 if the check passes, so the names are somewhat confusing. Rename them. Signed-off-by: Simon Glass <[email protected]>
2023-01-23bootstd: Add a hunter for ethernetSimon Glass
Sometimes ethernet devices are attached to PCI. Since it is quick to scan, add this into the ethernet hunter. Run dhcp to establish the network connection. Drop this from the bootdev since that is not needed now. Update a log message for clarity. Signed-off-by: Simon Glass <[email protected]>
2023-01-23sandbox: Allow ethernet bootdevs to be disabled for testsSimon Glass
Most tests don't want these and can create a lot of noise. Add a way to disable them. Use that in tests, with a flag provided to enable them for tests that need this feature. Signed-off-by: Simon Glass <[email protected]>
2023-01-23sandbox: Allow ethernet to be disabled at runtimeSimon Glass
For bootstd tests it is seldom useful to have ethernet enabled. Add a way to disable it, so that ethernet operations like tftpboot do nothing. Signed-off-by: Simon Glass <[email protected]>