xref: /linux/include/net/pptp.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2ab10dccbSGao Feng #ifndef _NET_PPTP_H
3ab10dccbSGao Feng #define _NET_PPTP_H
4ab10dccbSGao Feng 
5*949d6b40SJakub Kicinski #include <linux/types.h>
6*949d6b40SJakub Kicinski #include <net/gre.h>
7*949d6b40SJakub Kicinski 
8ab10dccbSGao Feng #define PPP_LCP_ECHOREQ 0x09
9ab10dccbSGao Feng #define PPP_LCP_ECHOREP 0x0A
10ab10dccbSGao Feng #define SC_RCV_BITS     (SC_RCV_B7_1|SC_RCV_B7_0|SC_RCV_ODDP|SC_RCV_EVNP)
11ab10dccbSGao Feng 
12ab10dccbSGao Feng #define MISSING_WINDOW 20
13ab10dccbSGao Feng #define WRAPPED(curseq, lastseq)\
14ab10dccbSGao Feng 	((((curseq) & 0xffffff00) == 0) &&\
15ab10dccbSGao Feng 	(((lastseq) & 0xffffff00) == 0xffffff00))
16ab10dccbSGao Feng 
17ab10dccbSGao Feng #define PPTP_HEADER_OVERHEAD (2+sizeof(struct pptp_gre_header))
18ab10dccbSGao Feng struct pptp_gre_header {
1903459345SGao Feng 	struct gre_base_hdr gre_hd;
20ab10dccbSGao Feng 	__be16 payload_len;
21ab10dccbSGao Feng 	__be16 call_id;
22ab10dccbSGao Feng 	__be32 seq;
23ab10dccbSGao Feng 	__be32 ack;
24ab10dccbSGao Feng } __packed;
25ab10dccbSGao Feng 
26ab10dccbSGao Feng 
27ab10dccbSGao Feng #endif
28