[systemd-devel] [PATCH] sd-dhcp-client: Sets broadcast flag to 1

Camilo Aguilar camilo.aguilar at gmail.com
Wed May 28 11:43:37 PDT 2014


In systems running on hypervisors this flag needs to be set ON, so offers can reach
the virtual machines.

For more information please refer to this thread in CoreOS: https://github.com/coreos/bugs/issues/12

Signed-off-by: Camilo Aguilar <camilo.aguilar at gmail.com>
---
 src/libsystemd-network/sd-dhcp-client.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/libsystemd-network/sd-dhcp-client.c b/src/libsystemd-network/sd-dhcp-client.c
index 0300a6b..8f54906 100644
--- a/src/libsystemd-network/sd-dhcp-client.c
+++ b/src/libsystemd-network/sd-dhcp-client.c
@@ -286,6 +286,15 @@ static int client_message_init(sd_dhcp_client *client, DHCPPacket **ret,
            refuse to issue an DHCP lease if 'secs' is set to zero */
         packet->dhcp.secs = htobe16(client->secs);
 
+        /* RFC2132 section 4.1
+           A client that cannot receive unicast IP datagrams until its protocol
+           software has been configured with an IP address SHOULD set the
+           BROADCAST bit in the 'flags' field to 1 in any DHCPDISCOVER or
+           DHCPREQUEST messages that client sends.  The BROADCAST bit will
+           provide a hint to the DHCP server and BOOTP relay agent to broadcast
+           any messages to the client on the client's subnet. */
+        packet->dhcp.flags = htobe16(0x8000);
+
         /* RFC2132 section 4.1.1:
            The client MUST include its hardware address in the ’chaddr’ field, if
            necessary for delivery of DHCP reply messages.
-- 
1.8.5.2 (Apple Git-48)



More information about the systemd-devel mailing list