Respect netmask from bootp/dhcp.
* grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask. (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local. * grub-core/net/net.c (grub_net_add_addr): Split creating local route into ... (grub_net_add_ipv4_local): ... this. (grub_cmd_addaddr): Use grub_net_add_ipv4_local. * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value. (grub_net_add_ipv4_local): New proto.
This commit is contained in:
parent
67caf9eb06
commit
d6b7c7c986
4 changed files with 76 additions and 32 deletions
|
@ -409,6 +409,7 @@ struct grub_net_bootp_packet
|
|||
enum
|
||||
{
|
||||
GRUB_NET_BOOTP_PAD = 0x00,
|
||||
GRUB_NET_BOOTP_NETMASK = 0x01,
|
||||
GRUB_NET_BOOTP_ROUTER = 0x03,
|
||||
GRUB_NET_BOOTP_DNS = 0x06,
|
||||
GRUB_NET_BOOTP_HOSTNAME = 0x0c,
|
||||
|
@ -426,6 +427,10 @@ grub_net_configure_by_dhcp_ack (const char *name,
|
|||
grub_size_t size,
|
||||
int is_def, char **device, char **path);
|
||||
|
||||
grub_err_t
|
||||
grub_net_add_ipv4_local (struct grub_net_network_level_interface *inf,
|
||||
int mask);
|
||||
|
||||
void
|
||||
grub_net_process_dhcp (struct grub_net_buff *nb,
|
||||
struct grub_net_card *card);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue