@@ -391,59 +391,99 @@ static char *get_l3_desc(struct event_msg *msg,
391
391
return info ;
392
392
}
393
393
394
- static const char * get_l4_desc ( uint32_t event )
394
+ static char * sockaddr_ntop ( const struct sockaddr * addr , char * dst , size_t size )
395
395
{
396
- static const char * desc = unknown_event_str ;
396
+ if (addr -> sa_family == AF_INET ) {
397
+ return net_addr_ntop (AF_INET , & net_sin (addr )-> sin_addr , dst , size );
398
+ } else if (addr -> sa_family == AF_INET6 ) {
399
+ return net_addr_ntop (AF_INET6 , & net_sin6 (addr )-> sin6_addr , dst , size );
400
+ }
401
+
402
+ return NULL ;
403
+ }
404
+
405
+ static char * get_l4_desc (struct event_msg * msg ,
406
+ const char * * desc , const char * * desc2 ,
407
+ char * extra_info , size_t extra_info_len )
408
+ {
409
+ static const char * desc_unknown = unknown_event_str ;
410
+ char * info = NULL ;
397
411
398
- switch (event ) {
412
+ * desc = desc_unknown ;
413
+
414
+ switch (msg -> event ) {
399
415
case NET_EVENT_L4_CONNECTED :
400
- desc = "connected" ;
416
+ * desc = "connected" ;
401
417
break ;
402
418
case NET_EVENT_L4_DISCONNECTED :
403
- desc = "disconnected" ;
419
+ * desc = "disconnected" ;
404
420
break ;
405
421
case NET_EVENT_L4_IPV4_CONNECTED :
406
- desc = "IPv4 connectivity available" ;
422
+ * desc = "IPv4 connectivity" ;
423
+ * desc2 = "available" ;
407
424
break ;
408
425
case NET_EVENT_L4_IPV4_DISCONNECTED :
409
- desc = "IPv4 connectivity lost" ;
426
+ * desc = "IPv4 connectivity" ;
427
+ * desc2 = "lost" ;
410
428
break ;
411
429
case NET_EVENT_L4_IPV6_CONNECTED :
412
- desc = "IPv6 connectivity available" ;
430
+ * desc = "IPv6 connectivity" ;
431
+ * desc2 = "available" ;
413
432
break ;
414
433
case NET_EVENT_L4_IPV6_DISCONNECTED :
415
- desc = "IPv6 connectivity lost" ;
434
+ * desc = "IPv6 connectivity" ;
435
+ * desc2 = "lost" ;
416
436
break ;
417
- case NET_EVENT_DNS_SERVER_ADD :
418
- desc = "DNS server add" ;
437
+ case NET_EVENT_DNS_SERVER_ADD : {
438
+ struct sockaddr * addr = (struct sockaddr * )msg -> data ;
439
+
440
+ * desc = "DNS server" ;
441
+ * desc2 = "add" ;
442
+
443
+ info = sockaddr_ntop (addr , extra_info , extra_info_len );
444
+
419
445
break ;
420
- case NET_EVENT_DNS_SERVER_DEL :
421
- desc = "DNS server del" ;
446
+ }
447
+ case NET_EVENT_DNS_SERVER_DEL : {
448
+ struct sockaddr * addr = (struct sockaddr * )msg -> data ;
449
+
450
+ * desc = "DNS server" ;
451
+ * desc2 = "del" ;
452
+
453
+ info = sockaddr_ntop (addr , extra_info , extra_info_len );
454
+
422
455
break ;
456
+ }
423
457
case NET_EVENT_HOSTNAME_CHANGED :
424
- desc = "Hostname changed" ;
458
+ * desc = "Hostname changed" ;
425
459
break ;
426
460
case NET_EVENT_COAP_SERVICE_STARTED :
427
- desc = "CoAP service started" ;
461
+ * desc = "CoAP service" ;
462
+ * desc2 = "started" ;
428
463
break ;
429
464
case NET_EVENT_COAP_SERVICE_STOPPED :
430
- desc = "CoAP service stopped" ;
465
+ * desc = "CoAP service" ;
466
+ * desc2 = "stopped" ;
431
467
break ;
432
468
case NET_EVENT_COAP_OBSERVER_ADDED :
433
- desc = "CoAP observer added" ;
469
+ * desc = "CoAP observer" ;
470
+ * desc2 = "added" ;
434
471
break ;
435
472
case NET_EVENT_COAP_OBSERVER_REMOVED :
436
- desc = "CoAP observer removed" ;
473
+ * desc = "CoAP observer" ;
474
+ * desc2 = "removed" ;
437
475
break ;
438
476
case NET_EVENT_CAPTURE_STARTED :
439
- desc = "Capture started" ;
477
+ * desc = "Capture" ;
478
+ * desc2 = "started" ;
440
479
break ;
441
480
case NET_EVENT_CAPTURE_STOPPED :
442
- desc = "Capture stopped" ;
481
+ * desc = "Capture" ;
482
+ * desc2 = "stopped" ;
443
483
break ;
444
484
}
445
485
446
- return desc ;
486
+ return info ;
447
487
}
448
488
449
489
/* We use a separate thread in order not to do any shell printing from
@@ -502,7 +542,8 @@ static void event_mon_handler(const struct shell *sh, void *p2, void *p3)
502
542
extra_info , NET_IPV6_ADDR_LEN );
503
543
} else if (layer == NET_MGMT_LAYER_L4 ) {
504
544
layer_str = "L4" ;
505
- desc = get_l4_desc (msg .event );
545
+ info = get_l4_desc (& msg , & desc , & desc2 ,
546
+ extra_info , NET_IPV6_ADDR_LEN );
506
547
}
507
548
508
549
if (desc == unknown_event_str ) {
0 commit comments