mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-11 07:24:46 +00:00
efi_loader: add IPv4() to device path to text protocol
Implement Ipv4() node support in the device path to text protocol. Signed-off-by: Adriano Cordova <adrianox@gmail.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
parent
f43641decf
commit
aaf63429a1
1 changed files with 23 additions and 0 deletions
|
@ -8,6 +8,7 @@
|
|||
#include <blk.h>
|
||||
#include <efi_loader.h>
|
||||
#include <malloc.h>
|
||||
#include <net.h>
|
||||
|
||||
#define MAC_OUTPUT_LEN 22
|
||||
#define UNKNOWN_OUTPUT_LEN 23
|
||||
|
@ -170,6 +171,28 @@ static char *dp_msging(char *s, struct efi_device_path *dp)
|
|||
|
||||
break;
|
||||
}
|
||||
case DEVICE_PATH_SUB_TYPE_MSG_IPV4: {
|
||||
struct efi_device_path_ipv4 *idp =
|
||||
(struct efi_device_path_ipv4 *)dp;
|
||||
|
||||
s += sprintf(s, "IPv4(%pI4,", &idp->remote_ip_address);
|
||||
switch (idp->protocol) {
|
||||
case IPPROTO_TCP:
|
||||
s += sprintf(s, "TCP,");
|
||||
case IPPROTO_UDP:
|
||||
s += sprintf(s, "UDP,");
|
||||
default:
|
||||
s += sprintf(s, "0x%x,", idp->protocol);
|
||||
}
|
||||
s += sprintf(s, idp->static_ip_address ? "Static" : "DHCP");
|
||||
s += sprintf(s, ",%pI4", &idp->local_ip_address);
|
||||
if (idp->dp.length == sizeof(struct efi_device_path_ipv4))
|
||||
s += sprintf(s, ",%pI4,%pI4", &idp->gateway_ip_address,
|
||||
&idp->subnet_mask);
|
||||
s += sprintf(s, ")");
|
||||
|
||||
break;
|
||||
}
|
||||
case DEVICE_PATH_SUB_TYPE_MSG_USB_CLASS: {
|
||||
struct efi_device_path_usb_class *ucdp =
|
||||
(struct efi_device_path_usb_class *)dp;
|
||||
|
|
Loading…
Add table
Reference in a new issue