Skip to content

Commit 4195130

Browse files
jukkarkartben
authored andcommitted
net: shell: events: Print more details for L4 events
Print IP address information for L4 DNS server add and remove events. Signed-off-by: Jukka Rissanen <[email protected]>
1 parent 6edcf44 commit 4195130

File tree

1 file changed

+63
-22
lines changed

1 file changed

+63
-22
lines changed

subsys/net/lib/shell/events.c

Lines changed: 63 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -391,59 +391,99 @@ static char *get_l3_desc(struct event_msg *msg,
391391
return info;
392392
}
393393

394-
static const char *get_l4_desc(uint32_t event)
394+
static char *sockaddr_ntop(const struct sockaddr *addr, char *dst, size_t size)
395395
{
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;
397411

398-
switch (event) {
412+
*desc = desc_unknown;
413+
414+
switch (msg->event) {
399415
case NET_EVENT_L4_CONNECTED:
400-
desc = "connected";
416+
*desc = "connected";
401417
break;
402418
case NET_EVENT_L4_DISCONNECTED:
403-
desc = "disconnected";
419+
*desc = "disconnected";
404420
break;
405421
case NET_EVENT_L4_IPV4_CONNECTED:
406-
desc = "IPv4 connectivity available";
422+
*desc = "IPv4 connectivity";
423+
*desc2 = "available";
407424
break;
408425
case NET_EVENT_L4_IPV4_DISCONNECTED:
409-
desc = "IPv4 connectivity lost";
426+
*desc = "IPv4 connectivity";
427+
*desc2 = "lost";
410428
break;
411429
case NET_EVENT_L4_IPV6_CONNECTED:
412-
desc = "IPv6 connectivity available";
430+
*desc = "IPv6 connectivity";
431+
*desc2 = "available";
413432
break;
414433
case NET_EVENT_L4_IPV6_DISCONNECTED:
415-
desc = "IPv6 connectivity lost";
434+
*desc = "IPv6 connectivity";
435+
*desc2 = "lost";
416436
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+
419445
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+
422455
break;
456+
}
423457
case NET_EVENT_HOSTNAME_CHANGED:
424-
desc = "Hostname changed";
458+
*desc = "Hostname changed";
425459
break;
426460
case NET_EVENT_COAP_SERVICE_STARTED:
427-
desc = "CoAP service started";
461+
*desc = "CoAP service";
462+
*desc2 = "started";
428463
break;
429464
case NET_EVENT_COAP_SERVICE_STOPPED:
430-
desc = "CoAP service stopped";
465+
*desc = "CoAP service";
466+
*desc2 = "stopped";
431467
break;
432468
case NET_EVENT_COAP_OBSERVER_ADDED:
433-
desc = "CoAP observer added";
469+
*desc = "CoAP observer";
470+
*desc2 = "added";
434471
break;
435472
case NET_EVENT_COAP_OBSERVER_REMOVED:
436-
desc = "CoAP observer removed";
473+
*desc = "CoAP observer";
474+
*desc2 = "removed";
437475
break;
438476
case NET_EVENT_CAPTURE_STARTED:
439-
desc = "Capture started";
477+
*desc = "Capture";
478+
*desc2 = "started";
440479
break;
441480
case NET_EVENT_CAPTURE_STOPPED:
442-
desc = "Capture stopped";
481+
*desc = "Capture";
482+
*desc2 = "stopped";
443483
break;
444484
}
445485

446-
return desc;
486+
return info;
447487
}
448488

449489
/* 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)
502542
extra_info, NET_IPV6_ADDR_LEN);
503543
} else if (layer == NET_MGMT_LAYER_L4) {
504544
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);
506547
}
507548

508549
if (desc == unknown_event_str) {

0 commit comments

Comments
 (0)