summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJerome Forissier <[email protected]>2024-10-16 12:04:03 +0200
committerTom Rini <[email protected]>2024-10-16 11:11:56 -0600
commit98ad145db61a51308abb9de3212d4e3078d145c0 (patch)
tree6a7cef76b36dca65a3ba6e0daadaa930592b1bf5 /include
parent1c41a7afaa15dded7cc4c42be61fa811e034e97b (diff)
net: lwip: add DHCP support and dhcp commmand
Add what it takes to enable NETDEVICES with NET_LWIP and enable DHCP as well as the dhcp command. CMD_TFTPBOOT is selected by BOOTMETH_EFI due to this code having an implicit dependency on do_tftpb(). Note that PXE is likely non-fonctional with NET_LWIP (or at least not 100% functional) because DHCP option 209 is not supported by the lwIP library. Therefore, BOOTP_PXE_DHCP_OPTION cannot be enabled. Signed-off-by: Jerome Forissier <[email protected]> Tested-by: Ilias Apalodimas <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
Diffstat (limited to 'include')
-rw-r--r--include/net-common.h3
-rw-r--r--include/net-legacy.h3
-rw-r--r--include/net-lwip.h3
3 files changed, 6 insertions, 3 deletions
diff --git a/include/net-common.h b/include/net-common.h
index 6bc76658d9d..cbcac178c82 100644
--- a/include/net-common.h
+++ b/include/net-common.h
@@ -118,6 +118,9 @@ extern int net_restart_wrap; /* Tried all network devices */
extern uchar *net_rx_packets[PKTBUFSRX]; /* Receive packets */
extern const u8 net_bcast_ethaddr[ARP_HLEN]; /* Ethernet broadcast address */
extern char net_boot_file_name[1024];/* Boot File name */
+extern struct in_addr net_ip; /* Our IP addr (0 = unknown) */
+/* Indicates whether the pxe path prefix / config file was specified in dhcp option */
+extern char *pxelinux_configfile;
/**
* compute_ip_checksum() - Compute IP checksum
diff --git a/include/net-legacy.h b/include/net-legacy.h
index ed286e3d326..ca1efd17af7 100644
--- a/include/net-legacy.h
+++ b/include/net-legacy.h
@@ -285,12 +285,9 @@ extern char net_hostname[32]; /* Our hostname */
#ifdef CONFIG_NET
extern char net_root_path[CONFIG_BOOTP_MAX_ROOT_PATH_LEN]; /* Our root path */
#endif
-/* Indicates whether the pxe path prefix / config file was specified in dhcp option */
-extern char *pxelinux_configfile;
/** END OF BOOTP EXTENTIONS **/
extern u8 net_ethaddr[ARP_HLEN]; /* Our ethernet address */
extern u8 net_server_ethaddr[ARP_HLEN]; /* Boot server enet address */
-extern struct in_addr net_ip; /* Our IP addr (0 = unknown) */
extern struct in_addr net_server_ip; /* Server IP addr (0 = unknown) */
extern uchar *net_tx_packet; /* THE transmit packet */
extern uchar *net_rx_packets[PKTBUFSRX]; /* Receive packets */
diff --git a/include/net-lwip.h b/include/net-lwip.h
index 5c3f9e7e86c..cfd06726577 100644
--- a/include/net-lwip.h
+++ b/include/net-lwip.h
@@ -10,5 +10,8 @@ struct netif *net_lwip_new_netif(struct udevice *udev);
struct netif *net_lwip_new_netif_noip(struct udevice *udev);
void net_lwip_remove_netif(struct netif *netif);
struct netif *net_lwip_get_netif(void);
+int net_lwip_rx(struct udevice *udev, struct netif *netif);
+
+int do_dhcp(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]);
#endif /* __NET_LWIP_H__ */