aboutsummaryrefslogtreecommitdiff
path: root/networking/udhcp/dhcpc.c
diff options
context:
space:
mode:
Diffstat (limited to 'networking/udhcp/dhcpc.c')
-rw-r--r--networking/udhcp/dhcpc.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c
index bd9e8fdc2..c2805a009 100644
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -693,16 +693,10 @@ static int raw_bcast_from_client_config_ifindex(struct dhcp_packet *packet, uint
693 693
694static int bcast_or_ucast(struct dhcp_packet *packet, uint32_t ciaddr, uint32_t server) 694static int bcast_or_ucast(struct dhcp_packet *packet, uint32_t ciaddr, uint32_t server)
695{ 695{
696 if (server) { 696 if (server)
697 /* Without MSG_DONTROUTE, the packet was seen routed over
698 * _other interface_ if server ID is bogus (example: 1.1.1.1).
699 */
700 return udhcp_send_kernel_packet(packet, 697 return udhcp_send_kernel_packet(packet,
701 ciaddr, CLIENT_PORT, 698 ciaddr, CLIENT_PORT,
702 server, SERVER_PORT, 699 server, SERVER_PORT);
703 /*send_flags: "to hosts only on directly connected networks" */ MSG_DONTROUTE
704 );
705 }
706 return raw_bcast_from_client_config_ifindex(packet, ciaddr); 700 return raw_bcast_from_client_config_ifindex(packet, ciaddr);
707} 701}
708 702
@@ -1337,7 +1331,10 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
1337 } 1331 }
1338 while (list_x) { 1332 while (list_x) {
1339 char *optstr = xstrdup(llist_pop(&list_x)); 1333 char *optstr = xstrdup(llist_pop(&list_x));
1340 udhcp_str2optset(optstr, &client_config.options, dhcp_optflags, dhcp_option_strings); 1334 udhcp_str2optset(optstr, &client_config.options,
1335 dhcp_optflags, dhcp_option_strings,
1336 /*dhcpv6:*/ 0
1337 );
1341 free(optstr); 1338 free(optstr);
1342 } 1339 }
1343 1340