|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
From 2fd539ed1c41b7a771a78fb2a7ef8c89b4231b4b Mon Sep 17 00:00:00 2001
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
From: Chad Kimes <chkimes@github.com>
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
Date: Mon, 21 Mar 2022 17:29:15 -0400
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
Subject: [PATCH 333/336] net/net: Add vlan information to net_ls_addr output
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
Example output:
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
grub> net_ls_addr
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
efinet1 00:11:22:33:44:55 192.0.2.100 vlan100
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
Signed-off-by: Chad Kimes <chkimes@github.com>
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
---
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
grub-core/net/net.c | 19 ++++++++++++++++++-
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
include/grub/net.h | 6 ++++++
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
2 files changed, 24 insertions(+), 1 deletion(-)
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
diff --git a/grub-core/net/net.c b/grub-core/net/net.c
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
index 1001c611d..f37f34cb8 100644
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
--- a/grub-core/net/net.c
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+++ b/grub-core/net/net.c
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
@@ -795,6 +795,20 @@ grub_net_hwaddr_to_str (const grub_net_link_level_address_t *addr, char *str)
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
}
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
}
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+void
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+grub_net_vlan_to_str (grub_uint16_t vlantag, char *str)
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+{
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+ str[0] = 0;
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+ /* 12 bits are used to identify the vlan in 802.1Q. */
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+ vlantag = vlantag & 0x0fff;
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+ if (vlantag == 0)
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+ return;
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+ grub_snprintf (str, GRUB_NET_MAX_STR_VLAN_LEN, "vlan%u", vlantag);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+}
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
int
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
grub_net_hwaddr_cmp (const grub_net_link_level_address_t *a,
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
const grub_net_link_level_address_t *b)
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
@@ -1340,9 +1354,12 @@ grub_cmd_listaddrs (struct grub_command *cmd __attribute__ ((unused)),
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
{
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
char bufh[GRUB_NET_MAX_STR_HWADDR_LEN];
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
char bufn[GRUB_NET_MAX_STR_ADDR_LEN];
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+ char bufv[GRUB_NET_MAX_STR_VLAN_LEN];
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
grub_net_hwaddr_to_str (&inf->hwaddress, bufh);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
grub_net_addr_to_str (&inf->address, bufn);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
- grub_printf ("%s %s %s\n", inf->name, bufh, bufn);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+ grub_net_vlan_to_str (inf->vlantag, bufv);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+ grub_printf ("%s %s %s %s\n", inf->name, bufh, bufn, bufv);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
}
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
return GRUB_ERR_NONE;
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
}
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
diff --git a/include/grub/net.h b/include/grub/net.h
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
index 9e4898cc6..d771afa47 100644
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
--- a/include/grub/net.h
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+++ b/include/grub/net.h
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
@@ -599,12 +599,18 @@ grub_net_addr_cmp (const grub_net_network_level_address_t *a,
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
"XX:XX:XX:XX:XX:XX:XX:XX:"\
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
"XX:XX:XX:XX:XX:XX:XX:XX"))
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+/* Max VLAN id = 4094 */
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+#define GRUB_NET_MAX_STR_VLAN_LEN (sizeof ("vlanXXXX"))
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
void
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
grub_net_addr_to_str (const grub_net_network_level_address_t *target,
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
char *buf);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
void
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
grub_net_hwaddr_to_str (const grub_net_link_level_address_t *addr, char *str);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+void
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+grub_net_vlan_to_str (grub_uint16_t vlantag, char *str);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
+
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
grub_err_t
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
grub_env_set_net_property (const char *intername, const char *suffix,
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
const char *value, grub_size_t len);
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
--
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
2.41.0
|
|
![](https://seccdn.libravatar.org/avatar/9ac6c2db195ace31fb85c3726a87f7c4c70db0cf5821e0c8552bb801b2d31b27?s=16&d=retro) |
bb3942d |
|