Lines Matching defs:pcd

106 dhcp(dsvc_clnt_t *pcd, PKT_LIST *plp)
111 pcd->cidbuf);
115 pcd->state = *plp->opts[CD_DHCP_TYPE]->value;
116 switch (pcd->state) {
121 dhcp_offer(pcd, plp);
130 dhcp_req_ack(pcd, plp);
139 dhcp_dec_rel(pcd, plp, DECLINE);
148 dhcp_dec_rel(pcd, plp, RELEASE);
157 dhcp_inform(pcd, plp);
165 pcd->state, pcd->cidbuf);
175 dhcp_offer(dsvc_clnt_t *pcd, PKT_LIST *plp)
177 IF *ifp = pcd->ifp;
180 dsvc_dnet_t *pnd = pcd->pnd;
218 if (pcd->off_ip.s_addr != htonl(INADDR_ANY) &&
219 PCD_OFFER_TIMEOUT(pcd, now))
220 purge_offer(pcd, B_TRUE, B_TRUE);
222 if (pcd->off_ip.s_addr != htonl(INADDR_ANY)) {
229 dnlp = pcd->dnlp;
236 (void) memcpy(dn.dn_cid, pcd->cid, pcd->cid_len);
237 dn.dn_cid_len = pcd->cid_len;
249 dnlp = dhcp_lookup_dd_classify(pcd->pnd, B_FALSE, query,
281 "%4$s.%5$s\n", pcd->cidbuf,
297 "allocated.\n", pcd->cidbuf,
314 if (!select_offer(pnd, plp, pcd, &dnlp)) {
319 pcd->cidbuf);
404 if ((cid_mp = get_macro(pcd->cidbuf)) != NULL)
504 rep_pktp = gen_reply_pkt(pcd, plp, OFFER, &replen, &optp, &ifp->addr);
536 (void) update_offer(pcd, &dnlp, newlease, NULL, B_TRUE);
544 purge_offer(pcd, B_FALSE, B_TRUE);
570 dhcp_req_ack(dsvc_clnt_t *pcd, PKT_LIST *plp)
576 dsvc_dnet_t *pnd = pcd->pnd;
603 IF *ifp = pcd->ifp;
617 "%3$d \n", pcd->cidbuf,
636 pcd->cidbuf, pcd->pnd->network);
645 pcd->cidbuf, plp->opts[CD_REQUESTED_IP_ADDR]->len,
674 pcd->cidbuf,
681 purge_offer(pcd, B_FALSE, B_TRUE);
686 pcd->cidbuf,
710 if (pcd->off_ip.s_addr == htonl(INADDR_ANY) ||
711 PCD_OFFER_TIMEOUT(pcd, now)) {
716 purge_offer(pcd, B_TRUE, B_TRUE);
720 pcd->pnd->network, pcd->cidbuf);
724 (void) update_offer(pcd, NULL, 0, NULL, B_TRUE);
732 dnlp = pcd->dnlp;
735 ndn.dn_lease = pcd->lease;
748 "what was offered.\n", pcd->cidbuf,
778 "requested IP option.\n", pcd->cidbuf);
785 "should be %3$d \n", pcd->cidbuf,
796 (void) memcpy(dn.dn_cid, pcd->cid, pcd->cid_len);
797 dn.dn_cid_len = pcd->cid_len;
816 (void) memcpy(dn.dn_cid, pcd->cid, pcd->cid_len);
817 dn.dn_cid_len = pcd->cid_len;
828 dnlp = dhcp_lookup_dd_classify(pcd->pnd, B_FALSE, query,
854 pcd->cidbuf,
888 "leased.\n", pcd->cidbuf, inet_ntop(AF_INET,
906 "ignored.\n", pcd->cidbuf,
924 pcd->cidbuf,
938 rep_pktp = gen_reply_pkt(pcd, plp, NAK, &replen, &optp,
975 rep_pktp = gen_reply_pkt(pcd, plp, ACK, &replen, &optp,
1001 if ((cid_mp = get_macro(pcd->cidbuf)) != NULL)
1067 if (name_avail(hname, pcd, plp, &nlp, ecp,
1179 (void) memcpy(ndn.dn_cid, pcd->cid, pcd->cid_len);
1180 ndn.dn_cid_len = pcd->cid_len;
1222 "%1$s, %2$s\n", pcd->cidbuf,
1234 pcd->state = ACK;
1250 pcd->cidbuf,
1282 dhcp_dec_rel(dsvc_clnt_t *pcd, PKT_LIST *plp, int type)
1295 pnd = pcd->pnd;
1314 (void) memcpy(dn.dn_cid, pcd->cid, pcd->cid_len);
1315 dn.dn_cid_len = pcd->cid_len;
1319 dnlp = dhcp_lookup_dd_classify(pcd->pnd, B_FALSE, query, -1,
1332 dhcpmsg(LOG_INFO, fmtp, pcd->cidbuf, ipb);
1350 dhcpmsg(LOG_INFO, fmtp, pcd->cidbuf, ipb);
1358 pcd->cidbuf, ipb);
1369 "address: %2$s\n", pcd->cidbuf, ipb);
1375 pcd->cidbuf, ipb);
1431 dhcp_inform(dsvc_clnt_t *pcd, PKT_LIST *plp)
1443 IF *ifp = pcd->ifp;
1445 pnd = pcd->pnd;
1463 if ((cid_mp = get_macro(pcd->cidbuf)) != NULL)
1485 rep_pktp = gen_reply_pkt(pcd, plp, ACK, &replen, &optp, &ifp->addr);
1544 gen_reply_pkt(dsvc_clnt_t *pcd, PKT_LIST *plp, int type, uint_t *len,
1559 pcd->cidbuf,
1881 * pcd - per client data struct.
1890 update_offer(dsvc_clnt_t *pcd, dn_rec_list_t **dnlp, lease_t nlease,
1897 dsvc_dnet_t *pnd = pcd->pnd;
1898 IF *ifp = pcd->ifp;
1904 if (pcd->dnlp != NULL && pcd->dnlp != *dnlp)
1905 dhcp_free_dd_list(pnd->dh, pcd->dnlp);
1906 pcd->dnlp = *dnlp;
1908 if (pcd->dnlp != NULL)
1909 dnp = pcd->dnlp->dnl_rec;
1924 if (pcd->off_ip.s_addr == htonl(INADDR_ANY)) {
1928 if (pcd->off_ip.s_addr != off_ip.s_addr) {
1929 purge_offer(pcd, B_FALSE, purge_cache);
1936 pcd->lease = nlease;
1938 /* Prepare to insert pcd into the offer hash table. */
1939 pcd->mtime = reinit_time;
1941 pcd->off_ip.s_addr = off_ip.s_addr;
1943 assert(pcd->off_ip.s_addr != htonl(INADDR_ANY));
1946 if ((pcd->ihand = hash_Insert(pnd->itable, &pcd->off_ip,
1947 sizeof (struct in_addr), clnt_netcmp, pcd, pcd)) == NULL) {
1951 inet_ntop(AF_INET, &pcd->off_ip, ntoab,
1952 sizeof (ntoab)), pcd->cidbuf);
1954 pcd->off_ip.s_addr = htonl(INADDR_ANY);
1955 dhcp_free_dd_list(pnd->dh, pcd->dnlp);
1957 pcd->dnlp == *dnlp) {
1960 pcd->dnlp = NULL;
1964 hash_Dtime(pcd->ihand, time(NULL) + off_secs);
1975 inet_ntop(AF_INET, &pcd->off_ip,
1979 inet_ntop(AF_INET, &pcd->off_ip,
1983 inet_ntop(AF_INET, &pcd->off_ip,
1993 * pcd - per client struct
1999 purge_offer(dsvc_clnt_t *pcd, boolean_t expired, boolean_t purge_cache)
2002 dsvc_dnet_t *pnd = pcd->pnd;
2003 IF *ifp = pcd->ifp;
2005 if (pcd->off_ip.s_addr != htonl(INADDR_ANY)) {
2009 inet_ntop(AF_INET, &pcd->off_ip,
2013 inet_ntop(AF_INET, &pcd->off_ip,
2024 if (pcd->state == ACK && pcd->dnlp != NULL) {
2026 purge_dnet_cache(pnd, pcd->dnlp->dnl_rec);
2027 dhcp_free_dd_list(pnd->dh, pcd->dnlp);
2028 pcd->dnlp = NULL;
2032 /* Prepare to delete pcd from the offer hash table. */
2033 (void) hash_Delete(pnd->itable, &pcd->off_ip,
2034 sizeof (struct in_addr), clnt_netcmp, pcd, NULL);
2036 pcd->off_ip.s_addr = htonl(INADDR_ANY);
2062 select_offer(dsvc_dnet_t *pnd, PKT_LIST *plp, dsvc_clnt_t *pcd,
2109 if (name_avail(hname, pcd, plp, dnlpp, NULL,
2131 found = addr_avail(pnd, pcd, dnlpp, req_ip, B_FALSE);
2240 *dnlpp = dhcp_lookup_dd_classify(pcd->pnd,
2247 (void) update_offer(pcd, NULL, 0,
2383 *dnlpp = dhcp_lookup_dd_classify(pcd->pnd,
2389 (void) update_offer(pcd, NULL, 0, &tip,
2506 addr_avail(dsvc_dnet_t *pnd, dsvc_clnt_t *pcd, dn_rec_list_t **dnlpp,
2518 if (pcd->off_ip.s_addr != req_ip.s_addr &&
2526 if (update_offer(pcd, NULL, 0, &req_ip, B_TRUE) == B_FALSE) {
2552 if (!entry_available(pcd, (*dnlpp)->dnl_rec)) {
2555 purge_offer(pcd, B_FALSE, B_TRUE);
2562 purge_offer(pcd, B_FALSE, B_TRUE);
2583 name_avail(char *name, dsvc_clnt_t *pcd, PKT_LIST *plp, dn_rec_list_t **dnlpp,
2733 pnd = pcd->pnd;
2748 if (!addr_avail(pnd, pcd, dnlpp, ia, B_TRUE)) {
2764 entry_available(dsvc_clnt_t *pcd, dn_rec_t *dnp)
2767 boolean_t isme = dnp->dn_cid_len == pcd->cid_len &&
2768 memcmp(pcd->cid, dnp->dn_cid, pcd->cid_len) == 0;