Lines Matching defs:dsmp

64 	dhcp_smach_t	*dsmp = arg;
66 dsmp->dsm_start_timer = -1;
67 (void) set_smach_state(dsmp, INIT);
68 if (verify_smach(dsmp)) {
69 dhcpmsg(MSG_VERBOSE, "starting DHCP on %s", dsmp->dsm_name);
70 dhcp_selecting(dsmp);
82 set_start_timer(dhcp_smach_t *dsmp)
84 if (dsmp->dsm_start_timer != -1)
87 dsmp->dsm_start_timer = iu_schedule_timer_ms(tq,
88 lrand48() % DHCP_SELECT_WAIT, dhcp_start, dsmp);
89 if (dsmp->dsm_start_timer == -1)
92 hold_smach(dsmp);
106 dhcp_selecting(dhcp_smach_t *dsmp)
128 reset_smach(dsmp);
129 if (!set_smach_state(dsmp, SELECTING)) {
132 "reverting to INIT on %s", dsmp->dsm_name);
138 (void) remove_hostconf(dsmp->dsm_name, dsmp->dsm_isv6);
140 dsmp->dsm_offer_timer = iu_schedule_timer(tq,
141 dsmp->dsm_offer_wait, dhcp_requesting, dsmp);
142 if (dsmp->dsm_offer_timer == -1) {
144 "%s packets", dsmp->dsm_isv6 ? "Advertise" : "OFFER");
148 hold_smach(dsmp);
156 if (dsmp->dsm_isv6) {
159 if ((dpkt = init_pkt(dsmp, DHCPV6_MSG_SOLICIT)) == NULL) {
166 d6in.d6in_iaid = htonl(dsmp->dsm_lif->lif_iaid);
174 (void) add_pkt_prl(dpkt, dsmp);
181 (void) send_pkt_v6(dsmp, dpkt, ipv6_all_dhcp_relay_and_servers,
184 if ((dpkt = init_pkt(dsmp, DISCOVER)) == NULL) {
195 htons(dsmp->dsm_lif->lif_max - sizeof (struct udpiphdr)));
202 (void) add_pkt_prl(dpkt, dsmp);
204 if (df_get_bool(dsmp->dsm_name, dsmp->dsm_isv6,
209 "/etc/hostname.%s", dsmp->dsm_name);
214 dsmp->dsm_reqhost = strdup(reqhost);
215 if (dsmp->dsm_reqhost != NULL)
217 dsmp->dsm_reqhost,
218 strlen(dsmp->dsm_reqhost));
227 (void) send_pkt(dsmp, dpkt, htonl(INADDR_BROADCAST),
233 (void) set_smach_state(dsmp, INIT);
234 dsmp->dsm_dflags |= DHCP_IF_FAILED;
235 ipc_action_finish(dsmp, DHCP_IPC_E_MEMORY);
252 stop_selecting(dhcp_smach_t *dsmp, unsigned int n_discovers)
258 if (!dsmp->dsm_isv6 && !verify_lif(dsmp->dsm_lif)) {
259 finished_smach(dsmp, DHCP_IPC_E_UNKIF);
263 if (dsmp->dsm_recv_pkt_list != NULL) {
264 dhcp_requesting(NULL, dsmp);
265 if (dsmp->dsm_state != SELECTING)