Changeset View
Changeset View
Standalone View
Standalone View
tests/sys/net/routing/rtsock_print.h
Show First 20 Lines • Show All 253 Lines • ▼ Show 20 Lines | rtsock_print_rtm(struct rt_msghdr *rtm) | ||||
printf("Got message of size %hu on %s\n", rtm->rtm_msglen, buf); | printf("Got message of size %hu on %s\n", rtm->rtm_msglen, buf); | ||||
char flags_buf[256]; | char flags_buf[256]; | ||||
_printb(flags_buf, sizeof(flags_buf), rtm->rtm_flags, routeflags); | _printb(flags_buf, sizeof(flags_buf), rtm->rtm_flags, routeflags); | ||||
printf("%s: len %hu, pid: %d, seq %d, errno %d, flags: %s\n", msgtypes[rtm->rtm_type], | printf("%s: len %hu, pid: %d, seq %d, errno %d, flags: %s\n", msgtypes[rtm->rtm_type], | ||||
rtm->rtm_msglen, rtm->rtm_pid, rtm->rtm_seq, rtm->rtm_errno, flags_buf); | rtm->rtm_msglen, rtm->rtm_pid, rtm->rtm_seq, rtm->rtm_errno, flags_buf); | ||||
if (rtm->rtm_inits > 0) { | |||||
_printb(flags_buf, sizeof(flags_buf), rtm->rtm_inits, metricnames); | |||||
printf("metrics: %s\n", flags_buf); | |||||
if (rtm->rtm_inits & RTV_MTU) | |||||
printf("mtu: %lu\n", rtm->rtm_rmx.rmx_mtu); | |||||
if (rtm->rtm_inits & RTV_EXPIRE) { | |||||
struct timeval tv; | |||||
gettimeofday(&tv, NULL); | |||||
printf("expire: %d (%lu raw)\n", | |||||
(int)(rtm->rtm_rmx.rmx_expire - tv.tv_sec), rtm->rtm_rmx.rmx_expire); | |||||
} | |||||
} | |||||
_printb(flags_buf, sizeof(flags_buf), rtm->rtm_addrs, addrnames); | _printb(flags_buf, sizeof(flags_buf), rtm->rtm_addrs, addrnames); | ||||
printf("sockaddrs: 0x%X %s\n", rtm->rtm_addrs, flags_buf); | printf("sockaddrs: 0x%X %s\n", rtm->rtm_addrs, flags_buf); | ||||
char *ptr = (char *)(rtm + 1); | char *ptr = (char *)(rtm + 1); | ||||
for (int i = 0; i < RTAX_MAX; i++) { | for (int i = 0; i < RTAX_MAX; i++) { | ||||
if (rtm->rtm_addrs & (1 << i)) { | if (rtm->rtm_addrs & (1 << i)) { | ||||
struct sockaddr *sa = (struct sockaddr *)ptr; | struct sockaddr *sa = (struct sockaddr *)ptr; | ||||
sa_print(sa, 1); | sa_print(sa, 1); | ||||
Show All 11 Lines |