dhcp.c, netbios.c: Changes if IF_SOF_BROADCAST is enabled.

This commit is contained in:
fbernon 2009-05-04 08:40:44 +00:00
parent 24342eaab0
commit e29f94a980
2 changed files with 10 additions and 1 deletions

View File

@ -33,7 +33,7 @@ HISTORY
2009-04-15 Simon Goldschmidt 2009-04-15 Simon Goldschmidt
* dhcp.c: patch #6763: Global DHCP XID can be redefined to something more unique * dhcp.c: patch #6763: Global DHCP XID can be redefined to something more unique
²
2009-03-31 Kieran Mansley 2009-03-31 Kieran Mansley
* tcp.c, tcp_out.c, tcp_in.c, sys.h, tcp.h, opts.h: add support for * tcp.c, tcp_out.c, tcp_in.c, sys.h, tcp.h, opts.h: add support for
TCP timestamp options, off by default. Rework tcp_enqueue() to TCP timestamp options, off by default. Rework tcp_enqueue() to
@ -95,6 +95,9 @@ HISTORY
++ Bugfixes: ++ Bugfixes:
2009-05-04 Frédéric Bernon
* dhcp.c, netbios.c: Changes if IF_SOF_BROADCAST is enabled.
2009-05-03 Simon Goldschmidt 2009-05-03 Simon Goldschmidt
* tcp.h: bug #26349: Nagle algorithm doesn't send although segment is full * tcp.h: bug #26349: Nagle algorithm doesn't send although segment is full
(and unsent->next == NULL) (and unsent->next == NULL)

View File

@ -619,6 +619,9 @@ dhcp_start(struct netif *netif)
netif->dhcp = dhcp = NULL; netif->dhcp = dhcp = NULL;
return ERR_MEM; return ERR_MEM;
} }
#if IP_SOF_BROADCAST
dhcp->pcb->so_options|=SOF_BROADCAST;
#endif /* IP_SOF_BROADCAST */
/* set up local and remote port for the pcb */ /* set up local and remote port for the pcb */
udp_bind(dhcp->pcb, IP_ADDR_ANY, DHCP_CLIENT_PORT); udp_bind(dhcp->pcb, IP_ADDR_ANY, DHCP_CLIENT_PORT);
udp_connect(dhcp->pcb, IP_ADDR_ANY, DHCP_SERVER_PORT); udp_connect(dhcp->pcb, IP_ADDR_ANY, DHCP_SERVER_PORT);
@ -681,6 +684,9 @@ dhcp_inform(struct netif *netif)
pbuf_realloc(dhcp->p_out, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN + dhcp->options_out_len); pbuf_realloc(dhcp->p_out, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN + dhcp->options_out_len);
#if IP_SOF_BROADCAST
dhcp->pcb->so_options|=SOF_BROADCAST;
#endif /* IP_SOF_BROADCAST */
udp_bind(dhcp->pcb, IP_ADDR_ANY, DHCP_CLIENT_PORT); udp_bind(dhcp->pcb, IP_ADDR_ANY, DHCP_CLIENT_PORT);
udp_connect(dhcp->pcb, IP_ADDR_BROADCAST, DHCP_SERVER_PORT); udp_connect(dhcp->pcb, IP_ADDR_BROADCAST, DHCP_SERVER_PORT);
LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_inform: INFORMING\n")); LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_inform: INFORMING\n"));