From ad1ad25dd4b07a8dbef3f1deefb1bd710cfcc74e Mon Sep 17 00:00:00 2001
From: Kozlov Dmitry <xeb@mail.ru>
Date: Fri, 7 Jun 2013 15:25:08 +0400
Subject: ppp: handle LCP DiscardReq

---
 accel-pppd/ppp/ppp_fsm.h | 1 +
 accel-pppd/ppp/ppp_lcp.c | 4 ++++
 2 files changed, 5 insertions(+)

diff --git a/accel-pppd/ppp/ppp_fsm.h b/accel-pppd/ppp/ppp_fsm.h
index 7b7474b3..95da7b63 100644
--- a/accel-pppd/ppp/ppp_fsm.h
+++ b/accel-pppd/ppp/ppp_fsm.h
@@ -15,6 +15,7 @@ typedef enum {FSM_Initial=0,FSM_Starting,FSM_Closed,FSM_Stopped,FSM_Closing,FSM_
 #define PROTOREJ	8	/* Code Reject */
 #define ECHOREQ		9	/* Echo Request */
 #define ECHOREP		10	/* Echo Reply */
+#define DISCARDREQ	11	/* Discard Request */
 #define	IDENT		  12	/* Identification */
 
 struct ppp_t;
diff --git a/accel-pppd/ppp/ppp_lcp.c b/accel-pppd/ppp/ppp_lcp.c
index 7a071dde..bcfce121 100644
--- a/accel-pppd/ppp/ppp_lcp.c
+++ b/accel-pppd/ppp/ppp_lcp.c
@@ -862,6 +862,10 @@ static void lcp_recv(struct ppp_handler_t*h)
 				log_ppp_info2("recv [LCP ProtoRej id=%x <%04x>]\n", hdr->id, ntohs(*(uint16_t*)(hdr + 1)));
 			ppp_recv_proto_rej(lcp->ppp, ntohs(*(uint16_t *)(hdr + 1)));
 			break;
+		case DISCARDREQ:
+			if (conf_ppp_verbose)
+				log_ppp_info2("recv [LCP DiscardReq id=%x <magic %08x>]\n", hdr->id, ntohl(*(uint32_t*)(hdr + 1)));
+			break;
 		case IDENT:
 			if (conf_ppp_verbose) {
 				term_msg = _strndup((char*)(hdr + 1) + 4, ntohs(hdr->len) - 4 - 4);
-- 
cgit v1.2.3