IP control protocol. More...
Functions | |
void | IpcpRxConfReq (NUTDEVICE *dev, uint8_t id, NETBUF *nb) |
void | IpcpRxConfAck (NUTDEVICE *dev, uint8_t id, NETBUF *nb) |
void | IpcpRxTermReq (NUTDEVICE *dev, uint8_t id, NETBUF *nb) |
void | IpcpRxTermAck (NUTDEVICE *dev, uint8_t id, NETBUF *nb) |
void | IpcpRxProtRej (NUTDEVICE *dev) |
void | NutIpcpInput (NUTDEVICE *dev, NETBUF *nb) |
Handle incoming IPCP packets. | |
int | NutIpcpOutput (NUTDEVICE *dev, uint8_t code, uint8_t id, NETBUF *nb) |
Send a IPCP packet. | |
void | IpcpTxConfReq (NUTDEVICE *dev, uint8_t id) |
IP control protocol.
Definition at line 104 of file ipcpin.c.
References _PPPDCB::dcb_ip_dns1, _PPPDCB::dcb_ip_dns2, _PPPDCB::dcb_ipcp_naks, _PPPDCB::dcb_ipcp_state, _PPPDCB::dcb_remote_ip, _PPPDCB::dcb_reqid, _PPPDCB::dcb_state_chg, _NUTDEVICE::dev_dcb, IPCP_ADDR, IPCP_COMPRESSTYPE, IPCP_MS_DNS1, IPCP_MS_DNS2, IpcpLowerDown(), IpcpTxConfReq(), _NETBUF::nb_ap, NutEventPost(), NutIpcpOutput(), NutNetBufFree(), PPPS_ACKRCVD, PPPS_ACKSENT, PPPS_CLOSED, PPPS_CLOSING, PPPS_OPENED, PPPS_REQSENT, PPPS_STOPPED, PPPS_STOPPING, _NBDATA::sz, XCPOPT::uc, XCPOPT::ul, _NBDATA::vp, XCP_CONFACK, XCP_CONFNAK, XCP_CONFREJ, XCP_TERMACK, XCPOPT::xcpo_, XCPOPT::xcpo_len, and XCPOPT::xcpo_type.
Referenced by NutIpcpInput().
Definition at line 258 of file ipcpin.c.
References _PPPDCB::dcb_acked, _PPPDCB::dcb_ip_dns1, _PPPDCB::dcb_ip_dns2, _PPPDCB::dcb_ipcp_state, _PPPDCB::dcb_local_ip, _PPPDCB::dcb_reqid, _PPPDCB::dcb_retries, _PPPDCB::dcb_state_chg, _NUTDEVICE::dev_dcb, IPCP_ADDR, IPCP_COMPRESSTYPE, IPCP_MS_DNS1, IPCP_MS_DNS2, IpcpLowerDown(), IpcpTxConfReq(), _NETBUF::nb_ap, NutEventPost(), NutIpcpOutput(), NutNetBufFree(), PPPS_ACKRCVD, PPPS_ACKSENT, PPPS_CLOSED, PPPS_OPENED, PPPS_REQSENT, PPPS_STOPPED, _NBDATA::sz, XCPOPT::ul, _NBDATA::vp, XCP_TERMACK, XCPOPT::xcpo_, XCPOPT::xcpo_len, and XCPOPT::xcpo_type.
Referenced by NutIpcpInput().
Definition at line 429 of file ipcpin.c.
References _PPPDCB::dcb_ipcp_state, _NUTDEVICE::dev_dcb, IpcpLowerDown(), NutIpcpOutput(), NutNetBufFree(), PPPS_ACKRCVD, PPPS_ACKSENT, PPPS_OPENED, PPPS_REQSENT, PPPS_STOPPING, and XCP_TERMACK.
Referenced by NutIpcpInput().
Definition at line 451 of file ipcpin.c.
References _PPPDCB::dcb_ipcp_state, _PPPDCB::dcb_reqid, _NUTDEVICE::dev_dcb, IpcpLowerDown(), IpcpTxConfReq(), PPPS_ACKRCVD, PPPS_CLOSED, PPPS_CLOSING, PPPS_OPENED, PPPS_REQSENT, PPPS_STOPPED, and PPPS_STOPPING.
Referenced by NutIpcpInput().
void IpcpRxProtRej | ( | NUTDEVICE * | dev | ) |
Definition at line 479 of file ipcpin.c.
References _PPPDCB::dcb_ipcp_state, _PPPDCB::dcb_reqid, _NUTDEVICE::dev_dcb, IpcpLowerDown(), NutIpcpOutput(), PPPS_ACKRCVD, PPPS_ACKSENT, PPPS_CLOSED, PPPS_CLOSING, PPPS_OPENED, PPPS_REQSENT, PPPS_STOPPED, PPPS_STOPPING, and XCP_TERMREQ.
Handle incoming IPCP packets.
Packets not destined to us or packets with unsupported address type or item length are silently discarded.
dev | Identifies the device that received the packet. |
nb | Pointer to a network buffer structure containing the ARP packet. |
Definition at line 533 of file ipcpin.c.
References _PPPDCB::dcb_ipcp_state, _NUTDEVICE::dev_dcb, htons, IpcpRxConfAck(), IpcpRxConfReq(), IpcpRxTermAck(), IpcpRxTermReq(), _NETBUF::nb_ap, _NETBUF::nb_nw, NutNetBufFree(), PPPS_INITIAL, PPPS_STARTING, _NBDATA::sz, _NBDATA::vp, xcphdr::xch_code, xcphdr::xch_id, xcphdr::xch_len, XCP_CODEREJ, XCP_CONFACK, XCP_CONFNAK, XCP_CONFREJ, XCP_CONFREQ, XCP_TERMACK, and XCP_TERMREQ.
Referenced by NutPppInput().
Send a IPCP packet.
dev | Identifies the device to use. |
code | Type subcode. |
id | Exchange identifier. |
nb | Network buffer structure containing the packet to send or null if the packet contains no information. The structure must have been allocated by a previous call NutNetBufAlloc() and will be freed when this function returns. |
Definition at line 117 of file ipcpout.c.
References htons, _NETBUF::nb_ap, _NETBUF::nb_nw, _NETBUF::nb_tp, NBAF_NETWORK, NutNetBufAlloc(), NutNetBufFree(), NutPppOutput(), PPP_IPCP, _NBDATA::sz, _NBDATA::vp, xcphdr::xch_code, xcphdr::xch_id, and xcphdr::xch_len.
Referenced by IpcpClose(), IpcpRxConfAck(), IpcpRxConfReq(), IpcpRxProtRej(), IpcpRxTermReq(), IpcpTxConfReq(), LcpRxProtRej(), and NutPppSm().
Definition at line 140 of file ipcpout.c.
References _PPPDCB::dcb_acked, _PPPDCB::dcb_ip_dns1, _PPPDCB::dcb_ip_dns2, _PPPDCB::dcb_ipcp_naks, _PPPDCB::dcb_ipcp_state, _PPPDCB::dcb_local_ip, _PPPDCB::dcb_rejects, _NUTDEVICE::dev_dcb, IPCP_ADDR, IPCP_MS_DNS1, IPCP_MS_DNS2, _NETBUF::nb_ap, NBAF_APPLICATION, NutIpcpOutput(), NutNetBufAlloc(), PPPS_ACKRCVD, PPPS_ACKSENT, PPPS_REQSENT, REJ_IPCP_DNS1, REJ_IPCP_DNS2, XCPOPT::ul, _NBDATA::vp, XCP_CONFREQ, XCPOPT::xcpo_, XCPOPT::xcpo_len, and XCPOPT::xcpo_type.
Referenced by IpcpLowerUp(), IpcpOpen(), IpcpRxConfAck(), IpcpRxConfReq(), IpcpRxTermAck(), and NutPppSm().