1# Copyright (c) 2019 Intel Corporation.
2# SPDX-License-Identifier: Apache-2.0
3
4menuconfig NET_L2_PPP
5	bool "Point-to-point (PPP) support"
6	select NET_MGMT
7	select NET_MGMT_EVENT
8	help
9	  Add support for PPP.
10
11if NET_L2_PPP
12
13config NET_L2_PPP_TIMEOUT
14	int "Maximum timeout in ms for Configure-Req"
15	default 3000
16	range 1 $(UINT32_MAX)
17	help
18	  How long to wait Configure-Req.
19
20config NET_L2_PPP_MAX_CONFIGURE_REQ_RETRANSMITS
21	int "Maximum number of Configure-Req retransmits"
22	default 10
23	range 0 $(UINT32_MAX)
24	help
25	  How many times to resend Configure-Req messages before deciding the
26	  link is not working properly.
27
28config NET_L2_PPP_MAX_TERMINATE_REQ_RETRANSMITS
29	int "Maximum number of Terminate-Req retransmits"
30	default 2
31	range 0 $(UINT32_MAX)
32	help
33	  How many times to resend Terminate-Req messages before terminating
34	  the link.
35
36config NET_L2_PPP_MAX_NACK_LOOPS
37	int "Maximum number of NACK loops accepted"
38	default 5
39	range 0 $(UINT32_MAX)
40	help
41	  How many times to accept NACK loops.
42
43config NET_L2_PPP_OPTION_DNS_USE
44	bool "Use negotiated DNS servers"
45	depends on DNS_RESOLVER
46	help
47	  Use the DNS servers negotiated in the IPCP configuration.
48
49config NET_L2_PPP_AUTH_SUPPORT
50	bool
51
52config NET_L2_PPP_PAP
53	bool "PAP authentication protocol"
54	select NET_L2_PPP_AUTH_SUPPORT
55	help
56	  Enable support for PAP authentication protocol.
57
58config NET_L2_PPP_OPTION_MRU
59	bool "LCP MRU option support"
60	help
61	  Enable support for LCP MRU option.
62
63config NET_L2_PPP_OPTION_SERVE_IP
64	bool "Serve IP address to peer"
65	help
66	  Enable support for serving IP address to PPP peer.
67
68config NET_L2_PPP_OPTION_SERVE_DNS
69	bool "Serve DNS addresses to peer"
70	help
71	  Enable support for serving DNS addresses to PPP peer.
72
73module = NET_L2_PPP
74module-dep = NET_LOG
75module-str = Log level for ppp L2 layer
76module-help = Enables ppp L2 to output debug messages.
77source "subsys/net/Kconfig.template.log_config.net"
78
79config NET_L2_PPP_MGMT
80	bool "Ppp network management interface"
81	select NET_MGMT
82	select NET_MGMT_EVENT
83	help
84	  Enable support net_mgmt ppp interface which can be used to
85	  configure at run-time ppp drivers and L2 settings.
86
87config NET_L2_PPP_TX_STACK_SIZE
88	int "Stack size for TX handler"
89	default 2048 if COVERAGE_GCOV
90	default 1024
91	help
92	  Set the TX handler stack size.
93
94config NET_L2_PPP_THREAD_PRIO
95	int "Priority of the PPP TX thread"
96	default 1
97	help
98	  Set the priority of the PPP TX thread, that handles all
99	  transmission of PPP packets.
100	  Value 0 = highest priortity.
101	  When CONFIG_NET_TC_THREAD_COOPERATIVE = y, lowest priority is
102	  CONFIG_NUM_COOP_PRIORITIES-1 else lowest priority is
103	  CONFIG_NUM_PREEMPT_PRIORITIES-1.
104	  When using PPP in combination with TCP, make sure the priority
105	  is higher (or equal) than the TCP work queue, otherwise the
106	  TCP stack will consume all net_bufs before transferring
107	  execution to the lower layer network stack, with a high risk of
108	  running out of net_bufs.
109
110endif # NET_L2_PPP
111