mirror of
https://github.com/sheumann/hush.git
synced 2024-12-23 20:29:42 +00:00
udhcpd: reduce stack usage by ~700 bytes. +28 bytes code size
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
This commit is contained in:
parent
08187356d7
commit
0bb35e19a7
@ -432,6 +432,7 @@ static int raw_bcast_from_client_config_ifindex(struct dhcp_packet *packet)
|
||||
}
|
||||
|
||||
/* Broadcast a DHCP discover packet to the network, with an optionally requested IP */
|
||||
/* NOINLINE: limit stack usage in caller */
|
||||
static NOINLINE int send_discover(uint32_t xid, uint32_t requested)
|
||||
{
|
||||
struct dhcp_packet packet;
|
||||
@ -460,6 +461,7 @@ static NOINLINE int send_discover(uint32_t xid, uint32_t requested)
|
||||
/* RFC 2131 3.1 paragraph 3:
|
||||
* "The client _broadcasts_ a DHCPREQUEST message..."
|
||||
*/
|
||||
/* NOINLINE: limit stack usage in caller */
|
||||
static NOINLINE int send_select(uint32_t xid, uint32_t server, uint32_t requested)
|
||||
{
|
||||
struct dhcp_packet packet;
|
||||
@ -500,7 +502,8 @@ static NOINLINE int send_select(uint32_t xid, uint32_t server, uint32_t requeste
|
||||
}
|
||||
|
||||
/* Unicast or broadcast a DHCP renew message */
|
||||
static int send_renew(uint32_t xid, uint32_t server, uint32_t ciaddr)
|
||||
/* NOINLINE: limit stack usage in caller */
|
||||
static NOINLINE int send_renew(uint32_t xid, uint32_t server, uint32_t ciaddr)
|
||||
{
|
||||
struct dhcp_packet packet;
|
||||
|
||||
@ -543,6 +546,7 @@ static int send_renew(uint32_t xid, uint32_t server, uint32_t ciaddr)
|
||||
|
||||
#if ENABLE_FEATURE_UDHCPC_ARPING
|
||||
/* Broadcast a DHCP decline message */
|
||||
/* NOINLINE: limit stack usage in caller */
|
||||
static NOINLINE int send_decline(uint32_t xid, uint32_t server, uint32_t requested)
|
||||
{
|
||||
struct dhcp_packet packet;
|
||||
@ -588,6 +592,7 @@ static int send_release(uint32_t server, uint32_t ciaddr)
|
||||
}
|
||||
|
||||
/* Returns -1 on errors that are fatal for the socket, -2 for those that aren't */
|
||||
/* NOINLINE: limit stack usage in caller */
|
||||
static NOINLINE int udhcp_recv_raw_packet(struct dhcp_packet *dhcp_pkt, int fd)
|
||||
{
|
||||
int bytes;
|
||||
|
@ -132,7 +132,8 @@ static uint32_t select_lease_time(struct dhcp_packet *packet)
|
||||
}
|
||||
|
||||
/* We got a DHCP DISCOVER. Send an OFFER. */
|
||||
static void send_offer(struct dhcp_packet *oldpacket, uint32_t static_lease_nip, struct dyn_lease *lease)
|
||||
/* NOINLINE: limit stack usage in caller */
|
||||
static NOINLINE void send_offer(struct dhcp_packet *oldpacket, uint32_t static_lease_nip, struct dyn_lease *lease)
|
||||
{
|
||||
struct dhcp_packet packet;
|
||||
uint32_t lease_time_sec;
|
||||
@ -202,7 +203,8 @@ static void send_offer(struct dhcp_packet *oldpacket, uint32_t static_lease_nip,
|
||||
send_packet(&packet, /*force_bcast:*/ 0);
|
||||
}
|
||||
|
||||
static void send_NAK(struct dhcp_packet *oldpacket)
|
||||
/* NOINLINE: limit stack usage in caller */
|
||||
static NOINLINE void send_NAK(struct dhcp_packet *oldpacket)
|
||||
{
|
||||
struct dhcp_packet packet;
|
||||
|
||||
@ -212,7 +214,8 @@ static void send_NAK(struct dhcp_packet *oldpacket)
|
||||
send_packet(&packet, /*force_bcast:*/ 1);
|
||||
}
|
||||
|
||||
static void send_ACK(struct dhcp_packet *oldpacket, uint32_t yiaddr)
|
||||
/* NOINLINE: limit stack usage in caller */
|
||||
static NOINLINE void send_ACK(struct dhcp_packet *oldpacket, uint32_t yiaddr)
|
||||
{
|
||||
struct dhcp_packet packet;
|
||||
uint32_t lease_time_sec;
|
||||
@ -243,7 +246,8 @@ static void send_ACK(struct dhcp_packet *oldpacket, uint32_t yiaddr)
|
||||
}
|
||||
}
|
||||
|
||||
static void send_inform(struct dhcp_packet *oldpacket)
|
||||
/* NOINLINE: limit stack usage in caller */
|
||||
static NOINLINE void send_inform(struct dhcp_packet *oldpacket)
|
||||
{
|
||||
struct dhcp_packet packet;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user