Lines 843-848
void
Link Here
|
843 |
state_bound(void *ipp) |
843 |
state_bound(void *ipp) |
844 |
{ |
844 |
{ |
845 |
struct interface_info *ip = ipp; |
845 |
struct interface_info *ip = ipp; |
|
|
846 |
u_int8_t *dp = NULL; |
847 |
int len; |
846 |
|
848 |
|
847 |
ASSERT_STATE(state, S_BOUND); |
849 |
ASSERT_STATE(state, S_BOUND); |
848 |
|
850 |
|
Lines 850-859
state_bound(void *ipp)
Link Here
|
850 |
make_request(ip, ip->client->active); |
852 |
make_request(ip, ip->client->active); |
851 |
ip->client->xid = ip->client->packet.xid; |
853 |
ip->client->xid = ip->client->packet.xid; |
852 |
|
854 |
|
853 |
if (ip->client->active->options[DHO_DHCP_SERVER_IDENTIFIER].len == 4) { |
855 |
if (ip->client->config->default_actions[DHO_DHCP_SERVER_IDENTIFIER] == |
854 |
memcpy(ip->client->destination.iabuf, ip->client->active-> |
856 |
ACTION_SUPERSEDE) { |
855 |
options[DHO_DHCP_SERVER_IDENTIFIER].data, 4); |
857 |
dp = ip->client->config->defaults[DHO_DHCP_SERVER_IDENTIFIER].data; |
856 |
ip->client->destination.len = 4; |
858 |
len = ip->client->config->defaults[DHO_DHCP_SERVER_IDENTIFIER].len; |
|
|
859 |
} else { |
860 |
dp = ip->client->active->options[DHO_DHCP_SERVER_IDENTIFIER].data; |
861 |
len = ip->client->active->options[DHO_DHCP_SERVER_IDENTIFIER].len; |
862 |
} |
863 |
if (len == 4) { |
864 |
memcpy(ip->client->destination.iabuf, dp, len); |
865 |
ip->client->destination.len = len; |
857 |
} else |
866 |
} else |
858 |
ip->client->destination = iaddr_broadcast; |
867 |
ip->client->destination = iaddr_broadcast; |
859 |
|
868 |
|