Home | History | Annotate | Download | only in server

Lines Matching refs:nd

282 static int nfsrc_getudp(struct nfsrv_descript *nd, struct nfsrvcache *newrp);
283 static int nfsrc_gettcp(struct nfsrv_descript *nd, struct nfsrvcache *newrp);
332 nfsrvd_getcache(struct nfsrv_descript *nd)
337 if (nd->nd_procnum == NFSPROC_NULL)
342 if (nd->nd_flag & ND_NFSV4)
344 else if (nd->nd_flag & ND_NFSV3)
348 newrp->rc_xid = nd->nd_retxid;
349 newrp->rc_proc = nd->nd_procnum;
350 newrp->rc_sockref = nd->nd_sockref;
351 newrp->rc_cachetime = nd->nd_tcpconntime;
352 if (nd->nd_flag & ND_SAMETCPCONN)
354 if (nd->nd_nam2 != NULL) {
356 ret = nfsrc_getudp(nd, newrp);
358 ret = nfsrc_gettcp(nd, newrp);
360 NFSEXITCODE2(0, nd);
370 nfsrc_getudp(struct nfsrv_descript *nd, struct nfsrvcache *newrp)
387 nfsaddr_match(NETFAMILY(rp), &rp->rc_haddr, nd->nd_nam)) {
409 nfsrvd_rephead(nd);
410 *(nd->nd_errp) = rp->rc_status;
417 nd->nd_mreq = m_copym(rp->rc_reply, 0,
435 saddr = NFSSOCKADDR(nd->nd_nam, struct sockaddr_in *);
447 nd->nd_rp = newrp;
451 NFSEXITCODE2(0, nd);
459 nfsrvd_updatecache(struct nfsrv_descript *nd)
466 rp = nd->nd_rp;
469 nd->nd_rp = NULL;
484 if (nd->nd_repstat == NFSERR_REPLYFROMCACHE) {
487 nd->nd_repstat = 0;
488 mbuf_freem(nd->nd_mreq);
491 nd->nd_mreq = m_copym(rp->rc_reply, 0,
503 if (nd->nd_repstat != NFSERR_DONTREPLY &&
505 ((nd->nd_flag & ND_SAVEREPLY) && (rp->rc_flag & RC_UDP)) ||
506 ((nd->nd_flag & ND_SAVEREPLY) && !(rp->rc_flag & RC_UDP) &&
514 if ((nd->nd_flag & ND_NFSV2) &&
515 nfsv2_repstat[newnfsv2_procid[nd->nd_procnum]]) {
516 rp->rc_status = nd->nd_repstat;
528 m = m_copym(nd->nd_mreq, 0, M_COPYALL, M_WAITOK);
551 NFSEXITCODE2(0, nd);
603 nfsrc_gettcp(struct nfsrv_descript *nd, struct nfsrvcache *newrp)
614 newrp->rc_reqlen = nfsrc_getlenandcksum(nd->nd_mrep, &newrp->rc_cksum);
696 nfsrvd_rephead(nd);
697 *(nd->nd_errp) = rp->rc_status;
705 nd->nd_mreq = m_copym(rp->rc_reply, 0,
726 nd->nd_rp = newrp;
730 NFSEXITCODE2(0, nd);