Skip to content

Commit 4cf0e98

Browse files
committed
Fix desync with IDF in dhcpserver
1 parent f648ad7 commit 4cf0e98

File tree

3 files changed

+135
-117
lines changed

3 files changed

+135
-117
lines changed

libraries/WiFi/src/WiFiAP.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ extern "C" {
3737
#include <esp_wifi.h>
3838
#include <esp_event_loop.h>
3939
#include <lwip/ip_addr.h>
40+
#include "apps/dhcpserver_options.h"
4041
}
4142

4243

tools/sdk/include/lwip/apps/dhcpserver.h

-117
Original file line numberDiff line numberDiff line change
@@ -36,123 +36,6 @@ typedef struct dhcps_msg {
3636
u8_t options[312];
3737
}dhcps_msg;
3838

39-
/** DHCP OPTIONS CODE **/
40-
typedef enum
41-
{
42-
/* RFC 1497 Vendor Extensions */
43-
44-
PAD = 0,
45-
END = 255,
46-
47-
SUBNET_MASK = 1,
48-
TIME_OFFSET = 2,
49-
ROUTER = 3,
50-
TIME_SERVER = 4,
51-
NAME_SERVER = 5,
52-
DOMAIN_NAME_SERVER = 6,
53-
LOG_SERVER = 7,
54-
COOKIE_SERVER = 8,
55-
LPR_SERVER = 9,
56-
IMPRESS_SERVER = 10,
57-
RESOURCE_LOCATION_SERVER = 11,
58-
HOST_NAME = 12,
59-
BOOT_FILE_SIZE = 13,
60-
MERIT_DUMP_FILE = 14,
61-
DOMAIN_NAME = 15,
62-
SWAP_SERVER = 16,
63-
ROOT_PATH = 17,
64-
EXTENSIONS_PATH = 18,
65-
66-
/* IP Layer Parameters per Host */
67-
68-
IP_FORWARDING = 19,
69-
NON_LOCAL_SOURCE_ROUTING = 20,
70-
POLICY_FILTER = 21,
71-
MAXIMUM_DATAGRAM_REASSEMBLY_SIZE = 22,
72-
DEFAULT_IP_TIME_TO_LIVE = 23,
73-
PATH_MTU_AGING_TIMEOUT = 24,
74-
PATH_MTU_PLATEAU_TABLE = 25,
75-
76-
/* IP Layer Parameters per Interface */
77-
78-
INTERFACE_MTU = 26,
79-
ALL_SUBNETS_ARE_LOCAL = 27,
80-
BROADCAST_ADDRESS = 28,
81-
PERFORM_MASK_DISCOVERY = 29,
82-
MASK_SUPPLIER = 30,
83-
PERFORM_ROUTER_DISCOVERY = 31,
84-
ROUTER_SOLICITATION_ADDRESS = 32,
85-
STATIC_ROUTE = 33,
86-
87-
/* Link Layer Parameters per Interface */
88-
89-
TRAILER_ENCAPSULATION = 34,
90-
ARP_CACHE_TIMEOUT = 35,
91-
ETHERNET_ENCAPSULATION = 36,
92-
93-
/* TCP Parameters */
94-
95-
TCP_DEFAULT_TTL = 37,
96-
TCP_KEEPALIVE_INTERVAL = 38,
97-
TCP_KEEPALIVE_GARBAGE = 39,
98-
99-
/* Application and Service Parameters */
100-
101-
NETWORK_INFORMATION_SERVICE_DOMAIN = 40,
102-
NETWORK_INFORMATION_SERVERS = 41,
103-
NETWORK_TIME_PROTOCOL_SERVERS = 42,
104-
VENDOR_SPECIFIC_INFORMATION = 43,
105-
NETBIOS_OVER_TCP_IP_NAME_SERVER = 44,
106-
NETBIOS_OVER_TCP_IP_DATAGRAM_DISTRIBUTION_SERVER = 45,
107-
NETBIOS_OVER_TCP_IP_NODE_TYPE = 46,
108-
NETBIOS_OVER_TCP_IP_SCOPE = 47,
109-
X_WINDOW_SYSTEM_FONT_SERVER = 48,
110-
X_WINDOW_SYSTEM_DISPLAY_MANAGER = 49,
111-
NETWORK_INFORMATION_SERVICE_PLUS_DOMAIN = 64,
112-
NETWORK_INFORMATION_SERVICE_PLUS_SERVERS = 65,
113-
MOBILE_IP_HOME_AGENT = 68,
114-
SMTP_SERVER = 69,
115-
POP3_SERVER = 70,
116-
NNTP_SERVER = 71,
117-
DEFAULT_WWW_SERVER = 72,
118-
DEFAULT_FINGER_SERVER = 73,
119-
DEFAULT_IRC_SERVER = 74,
120-
STREETTALK_SERVER = 75,
121-
STREETTALK_DIRECTORY_ASSISTANCE_SERVER = 76,
122-
123-
/* DHCP Extensions */
124-
125-
REQUESTED_IP_ADDRESS = 50,
126-
IP_ADDRESS_LEASE_TIME = 51,
127-
OPTION_OVERLOAD = 52,
128-
TFTP_SERVER_NAME = 66,
129-
BOOTFILE_NAME = 67,
130-
DHCP_MESSAGE_TYPE = 53,
131-
SERVER_IDENTIFIER = 54,
132-
PARAMETER_REQUEST_LIST = 55,
133-
MESSAGE = 56,
134-
MAXIMUM_DHCP_MESSAGE_SIZE = 57,
135-
RENEWAL_T1_TIME_VALUE = 58,
136-
REBINDING_T2_TIME_VALUE = 59,
137-
VENDOR_CLASS_IDENTIFIER = 60,
138-
CLIENT_IDENTIFIER = 61,
139-
140-
USER_CLASS = 77,
141-
FQDN = 81,
142-
DHCP_AGENT_OPTIONS = 82,
143-
NDS_SERVERS = 85,
144-
NDS_TREE_NAME = 86,
145-
NDS_CONTEXT = 87,
146-
CLIENT_LAST_TRANSACTION_TIME = 91,
147-
ASSOCIATED_IP = 92,
148-
USER_AUTHENTICATION_PROTOCOL = 98,
149-
AUTO_CONFIGURE = 116,
150-
NAME_SERVICE_SEARCH = 117,
151-
SUBNET_SELECTION = 118,
152-
DOMAIN_SEARCH = 119,
153-
CLASSLESS_ROUTE = 121,
154-
} dhcp_msg_option;
155-
15639
/* Defined in esp_misc.h */
15740
typedef struct {
15841
bool enable;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
// Copyright 2017 Espressif Systems (Shanghai) PTE LTD
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
#pragma once
15+
16+
/** DHCP Options
17+
18+
This macros are not part of the public dhcpserver.h interface.
19+
**/
20+
typedef enum
21+
{
22+
/* RFC 1497 Vendor Extensions */
23+
24+
PAD = 0,
25+
END = 255,
26+
27+
SUBNET_MASK = 1,
28+
TIME_OFFSET = 2,
29+
ROUTER = 3,
30+
TIME_SERVER = 4,
31+
NAME_SERVER = 5,
32+
DOMAIN_NAME_SERVER = 6,
33+
LOG_SERVER = 7,
34+
COOKIE_SERVER = 8,
35+
LPR_SERVER = 9,
36+
IMPRESS_SERVER = 10,
37+
RESOURCE_LOCATION_SERVER = 11,
38+
HOST_NAME = 12,
39+
BOOT_FILE_SIZE = 13,
40+
MERIT_DUMP_FILE = 14,
41+
DOMAIN_NAME = 15,
42+
SWAP_SERVER = 16,
43+
ROOT_PATH = 17,
44+
EXTENSIONS_PATH = 18,
45+
46+
/* IP Layer Parameters per Host */
47+
48+
IP_FORWARDING = 19,
49+
NON_LOCAL_SOURCE_ROUTING = 20,
50+
POLICY_FILTER = 21,
51+
MAXIMUM_DATAGRAM_REASSEMBLY_SIZE = 22,
52+
DEFAULT_IP_TIME_TO_LIVE = 23,
53+
PATH_MTU_AGING_TIMEOUT = 24,
54+
PATH_MTU_PLATEAU_TABLE = 25,
55+
56+
/* IP Layer Parameters per Interface */
57+
58+
INTERFACE_MTU = 26,
59+
ALL_SUBNETS_ARE_LOCAL = 27,
60+
BROADCAST_ADDRESS = 28,
61+
PERFORM_MASK_DISCOVERY = 29,
62+
MASK_SUPPLIER = 30,
63+
PERFORM_ROUTER_DISCOVERY = 31,
64+
ROUTER_SOLICITATION_ADDRESS = 32,
65+
STATIC_ROUTE = 33,
66+
67+
/* Link Layer Parameters per Interface */
68+
69+
TRAILER_ENCAPSULATION = 34,
70+
ARP_CACHE_TIMEOUT = 35,
71+
ETHERNET_ENCAPSULATION = 36,
72+
73+
/* TCP Parameters */
74+
75+
TCP_DEFAULT_TTL = 37,
76+
TCP_KEEPALIVE_INTERVAL = 38,
77+
TCP_KEEPALIVE_GARBAGE = 39,
78+
79+
/* Application and Service Parameters */
80+
81+
NETWORK_INFORMATION_SERVICE_DOMAIN = 40,
82+
NETWORK_INFORMATION_SERVERS = 41,
83+
NETWORK_TIME_PROTOCOL_SERVERS = 42,
84+
VENDOR_SPECIFIC_INFORMATION = 43,
85+
NETBIOS_OVER_TCP_IP_NAME_SERVER = 44,
86+
NETBIOS_OVER_TCP_IP_DATAGRAM_DISTRIBUTION_SERVER = 45,
87+
NETBIOS_OVER_TCP_IP_NODE_TYPE = 46,
88+
NETBIOS_OVER_TCP_IP_SCOPE = 47,
89+
X_WINDOW_SYSTEM_FONT_SERVER = 48,
90+
X_WINDOW_SYSTEM_DISPLAY_MANAGER = 49,
91+
NETWORK_INFORMATION_SERVICE_PLUS_DOMAIN = 64,
92+
NETWORK_INFORMATION_SERVICE_PLUS_SERVERS = 65,
93+
MOBILE_IP_HOME_AGENT = 68,
94+
SMTP_SERVER = 69,
95+
POP3_SERVER = 70,
96+
NNTP_SERVER = 71,
97+
DEFAULT_WWW_SERVER = 72,
98+
DEFAULT_FINGER_SERVER = 73,
99+
DEFAULT_IRC_SERVER = 74,
100+
STREETTALK_SERVER = 75,
101+
STREETTALK_DIRECTORY_ASSISTANCE_SERVER = 76,
102+
103+
/* DHCP Extensions */
104+
105+
REQUESTED_IP_ADDRESS = 50,
106+
IP_ADDRESS_LEASE_TIME = 51,
107+
OPTION_OVERLOAD = 52,
108+
TFTP_SERVER_NAME = 66,
109+
BOOTFILE_NAME = 67,
110+
DHCP_MESSAGE_TYPE = 53,
111+
SERVER_IDENTIFIER = 54,
112+
PARAMETER_REQUEST_LIST = 55,
113+
MESSAGE = 56,
114+
MAXIMUM_DHCP_MESSAGE_SIZE = 57,
115+
RENEWAL_T1_TIME_VALUE = 58,
116+
REBINDING_T2_TIME_VALUE = 59,
117+
VENDOR_CLASS_IDENTIFIER = 60,
118+
CLIENT_IDENTIFIER = 61,
119+
120+
USER_CLASS = 77,
121+
FQDN = 81,
122+
DHCP_AGENT_OPTIONS = 82,
123+
NDS_SERVERS = 85,
124+
NDS_TREE_NAME = 86,
125+
NDS_CONTEXT = 87,
126+
CLIENT_LAST_TRANSACTION_TIME = 91,
127+
ASSOCIATED_IP = 92,
128+
USER_AUTHENTICATION_PROTOCOL = 98,
129+
AUTO_CONFIGURE = 116,
130+
NAME_SERVICE_SEARCH = 117,
131+
SUBNET_SELECTION = 118,
132+
DOMAIN_SEARCH = 119,
133+
CLASSLESS_ROUTE = 121,
134+
} dhcp_msg_option;

0 commit comments

Comments
 (0)