Lines Matching defs:dsmp

83 	dhcp_smach_t *dsmp = dlp->dl_smach;
87 dsmp->dsm_name);
91 if (dsmp->dsm_state == RENEWING || dsmp->dsm_state == REBINDING) {
102 t2 = dsmp->dsm_curstart_monosec + dlp->dl_t2.dt_start;
105 monosec() > t2 ? "" : "almost ", dsmp->dsm_name);
115 if (!async_cancel(dsmp) || !async_start(dsmp, DHCP_EXTEND, B_FALSE) ||
116 !dhcp_extending(dsmp)) {
123 (void) set_smach_state(dsmp, BOUND);
129 dsmp->dsm_name);
133 "wait for rebind", dsmp->dsm_name);
156 dhcp_smach_t *dsmp = dlp->dl_smach;
164 dsmp->dsm_name);
168 if ((oldstate = dsmp->dsm_state) == REBINDING) {
187 expire = dsmp->dsm_curstart_monosec + lif->lif_expire.dt_start;
195 dsmp->dsm_name);
205 if (dsmp->dsm_isv6) {
206 dsmp->dsm_server = ipv6_all_dhcp_relay_and_servers;
209 &dsmp->dsm_server);
213 (void) set_smach_state(dsmp, REBINDING);
220 if (!async_cancel(dsmp) || !async_start(dsmp, DHCP_EXTEND, B_FALSE) ||
221 !dhcp_extending(dsmp)) {
228 (void) set_smach_state(dsmp, oldstate);
233 "%s; lease may expire", dsmp->dsm_name);
237 "will expire", dsmp->dsm_name);
255 dhcp_finish_expire(dhcp_smach_t *dsmp, void *arg)
269 if (dsmp->dsm_leases != NULL) {
272 dsmp->dsm_name);
276 (void) remove_hostconf(dsmp->dsm_name, dsmp->dsm_isv6);
279 dsmp->dsm_name);
287 if (dsmp->dsm_state == BOUND) {
288 dsmp->dsm_bad_offers = 0;
289 dsmp->dsm_sent = 0;
290 dsmp->dsm_received = 0;
293 deprecate_leases(dsmp);
296 dhcp_selecting(dsmp);
334 dhcp_smach_t *dsmp;
348 dsmp = lif->lif_lease->dl_smach;
350 if (!async_cancel(dsmp)) {
354 "on %s", dsmp->dsm_name);
369 if (!async_start(dsmp, DHCP_START, B_FALSE))
371 "transaction on %s, continuing...", dsmp->dsm_name);
379 if (expired_lif_state(dsmp) == DHCP_EXP_SOMEEXP)
381 else if (dsmp->dsm_isv6)
392 (void) script_start(dsmp, event, dhcp_finish_expire, lif, NULL);
404 dhcp_extending(dhcp_smach_t *dsmp)
408 stop_pkt_retransmission(dsmp);
414 if (dsmp->dsm_state == BOUND) {
415 dsmp->dsm_neg_hrtime = gethrtime();
416 dsmp->dsm_bad_offers = 0;
417 dsmp->dsm_sent = 0;
418 dsmp->dsm_received = 0;
420 (void) set_smach_state(dsmp, RENEWING);
424 dsmp->dsm_name);
426 if (dsmp->dsm_isv6) {
437 if (dsmp->dsm_state == RENEWING) {
438 dpkt = init_pkt(dsmp, DHCPV6_MSG_RENEW);
440 dsmp->dsm_serverid, dsmp->dsm_serveridlen);
444 dpkt = init_pkt(dsmp, DHCPV6_MSG_REBIND);
453 for (dlp = dsmp->dsm_leases; dlp != NULL; dlp = dlp->dl_next) {
463 (void) add_pkt_prl(dpkt, dsmp);
465 return (send_pkt_v6(dsmp, dpkt, dsmp->dsm_server,
468 dhcp_lif_t *lif = dsmp->dsm_lif;
472 dpkt = init_pkt(dsmp, REQUEST);
487 (void) add_pkt_prl(dpkt, dsmp);
493 if (dsmp->dsm_reqhost != NULL) {
494 (void) add_pkt_opt(dpkt, CD_HOSTNAME, dsmp->dsm_reqhost,
495 strlen(dsmp->dsm_reqhost));
499 IN6_V4MAPPED_TO_IPADDR(&dsmp->dsm_server, server);
500 return (send_pkt(dsmp, dpkt, server, stop_extending));
516 stop_extending(dhcp_smach_t *dsmp, unsigned int n_requests)
524 if (dsmp->dsm_state == RENEWING) {
528 for (dlp = dsmp->dsm_leases; dlp != NULL; dlp = dlp->dl_next) {
532 t2 += dsmp->dsm_curstart_monosec;
535 monosec() > t2 ? "" : "almost ", dsmp->dsm_name);
546 if (!dsmp->dsm_isv6 &&
547 dsmp->dsm_send_timeout < DHCP_REBIND_MIN * MILLISEC / 2) {
549 "%d.%03d; stopping", dsmp->dsm_send_timeout / MILLISEC,
550 dsmp->dsm_send_timeout % MILLISEC);