X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=net%2Fnet.c;h=a4932f46d905f51d0466983b2032a35b134e4e73;hb=30eef21fa041635fb8327ef9001d78cb187c359f;hp=1e1d23dafa55fc44944212a1da540a05fbdfee20;hpb=dc557e9a1fe00ca9d884bd88feef5bebf23fede4;p=u-boot diff --git a/net/net.c b/net/net.c index 1e1d23dafa..a4932f46d9 100644 --- a/net/net.c +++ b/net/net.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0 /* * Copied from Linux Monitor (LiMon) - Networking. * @@ -6,7 +7,6 @@ * Copyright 2000 Roland Borde * Copyright 2000 Paolo Scaffardi * Copyright 2000-2002 Wolfgang Denk, wd@denx.de - * SPDX-License-Identifier: GPL-2.0 */ /* @@ -87,8 +87,9 @@ #include #include #include +#include #include -#if defined(CONFIG_STATUS_LED) +#if defined(CONFIG_LED_STATUS) #include #include #endif @@ -108,8 +109,6 @@ #include "sntp.h" #endif -DECLARE_GLOBAL_DATA_PTR; - /** BOOTP EXTENTIONS **/ /* Our subnet mask (0=unknown) */ @@ -319,7 +318,7 @@ U_BOOT_ENV_CALLBACK(dnsip, on_dnsip); void net_auto_load(void) { #if defined(CONFIG_CMD_NFS) - const char *s = getenv("autoload"); + const char *s = env_get("autoload"); if (s != NULL && strcmp(s, "NFS") == 0) { /* @@ -329,7 +328,7 @@ void net_auto_load(void) return; } #endif - if (getenv_yesno("autoload") == 0) { + if (env_get_yesno("autoload") == 0) { /* * Just use BOOTP/RARP to configure system; * Do not use TFTP to load the bootfile. @@ -453,6 +452,11 @@ restart: tftp_start_server(); break; #endif +#ifdef CONFIG_UDP_FUNCTION_FASTBOOT + case FASTBOOT: + fastboot_start_server(); + break; +#endif #if defined(CONFIG_CMD_DHCP) case DHCP: bootp_reset(); @@ -489,7 +493,7 @@ restart: cdp_start(); break; #endif -#if defined(CONFIG_NETCONSOLE) && !(CONFIG_SPL_BUILD) +#if defined(CONFIG_NETCONSOLE) && !defined(CONFIG_SPL_BUILD) case NETCONS: nc_start(); break; @@ -518,15 +522,15 @@ restart: #if defined(CONFIG_MII) || defined(CONFIG_CMD_MII) #if defined(CONFIG_SYS_FAULT_ECHO_LINK_DOWN) && \ - defined(CONFIG_STATUS_LED) && \ - defined(STATUS_LED_RED) + defined(CONFIG_LED_STATUS) && \ + defined(CONFIG_LED_STATUS_RED) /* * Echo the inverted link state to the fault LED. */ if (miiphy_link(eth_get_dev()->name, CONFIG_SYS_FAULT_MII_ADDR)) - status_led_set(STATUS_LED_RED, STATUS_LED_OFF); + status_led_set(CONFIG_LED_STATUS_RED, CONFIG_LED_STATUS_OFF); else - status_led_set(STATUS_LED_RED, STATUS_LED_ON); + status_led_set(CONFIG_LED_STATUS_RED, CONFIG_LED_STATUS_ON); #endif /* CONFIG_SYS_FAULT_ECHO_LINK_DOWN, ... */ #endif /* CONFIG_MII, ... */ #ifdef CONFIG_USB_KEYBOARD @@ -583,16 +587,18 @@ restart: #if defined(CONFIG_MII) || defined(CONFIG_CMD_MII) #if defined(CONFIG_SYS_FAULT_ECHO_LINK_DOWN) && \ - defined(CONFIG_STATUS_LED) && \ - defined(STATUS_LED_RED) + defined(CONFIG_LED_STATUS) && \ + defined(CONFIG_LED_STATUS_RED) /* * Echo the inverted link state to the fault LED. */ if (miiphy_link(eth_get_dev()->name, CONFIG_SYS_FAULT_MII_ADDR)) - status_led_set(STATUS_LED_RED, STATUS_LED_OFF); + status_led_set(CONFIG_LED_STATUS_RED, + CONFIG_LED_STATUS_OFF); else - status_led_set(STATUS_LED_RED, STATUS_LED_ON); + status_led_set(CONFIG_LED_STATUS_RED, + CONFIG_LED_STATUS_ON); #endif /* CONFIG_SYS_FAULT_ECHO_LINK_DOWN, ... */ #endif /* CONFIG_MII, ... */ debug_cond(DEBUG_INT_STATE, "--- net_loop timeout\n"); @@ -614,8 +620,8 @@ restart: if (net_boot_file_size > 0) { printf("Bytes transferred = %d (%x hex)\n", net_boot_file_size, net_boot_file_size); - setenv_hex("filesize", net_boot_file_size); - setenv_hex("fileaddr", load_addr); + env_set_hex("filesize", net_boot_file_size); + env_set_hex("fileaddr", load_addr); } if (protocol != NETCONS) eth_halt(); @@ -666,7 +672,7 @@ int net_start_again(void) unsigned long retrycnt = 0; int ret; - nretry = getenv("netretry"); + nretry = env_get("netretry"); if (nretry) { if (!strcmp(nretry, "yes")) retry_forever = 1; @@ -681,7 +687,7 @@ int net_start_again(void) retry_forever = 0; } - if ((!retry_forever) && (net_try_count >= retrycnt)) { + if ((!retry_forever) && (net_try_count > retrycnt)) { eth_halt(); net_set_state(NETLOOP_FAIL); /* @@ -834,15 +840,7 @@ int net_send_udp_packet(uchar *ether, struct in_addr dest, int dport, int sport, #ifndef CONFIG_NET_MAXDEFRAG #define CONFIG_NET_MAXDEFRAG 16384 #endif -/* - * MAXDEFRAG, above, is chosen in the config file and is real data - * so we need to add the NFS overhead, which is more than TFTP. - * To use sizeof in the internal unnamed structures, we need a real - * instance (can't do "sizeof(struct rpc_t.u.reply))", unfortunately). - * The compiler doesn't complain nor allocates the actual structure - */ -static struct rpc_t rpc_specimen; -#define IP_PKTSIZE (CONFIG_NET_MAXDEFRAG + sizeof(rpc_specimen.u.reply)) +#define IP_PKTSIZE (CONFIG_NET_MAXDEFRAG) #define IP_MAXUDP (IP_PKTSIZE - IP_HDR_SIZE) @@ -1264,7 +1262,7 @@ void net_process_received_packet(uchar *in_packet, int len) } #endif -#if defined(CONFIG_NETCONSOLE) && !(CONFIG_SPL_BUILD) +#if defined(CONFIG_NETCONSOLE) && !defined(CONFIG_SPL_BUILD) nc_input_packet((uchar *)ip + IP_UDP_HDR_SIZE, src_ip, ntohs(ip->udp_dst), @@ -1330,6 +1328,7 @@ common: /* Fall through */ case NETCONS: + case FASTBOOT: case TFTPSRV: if (net_ip.s_addr == 0) { puts("*** ERROR: `ipaddr' not set\n"); @@ -1542,7 +1541,7 @@ ushort string_to_vlan(const char *s) return htons(id); } -ushort getenv_vlan(char *var) +ushort env_get_vlan(char *var) { - return string_to_vlan(getenv(var)); + return string_to_vlan(env_get(var)); }