@@ -42,16 +42,6 @@ static int ipcp_add_ip_address(struct ppp_context *ctx, struct net_pkt *pkt)
42
42
return ipcp_add_address (ctx , pkt , & ctx -> ipcp .my_options .address );
43
43
}
44
44
45
- static int ipcp_add_dns1 (struct ppp_context * ctx , struct net_pkt * pkt )
46
- {
47
- return ipcp_add_address (ctx , pkt , & ctx -> ipcp .my_options .dns1_address );
48
- }
49
-
50
- static int ipcp_add_dns2 (struct ppp_context * ctx , struct net_pkt * pkt )
51
- {
52
- return ipcp_add_address (ctx , pkt , & ctx -> ipcp .my_options .dns2_address );
53
- }
54
-
55
45
static int ipcp_ack_check_address (struct net_pkt * pkt , size_t oplen ,
56
46
struct in_addr * addr )
57
47
{
@@ -81,20 +71,6 @@ static int ipcp_ack_ip_address(struct ppp_context *ctx, struct net_pkt *pkt,
81
71
& ctx -> ipcp .my_options .address );
82
72
}
83
73
84
- static int ipcp_ack_dns1 (struct ppp_context * ctx , struct net_pkt * pkt ,
85
- uint8_t oplen )
86
- {
87
- return ipcp_ack_check_address (pkt , oplen ,
88
- & ctx -> ipcp .my_options .dns1_address );
89
- }
90
-
91
- static int ipcp_ack_dns2 (struct ppp_context * ctx , struct net_pkt * pkt ,
92
- uint8_t oplen )
93
- {
94
- return ipcp_ack_check_address (pkt , oplen ,
95
- & ctx -> ipcp .my_options .dns2_address );
96
- }
97
-
98
74
static int ipcp_nak_override_address (struct net_pkt * pkt , size_t oplen ,
99
75
struct in_addr * addr )
100
76
{
@@ -112,6 +88,31 @@ static int ipcp_nak_ip_address(struct ppp_context *ctx, struct net_pkt *pkt,
112
88
& ctx -> ipcp .my_options .address );
113
89
}
114
90
91
+ #if defined(CONFIG_NET_L2_PPP_OPTION_DNS_USE )
92
+ static int ipcp_add_dns1 (struct ppp_context * ctx , struct net_pkt * pkt )
93
+ {
94
+ return ipcp_add_address (ctx , pkt , & ctx -> ipcp .my_options .dns1_address );
95
+ }
96
+
97
+ static int ipcp_add_dns2 (struct ppp_context * ctx , struct net_pkt * pkt )
98
+ {
99
+ return ipcp_add_address (ctx , pkt , & ctx -> ipcp .my_options .dns2_address );
100
+ }
101
+
102
+ static int ipcp_ack_dns1 (struct ppp_context * ctx , struct net_pkt * pkt ,
103
+ uint8_t oplen )
104
+ {
105
+ return ipcp_ack_check_address (pkt , oplen ,
106
+ & ctx -> ipcp .my_options .dns1_address );
107
+ }
108
+
109
+ static int ipcp_ack_dns2 (struct ppp_context * ctx , struct net_pkt * pkt ,
110
+ uint8_t oplen )
111
+ {
112
+ return ipcp_ack_check_address (pkt , oplen ,
113
+ & ctx -> ipcp .my_options .dns2_address );
114
+ }
115
+
115
116
static int ipcp_nak_dns1 (struct ppp_context * ctx , struct net_pkt * pkt ,
116
117
uint8_t oplen )
117
118
{
@@ -125,21 +126,24 @@ static int ipcp_nak_dns2(struct ppp_context *ctx, struct net_pkt *pkt,
125
126
return ipcp_nak_override_address (pkt , oplen ,
126
127
& ctx -> ipcp .my_options .dns2_address );
127
128
}
129
+ #endif /* CONFIG_NET_L2_PPP_OPTION_DNS_USE */
128
130
129
131
static const struct ppp_my_option_info ipcp_my_options [] = {
130
132
PPP_MY_OPTION (IPCP_OPTION_IP_ADDRESS , ipcp_add_ip_address ,
131
133
ipcp_ack_ip_address , ipcp_nak_ip_address ),
134
+ #if defined(CONFIG_NET_L2_PPP_OPTION_DNS_USE )
132
135
PPP_MY_OPTION (IPCP_OPTION_DNS1 , ipcp_add_dns1 ,
133
136
ipcp_ack_dns1 , ipcp_nak_dns1 ),
134
137
PPP_MY_OPTION (IPCP_OPTION_DNS2 , ipcp_add_dns2 ,
135
138
ipcp_ack_dns2 , ipcp_nak_dns2 ),
139
+ #endif
136
140
};
137
141
138
142
BUILD_ASSERT (ARRAY_SIZE (ipcp_my_options ) == IPCP_NUM_MY_OPTIONS );
139
143
140
144
static struct net_pkt * ipcp_config_info_add (struct ppp_fsm * fsm )
141
145
{
142
- return ppp_my_options_add (fsm , 3 * IP_ADDRESS_OPTION_LEN );
146
+ return ppp_my_options_add (fsm , IPCP_NUM_MY_OPTIONS * IP_ADDRESS_OPTION_LEN );
143
147
}
144
148
145
149
struct ipcp_peer_option_data {
@@ -216,7 +220,7 @@ static int ipcp_server_nak_ip_address(struct ppp_fsm *fsm,
216
220
struct ppp_context * ctx =
217
221
CONTAINER_OF (fsm , struct ppp_context , ipcp .fsm );
218
222
219
- (void )net_pkt_write_u8 (ret_pkt , IPCP_OPTION_IP_ADDRESS );
223
+ (void ) net_pkt_write_u8 (ret_pkt , IPCP_OPTION_IP_ADDRESS );
220
224
ipcp_add_ip_address (ctx , ret_pkt );
221
225
222
226
return 0 ;
@@ -231,8 +235,8 @@ static int ipcp_server_nak_dns1_address(struct ppp_fsm *fsm,
231
235
struct ppp_context * ctx =
232
236
CONTAINER_OF (fsm , struct ppp_context , ipcp .fsm );
233
237
234
- (void )net_pkt_write_u8 (ret_pkt , IPCP_OPTION_DNS1 );
235
- ipcp_add_dns1 ( ctx , ret_pkt );
238
+ (void ) net_pkt_write_u8 (ret_pkt , IPCP_OPTION_DNS1 );
239
+ ( void ) ipcp_add_address ( ctx , ret_pkt , & ctx -> ipcp . peer_options . dns1_address );
236
240
237
241
return 0 ;
238
242
}
@@ -244,8 +248,8 @@ static int ipcp_server_nak_dns2_address(struct ppp_fsm *fsm,
244
248
struct ppp_context * ctx =
245
249
CONTAINER_OF (fsm , struct ppp_context , ipcp .fsm );
246
250
247
- (void )net_pkt_write_u8 (ret_pkt , IPCP_OPTION_DNS2 );
248
- ipcp_add_dns2 ( ctx , ret_pkt );
251
+ (void ) net_pkt_write_u8 (ret_pkt , IPCP_OPTION_DNS2 );
252
+ ( void ) ipcp_add_address ( ctx , ret_pkt , & ctx -> ipcp . peer_options . dns2_address );
249
253
250
254
return 0 ;
251
255
}
@@ -433,7 +437,7 @@ static void ipcp_down(struct ppp_fsm *fsm)
433
437
434
438
/* Ensure address is always removed if it exists */
435
439
if (ctx -> ipcp .my_options .address .s_addr ) {
436
- (void )net_if_ipv4_addr_rm (
440
+ (void ) net_if_ipv4_addr_rm (
437
441
ctx -> iface , & ctx -> ipcp .my_options .address );
438
442
}
439
443
memset (& ctx -> ipcp .my_options .address , 0 ,
0 commit comments