Lines Matching refs:ack

93 dhcp_bound(dhcp_smach_t *dsmp, PKT_LIST *ack)
101 if (ack != NULL) {
102 /* If ack we're replacing is not the original, then free it */
105 dsmp->dsm_ack = ack;
106 /* Save the first ack as the original */
108 dsmp->dsm_orig_ack = ack;
118 if (ack->opts[CD_DHCP_TYPE] == NULL)
127 (void) memcpy(&new_lease, ack->opts[CD_LEASE_TIME]->value,
132 (void) memcpy(ack->opts[CD_LEASE_TIME]->value, &new_lease,
193 if (ack != NULL &&
195 dsmp->dsm_isv6 && !save_server_id(dsmp, ack)) {
217 /* This is just a duplicate ack; silently ignore it */
252 !save_server_id(dsmp, ack)) {
286 if (dsmp->dsm_isv6 && !save_server_id(dsmp, ack)) {
319 PKT_LIST *ack;
349 ack = dsmp->dsm_ack;
350 router_list = ack->opts[CD_ROUTER];
404 if (ack->opts[CD_DHCP_TYPE] == NULL)
452 get_pkt_times(PKT_LIST *ack, lease_t *lease, lease_t *t1, lease_t *t2)
458 if (ack->opts[CD_DHCP_TYPE] == NULL) {
463 if (ack->opts[CD_LEASE_TIME] == NULL) {
468 if (ack->opts[CD_LEASE_TIME]->len != sizeof (lease_t)) {
472 (void) memcpy(lease, ack->opts[CD_LEASE_TIME]->value, sizeof (lease_t));
480 if (ack->opts[CD_T1_TIME] != NULL &&
481 ack->opts[CD_T1_TIME]->len == sizeof (lease_t)) {
482 (void) memcpy(t1, ack->opts[CD_T1_TIME]->value, sizeof (*t1));
486 if (ack->opts[CD_T2_TIME] != NULL &&
487 ack->opts[CD_T2_TIME]->len == sizeof (lease_t)) {
488 (void) memcpy(t2, ack->opts[CD_T2_TIME]->value, sizeof (*t2));
512 PKT_LIST *ack = dsmp->dsm_ack;
525 if (ack->opts[CD_DHCP_TYPE] != NULL &&
526 (ack->opts[CD_LEASE_TIME] == NULL ||
527 ack->opts[CD_LEASE_TIME]->len != sizeof (lease_t))) {
531 "ACK on %s", ack->opts[CD_LEASE_TIME] == NULL ? "missing" :
549 get_pkt_times(ack, &lease, &t1, &t2);
958 PKT_LIST *ack = dsmp->dsm_ack;
973 if (ack->opts[CD_DHCP_TYPE] != NULL) {
974 (void) memcpy(&inaddr, ack->opts[CD_SERVER_ID]->value,
1001 IN6_INADDR_TO_V4MAPPED(&ack->pkt->yiaddr, &lif->lif_v6addr);
1002 addrhbo = ntohl(ack->pkt->yiaddr.s_addr);
1008 inet_ntoa(ack->pkt->yiaddr), lif->lif_name);
1031 if (ack->opts[CD_SUBNETMASK] != NULL &&
1032 ack->opts[CD_SUBNETMASK]->len == sizeof (inaddr)) {
1034 (void) memcpy(&inaddr, ack->opts[CD_SUBNETMASK]->value,
1039 if (ack->opts[CD_SUBNETMASK] != NULL &&
1040 ack->opts[CD_SUBNETMASK]->len != sizeof (inaddr)) {
1043 ack->opts[CD_SUBNETMASK]->len, sizeof (ipaddr_t));
1100 if (ack->opts[CD_BROADCASTADDR] != NULL &&
1101 ack->opts[CD_BROADCASTADDR]->len == sizeof (inaddr)) {
1103 (void) memcpy(&inaddr, ack->opts[CD_BROADCASTADDR]->value,
1108 if (ack->opts[CD_BROADCASTADDR] != NULL &&
1109 ack->opts[CD_BROADCASTADDR]->len != sizeof (inaddr)) {
1112 "ignoring", ack->opts[CD_BROADCASTADDR]->len,