aboutsummaryrefslogtreecommitdiff
path: root/networking/udhcp/clientpacket.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-09-26 23:45:20 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-09-26 23:45:20 +0000
commit739e30fbc3363756e574b5761ff63ea97ffd61c1 (patch)
treee2a42d90dcc984d6ad6dc1736d75095991a1ab09 /networking/udhcp/clientpacket.c
parent7d9399e8dcfb9853f435c2936f449377d92f6e47 (diff)
downloadbusybox-w32-739e30fbc3363756e574b5761ff63ea97ffd61c1.tar.gz
busybox-w32-739e30fbc3363756e574b5761ff63ea97ffd61c1.tar.bz2
busybox-w32-739e30fbc3363756e574b5761ff63ea97ffd61c1.zip
udhcp: add inline docs; small code shrink
function old new delta send_packet 103 87 -16 udhcpc_main 2359 2323 -36
Diffstat (limited to 'networking/udhcp/clientpacket.c')
-rw-r--r--networking/udhcp/clientpacket.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/networking/udhcp/clientpacket.c b/networking/udhcp/clientpacket.c
index 1ab17321d..3f9522ff8 100644
--- a/networking/udhcp/clientpacket.c
+++ b/networking/udhcp/clientpacket.c
@@ -78,6 +78,23 @@ static void add_param_req_option(struct dhcpMessage *packet)
78 } 78 }
79} 79}
80 80
81/* RFC 2131
82 * 4.4.4 Use of broadcast and unicast
83 *
84 * The DHCP client broadcasts DHCPDISCOVER, DHCPREQUEST and DHCPINFORM
85 * messages, unless the client knows the address of a DHCP server.
86 * The client unicasts DHCPRELEASE messages to the server. Because
87 * the client is declining the use of the IP address supplied by the server,
88 * the client broadcasts DHCPDECLINE messages.
89 *
90 * When the DHCP client knows the address of a DHCP server, in either
91 * INIT or REBOOTING state, the client may use that address
92 * in the DHCPDISCOVER or DHCPREQUEST rather than the IP broadcast address.
93 * The client may also use unicast to send DHCPINFORM messages
94 * to a known DHCP server. If the client receives no response to DHCP
95 * messages sent to the IP address of a known DHCP server, the DHCP
96 * client reverts to using the IP broadcast address.
97 */
81 98
82static int raw_bcast_from_client_config_ifindex(struct dhcpMessage *packet) 99static int raw_bcast_from_client_config_ifindex(struct dhcpMessage *packet)
83{ 100{
@@ -90,7 +107,6 @@ static int raw_bcast_from_client_config_ifindex(struct dhcpMessage *packet)
90 107
91#if ENABLE_FEATURE_UDHCPC_ARPING 108#if ENABLE_FEATURE_UDHCPC_ARPING
92/* Broadcast a DHCP decline message */ 109/* Broadcast a DHCP decline message */
93//FIXME: maybe it should be unicast?
94int FAST_FUNC send_decline(uint32_t xid, uint32_t server, uint32_t requested) 110int FAST_FUNC send_decline(uint32_t xid, uint32_t server, uint32_t requested)
95{ 111{
96 struct dhcpMessage packet; 112 struct dhcpMessage packet;
@@ -128,7 +144,9 @@ int FAST_FUNC send_discover(uint32_t xid, uint32_t requested)
128 144
129 145
130/* Broadcasts a DHCP request message */ 146/* Broadcasts a DHCP request message */
131//FIXME: maybe it should be unicast? 147/* RFC 2131 3.1 paragraph 3:
148 * "The client _broadcasts_ a DHCPREQUEST message..."
149 */
132int FAST_FUNC send_select(uint32_t xid, uint32_t server, uint32_t requested) 150int FAST_FUNC send_select(uint32_t xid, uint32_t server, uint32_t requested)
133{ 151{
134 struct dhcpMessage packet; 152 struct dhcpMessage packet;