@@ -149,11 +149,11 @@ static void prepare_packet_socket(int *sock, struct net_if *iface, int type,
149
149
struct user_data {
150
150
struct net_if * first ;
151
151
struct net_if * second ;
152
- };
152
+ } ud ;
153
153
154
154
static void iface_cb (struct net_if * iface , void * user_data )
155
155
{
156
- struct user_data * ud = user_data ;
156
+ struct user_data * test_data = user_data ;
157
157
struct net_linkaddr * link_addr ;
158
158
159
159
if (net_if_l2 (iface ) != & NET_L2_GET_NAME (ETHERNET )) {
@@ -166,12 +166,12 @@ static void iface_cb(struct net_if *iface, void *user_data)
166
166
return ;
167
167
}
168
168
169
- if (ud -> first == NULL ) {
170
- ud -> first = iface ;
169
+ if (test_data -> first == NULL ) {
170
+ test_data -> first = iface ;
171
171
return ;
172
172
}
173
173
174
- ud -> second = iface ;
174
+ test_data -> second = iface ;
175
175
}
176
176
177
177
#define SRC_PORT 4240
@@ -200,19 +200,6 @@ static void prepare_udp_socket(int *sock, struct sockaddr_in *sockaddr, uint16_t
200
200
zassert_ok (ret , "setsockopt failed (%d)" , errno );
201
201
}
202
202
203
- static void __test_packet_sockets (int * sock1 , int * sock2 )
204
- {
205
- struct user_data ud = { 0 };
206
-
207
- net_if_foreach (iface_cb , & ud );
208
-
209
- zassert_not_null (ud .first , "1st Ethernet interface not found" );
210
- zassert_not_null (ud .second , "2nd Ethernet interface not found" );
211
-
212
- prepare_packet_socket (sock1 , ud .first , SOCK_RAW , htons (ETH_P_ALL ));
213
- prepare_packet_socket (sock2 , ud .second , SOCK_RAW , htons (ETH_P_ALL ));
214
- }
215
-
216
203
#define IP_HDR_SIZE 20
217
204
#define UDP_HDR_SIZE 8
218
205
#define HDR_SIZE (IP_HDR_SIZE + UDP_HDR_SIZE)
@@ -226,7 +213,8 @@ ZTEST(socket_packet, test_raw_packet_sockets)
226
213
socklen_t addrlen ;
227
214
ssize_t sent = 0 ;
228
215
229
- __test_packet_sockets (& packet_sock_1 , & packet_sock_2 );
216
+ prepare_packet_socket (& packet_sock_1 , ud .first , SOCK_RAW , htons (ETH_P_ALL ));
217
+ prepare_packet_socket (& packet_sock_2 , ud .second , SOCK_RAW , htons (ETH_P_ALL ));
230
218
231
219
/* Prepare UDP socket which will read data */
232
220
prepare_udp_socket (& udp_sock_1 , & sockaddr , DST_PORT );
@@ -278,23 +266,18 @@ ZTEST(socket_packet, test_raw_packet_sockets)
278
266
279
267
ZTEST (socket_packet , test_packet_sockets )
280
268
{
281
- __test_packet_sockets (& packet_sock_1 , & packet_sock_2 );
269
+ prepare_packet_socket (& packet_sock_1 , ud .first , SOCK_RAW , htons (ETH_P_ALL ));
270
+ prepare_packet_socket (& packet_sock_2 , ud .second , SOCK_RAW , htons (ETH_P_ALL ));
282
271
}
283
272
284
273
ZTEST (socket_packet , test_packet_sockets_dgram )
285
274
{
286
275
uint8_t data_to_send [] = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 };
287
276
uint8_t data_to_receive [32 ];
288
277
socklen_t addrlen = sizeof (struct sockaddr_ll );
289
- struct user_data ud = { 0 };
290
278
struct sockaddr_ll dst , src ;
291
279
int ret ;
292
280
293
- net_if_foreach (iface_cb , & ud );
294
-
295
- zassert_not_null (ud .first , "1st Ethernet interface not found" );
296
- zassert_not_null (ud .second , "2nd Ethernet interface not found" );
297
-
298
281
prepare_packet_socket (& packet_sock_1 , ud .first , SOCK_DGRAM , htons (ETH_P_TSN ));
299
282
prepare_packet_socket (& packet_sock_2 , ud .second , SOCK_DGRAM , htons (ETH_P_TSN ));
300
283
@@ -412,7 +395,6 @@ ZTEST(socket_packet, test_raw_and_dgram_socket_exchange)
412
395
uint8_t data_to_send [] = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 };
413
396
uint8_t data_to_receive [32 ];
414
397
socklen_t addrlen = sizeof (struct sockaddr_ll );
415
- struct user_data ud = { 0 };
416
398
struct sockaddr_ll dst , src ;
417
399
int ret ;
418
400
const uint8_t expected_payload_raw [] = {
@@ -428,12 +410,6 @@ ZTEST(socket_packet, test_raw_and_dgram_socket_exchange)
428
410
0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 /* Payload */
429
411
};
430
412
431
-
432
- net_if_foreach (iface_cb , & ud );
433
-
434
- zassert_not_null (ud .first , "1st Ethernet interface not found" );
435
- zassert_not_null (ud .second , "2nd Ethernet interface not found" );
436
-
437
413
prepare_packet_socket (& packet_sock_1 , ud .first , SOCK_DGRAM , htons (ETH_P_ALL ));
438
414
prepare_packet_socket (& packet_sock_2 , ud .second , SOCK_RAW , htons (ETH_P_ALL ));
439
415
@@ -488,7 +464,6 @@ ZTEST(socket_packet, test_raw_and_dgram_socket_recv)
488
464
uint8_t data_to_send [] = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 };
489
465
uint8_t data_to_receive [32 ];
490
466
socklen_t addrlen = sizeof (struct sockaddr_ll );
491
- struct user_data ud = { 0 };
492
467
struct sockaddr_ll dst , src ;
493
468
int ret ;
494
469
const uint8_t expected_payload_raw [] = {
@@ -498,11 +473,6 @@ ZTEST(socket_packet, test_raw_and_dgram_socket_recv)
498
473
0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 /* Payload */
499
474
};
500
475
501
- net_if_foreach (iface_cb , & ud );
502
-
503
- zassert_not_null (ud .first , "1st Ethernet interface not found" );
504
- zassert_not_null (ud .second , "2nd Ethernet interface not found" );
505
-
506
476
prepare_packet_socket (& packet_sock_1 , ud .first , SOCK_DGRAM , htons (ETH_P_ALL ));
507
477
prepare_packet_socket (& packet_sock_2 , ud .second , SOCK_RAW , htons (ETH_P_ALL ));
508
478
prepare_packet_socket (& packet_sock_3 , ud .second , SOCK_RAW , htons (ETH_P_ALL ));
@@ -577,4 +547,14 @@ static void test_after(void *arg)
577
547
test_sockets_close ();
578
548
}
579
549
580
- ZTEST_SUITE (socket_packet , NULL , NULL , NULL , test_after , NULL );
550
+ static void * test_setup (void )
551
+ {
552
+ net_if_foreach (iface_cb , & ud );
553
+
554
+ zassert_not_null (ud .first , "1st Ethernet interface not found" );
555
+ zassert_not_null (ud .second , "2nd Ethernet interface not found" );
556
+
557
+ return NULL ;
558
+ }
559
+
560
+ ZTEST_SUITE (socket_packet , NULL , test_setup , NULL , test_after , NULL );
0 commit comments