net/net: Add vlan information to net_ls_addr output
Example output: grub> net_ls_addr efinet1 00:11:22:33:44:55 192.0.2.100 vlan100 Signed-off-by: Chad Kimes <chkimes@github.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
parent
37ddd9457f
commit
98c299e540
@ -782,6 +782,20 @@ grub_net_hwaddr_to_str (const grub_net_link_level_address_t *addr, char *str)
|
|||||||
grub_printf (_("Unsupported hw address type %d\n"), addr->type);
|
grub_printf (_("Unsupported hw address type %d\n"), addr->type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
grub_net_vlan_to_str (grub_uint16_t vlantag, char *str)
|
||||||
|
{
|
||||||
|
str[0] = 0;
|
||||||
|
|
||||||
|
/* 12 bits are used to identify the vlan in 802.1Q. */
|
||||||
|
vlantag = vlantag & 0x0fff;
|
||||||
|
|
||||||
|
if (vlantag == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
grub_snprintf (str, GRUB_NET_MAX_STR_VLAN_LEN, "vlan%u", vlantag);
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
grub_net_hwaddr_cmp (const grub_net_link_level_address_t *a,
|
grub_net_hwaddr_cmp (const grub_net_link_level_address_t *a,
|
||||||
const grub_net_link_level_address_t *b)
|
const grub_net_link_level_address_t *b)
|
||||||
@ -1251,9 +1265,12 @@ grub_cmd_listaddrs (struct grub_command *cmd __attribute__ ((unused)),
|
|||||||
{
|
{
|
||||||
char bufh[GRUB_NET_MAX_STR_HWADDR_LEN];
|
char bufh[GRUB_NET_MAX_STR_HWADDR_LEN];
|
||||||
char bufn[GRUB_NET_MAX_STR_ADDR_LEN];
|
char bufn[GRUB_NET_MAX_STR_ADDR_LEN];
|
||||||
|
char bufv[GRUB_NET_MAX_STR_VLAN_LEN];
|
||||||
|
|
||||||
grub_net_hwaddr_to_str (&inf->hwaddress, bufh);
|
grub_net_hwaddr_to_str (&inf->hwaddress, bufh);
|
||||||
grub_net_addr_to_str (&inf->address, bufn);
|
grub_net_addr_to_str (&inf->address, bufn);
|
||||||
grub_printf ("%s %s %s\n", inf->name, bufh, bufn);
|
grub_net_vlan_to_str (inf->vlantag, bufv);
|
||||||
|
grub_printf ("%s %s %s %s\n", inf->name, bufh, bufn, bufv);
|
||||||
}
|
}
|
||||||
return GRUB_ERR_NONE;
|
return GRUB_ERR_NONE;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -512,12 +512,18 @@ grub_net_addr_cmp (const grub_net_network_level_address_t *a,
|
|||||||
|
|
||||||
#define GRUB_NET_MAX_STR_HWADDR_LEN (sizeof ("XX:XX:XX:XX:XX:XX"))
|
#define GRUB_NET_MAX_STR_HWADDR_LEN (sizeof ("XX:XX:XX:XX:XX:XX"))
|
||||||
|
|
||||||
|
/* Max VLAN id = 4094 */
|
||||||
|
#define GRUB_NET_MAX_STR_VLAN_LEN (sizeof ("vlanXXXX"))
|
||||||
|
|
||||||
void
|
void
|
||||||
grub_net_addr_to_str (const grub_net_network_level_address_t *target,
|
grub_net_addr_to_str (const grub_net_network_level_address_t *target,
|
||||||
char *buf);
|
char *buf);
|
||||||
void
|
void
|
||||||
grub_net_hwaddr_to_str (const grub_net_link_level_address_t *addr, char *str);
|
grub_net_hwaddr_to_str (const grub_net_link_level_address_t *addr, char *str);
|
||||||
|
|
||||||
|
void
|
||||||
|
grub_net_vlan_to_str (grub_uint16_t vlantag, char *str);
|
||||||
|
|
||||||
grub_err_t
|
grub_err_t
|
||||||
grub_env_set_net_property (const char *intername, const char *suffix,
|
grub_env_set_net_property (const char *intername, const char *suffix,
|
||||||
const char *value, grub_size_t len);
|
const char *value, grub_size_t len);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user