Lines Matching refs:ncp

70 #include "ncp.h"
96 ncp_Init(struct ncp *ncp, struct bundle *bundle)
98 ncp->afq = AF_INET;
99 ncp->route = NULL;
101 ncp->cfg.urgent.tcp.port = (u_short *)malloc(NDEFTCPPORTS * sizeof(u_short));
102 if (ncp->cfg.urgent.tcp.port == NULL) {
104 ncp->cfg.urgent.tcp.nports = ncp->cfg.urgent.tcp.maxports = 0;
106 ncp->cfg.urgent.tcp.nports = ncp->cfg.urgent.tcp.maxports = NDEFTCPPORTS;
107 memcpy(ncp->cfg.urgent.tcp.port, default_urgent_tcp_ports,
110 ncp->cfg.urgent.tos = 1;
112 ncp->cfg.urgent.udp.nports = ncp->cfg.urgent.udp.maxports = 0;
113 ncp->cfg.urgent.udp.port = NULL;
115 mp_Init(&ncp->mp, bundle);
118 ipcp_Init(&ncp->ipcp, bundle, &bundle->links->physical->link,
121 ipv6cp_Init(&ncp->ipv6cp, bundle, &bundle->links->physical->link,
127 ncp_Destroy(struct ncp *ncp)
129 ipcp_Destroy(&ncp->ipcp);
131 ipv6cp_Destroy(&ncp->ipv6cp);
134 if (ncp->cfg.urgent.tcp.maxports) {
135 ncp->cfg.urgent.tcp.nports = ncp->cfg.urgent.tcp.maxports = 0;
136 free(ncp->cfg.urgent.tcp.port);
137 ncp->cfg.urgent.tcp.port = NULL;
139 if (ncp->cfg.urgent.udp.maxports) {
140 ncp->cfg.urgent.udp.nports = ncp->cfg.urgent.udp.maxports = 0;
141 free(ncp->cfg.urgent.udp.port);
142 ncp->cfg.urgent.udp.port = NULL;
147 ncp_fsmStart(struct ncp *ncp,
160 fsm_Up(&ncp->ipcp.fsm);
161 fsm_Open(&ncp->ipcp.fsm);
167 fsm_Up(&ncp->ipv6cp.fsm);
168 fsm_Open(&ncp->ipv6cp.fsm);
177 ncp_IfaceAddrAdded(struct ncp *ncp, const struct iface_addr *addr)
181 ipcp_IfaceAddrAdded(&ncp->ipcp, addr);
185 ipv6cp_IfaceAddrAdded(&ncp->ipv6cp, addr);
192 ncp_IfaceAddrDeleted(struct ncp *ncp, const struct iface_addr *addr)
195 ipcp_IfaceAddrDeleted(&ncp->ipcp, addr);
199 ncp_SetLink(struct ncp *ncp, struct link *l)
201 ipcp_SetLink(&ncp->ipcp, l);
203 ipv6cp_SetLink(&ncp->ipv6cp, l);
212 ncp_Enqueue(struct ncp *ncp, int af, unsigned pri, char *ptr, int count)
215 struct ipv6cp *ipv6cp = &ncp->ipv6cp;
217 struct ipcp *ipcp = &ncp->ipcp;
265 ncp_QueueLen(struct ncp *ncp)
269 result = ipcp_QueueLen(&ncp->ipcp);
271 result += ipv6cp_QueueLen(&ncp->ipv6cp);
273 result += mp_QueueLen(&ncp->mp); /* Usually empty */
284 ncp_DeleteQueues(struct ncp *ncp)
287 struct ipv6cp *ipv6cp = &ncp->ipv6cp;
289 struct ipcp *ipcp = &ncp->ipcp;
290 struct mp *mp = &ncp->mp;
313 ncp_FillPhysicalQueues(struct ncp *ncp, struct bundle *bundle)
317 if (bundle->ncp.mp.active)
327 add = ncp_PushPacket(ncp, &ncp->afq, &dl->physical->link);
332 return total + ncp_QueueLen(&bundle->ncp);
337 * of what is to be pushed next, coming either from mp->out or ncp->afq.
340 ncp_PushPacket(struct ncp *ncp __unused,
353 if ((res = ipcp_PushPacket(&bundle->ncp.ipcp, l)))
356 res = ipv6cp_PushPacket(&bundle->ncp.ipv6cp, l);
358 if ((res = ipv6cp_PushPacket(&bundle->ncp.ipv6cp, l)))
361 res = ipcp_PushPacket(&bundle->ncp.ipcp, l);
364 res = ipcp_PushPacket(&bundle->ncp.ipcp, l);
444 struct ncp *ncp = &arg->bundle->ncp;
449 ncp->afq == AF_INET6 ? "inet6" : "inet");
452 if (ncp->route) {
454 route_ShowSticky(arg->prompt, ncp->route, "Sticky routes", 1);
459 if (ncp->cfg.sendpipe > 0)
460 prompt_Printf(arg->prompt, "%-20ld\n", ncp->cfg.sendpipe);
464 if (ncp->cfg.recvpipe > 0)
465 prompt_Printf(arg->prompt, "%ld\n", ncp->cfg.recvpipe);
471 if (ncp->cfg.urgent.tcp.nports == 0)
474 for (p = 0; p < ncp->cfg.urgent.tcp.nports; p++) {
477 prompt_Printf(arg->prompt, "%u", ncp->cfg.urgent.tcp.port[p]);
481 if (ncp->cfg.urgent.udp.nports == 0)
484 for (p = 0; p < ncp->cfg.urgent.udp.nports; p++) {
487 prompt_Printf(arg->prompt, "%u", ncp->cfg.urgent.udp.port[p]);
490 ncp->cfg.urgent.tos ? "yes" : "no");
496 ncp_LayersOpen(struct ncp *ncp)
500 n = !!(ncp->ipcp.fsm.state == ST_OPENED);
502 n += !!(ncp->ipv6cp.fsm.state == ST_OPENED);
509 ncp_LayersUnfinished(struct ncp *ncp)
513 if (ncp->ipcp.fsm.state > ST_CLOSED ||
514 ncp->ipcp.fsm.state == ST_STARTING)
518 if (ncp->ipv6cp.fsm.state > ST_CLOSED ||
519 ncp->ipv6cp.fsm.state == ST_STARTING)
527 ncp_Close(struct ncp *ncp)
529 if (ncp->ipcp.fsm.state > ST_CLOSED ||
530 ncp->ipcp.fsm.state == ST_STARTING)
531 fsm_Close(&ncp->ipcp.fsm);
534 if (ncp->ipv6cp.fsm.state > ST_CLOSED ||
535 ncp->ipv6cp.fsm.state == ST_STARTING)
536 fsm_Close(&ncp->ipv6cp.fsm);
541 ncp2initial(struct ncp *ncp)
543 fsm2initial(&ncp->ipcp.fsm);
545 fsm2initial(&ncp->ipv6cp.fsm);