Improve output of show/path
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
This commit is contained in:
2
mud
2
mud
Submodule mud updated: fd48ff08b9...c6fbe52fbd
@@ -99,6 +99,9 @@ gt_get_port(struct sockaddr *sa)
|
|||||||
int
|
int
|
||||||
gt_toaddr(char *str, size_t size, struct sockaddr *sa)
|
gt_toaddr(char *str, size_t size, struct sockaddr *sa)
|
||||||
{
|
{
|
||||||
|
if (str)
|
||||||
|
str[0] = 0;
|
||||||
|
|
||||||
switch (sa->sa_family) {
|
switch (sa->sa_family) {
|
||||||
case AF_INET:
|
case AF_INET:
|
||||||
return -!inet_ntop(AF_INET,
|
return -!inet_ntop(AF_INET,
|
||||||
|
|||||||
32
src/path.c
32
src/path.c
@@ -27,17 +27,16 @@ gt_path_status(int fd)
|
|||||||
if (!res.ret)
|
if (!res.ret)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
char bindstr[INET6_ADDRSTRLEN] = {0};
|
char bindstr[INET6_ADDRSTRLEN];
|
||||||
char publstr[INET6_ADDRSTRLEN] = {0};
|
char publstr[INET6_ADDRSTRLEN];
|
||||||
char peerstr[INET6_ADDRSTRLEN] = {0};
|
char peerstr[INET6_ADDRSTRLEN];
|
||||||
|
|
||||||
if (gt_toaddr(bindstr, sizeof(bindstr),
|
gt_toaddr(bindstr, sizeof(bindstr),
|
||||||
(struct sockaddr *)&res.path_status.local_addr) ||
|
(struct sockaddr *)&res.path_status.local_addr);
|
||||||
gt_toaddr(publstr, sizeof(publstr),
|
gt_toaddr(publstr, sizeof(publstr),
|
||||||
(struct sockaddr *)&res.path_status.r_addr) ||
|
(struct sockaddr *)&res.path_status.r_addr);
|
||||||
gt_toaddr(peerstr, sizeof(peerstr),
|
gt_toaddr(peerstr, sizeof(peerstr),
|
||||||
(struct sockaddr *)&res.path_status.addr))
|
(struct sockaddr *)&res.path_status.addr);
|
||||||
return -2;
|
|
||||||
|
|
||||||
const char *statestr = NULL;
|
const char *statestr = NULL;
|
||||||
|
|
||||||
@@ -49,17 +48,20 @@ gt_path_status(int fd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
printf("path %s\n"
|
printf("path %s\n"
|
||||||
" bind: %s\n"
|
" bind: %s port %"PRIu16"\n"
|
||||||
" public: %s port %"PRIu16"\n"
|
" public: %s port %"PRIu16"\n"
|
||||||
" peer: %s port %"PRIu16"\n"
|
" peer: %s port %"PRIu16"\n"
|
||||||
" mtu: %zu bytes\n"
|
" mtu: %zu bytes\n"
|
||||||
" rtt: %.3f ms\n",
|
" rtt: %.3f ms\n",
|
||||||
statestr, bindstr,
|
statestr,
|
||||||
publstr, gt_get_port((struct sockaddr *)&res.path_status.r_addr),
|
bindstr[0] ? bindstr : "-",
|
||||||
peerstr, gt_get_port((struct sockaddr *)&res.path_status.addr),
|
gt_get_port((struct sockaddr *)&res.path_status.local_addr),
|
||||||
|
publstr[0] ? publstr : "-",
|
||||||
|
gt_get_port((struct sockaddr *)&res.path_status.r_addr),
|
||||||
|
peerstr[0] ? peerstr : "-",
|
||||||
|
gt_get_port((struct sockaddr *)&res.path_status.addr),
|
||||||
res.path_status.mtu.ok + 28U, /* ip+udp hdr */
|
res.path_status.mtu.ok + 28U, /* ip+udp hdr */
|
||||||
res.path_status.rtt/(double)1e3);
|
res.path_status.rtt/(double)1e3);
|
||||||
|
|
||||||
} while (res.ret == EAGAIN);
|
} while (res.ret == EAGAIN);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
18
src/show.c
18
src/show.c
@@ -18,12 +18,11 @@ gt_show_dev_status(int fd, const char *dev)
|
|||||||
if (ctl_reply(fd, &res, &req))
|
if (ctl_reply(fd, &res, &req))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
char bindstr[INET6_ADDRSTRLEN] = {0};
|
char bindstr[INET6_ADDRSTRLEN];
|
||||||
char peerstr[INET6_ADDRSTRLEN] = {0};
|
char peerstr[INET6_ADDRSTRLEN];
|
||||||
|
|
||||||
if (gt_toaddr(bindstr, sizeof(bindstr),
|
gt_toaddr(bindstr, sizeof(bindstr),
|
||||||
(struct sockaddr *)&res.status.bind))
|
(struct sockaddr *)&res.status.bind);
|
||||||
return -2;
|
|
||||||
|
|
||||||
int server = gt_toaddr(peerstr, sizeof(peerstr),
|
int server = gt_toaddr(peerstr, sizeof(peerstr),
|
||||||
(struct sockaddr *)&res.status.peer);
|
(struct sockaddr *)&res.status.peer);
|
||||||
@@ -34,7 +33,8 @@ gt_show_dev_status(int fd, const char *dev)
|
|||||||
" mtu: %zu\n"
|
" mtu: %zu\n"
|
||||||
" cipher: %s\n",
|
" cipher: %s\n",
|
||||||
dev,
|
dev,
|
||||||
bindstr, gt_get_port((struct sockaddr *)&res.status.bind),
|
bindstr[0] ? bindstr : "-",
|
||||||
|
gt_get_port((struct sockaddr *)&res.status.bind),
|
||||||
res.status.mtu,
|
res.status.mtu,
|
||||||
res.status.chacha ? "chacha20poly1305" : "aes256gcm");
|
res.status.chacha ? "chacha20poly1305" : "aes256gcm");
|
||||||
} else {
|
} else {
|
||||||
@@ -44,8 +44,10 @@ gt_show_dev_status(int fd, const char *dev)
|
|||||||
" mtu: %zu\n"
|
" mtu: %zu\n"
|
||||||
" cipher: %s\n",
|
" cipher: %s\n",
|
||||||
dev,
|
dev,
|
||||||
bindstr, gt_get_port((struct sockaddr *)&res.status.bind),
|
bindstr[0] ? bindstr : "-",
|
||||||
peerstr, gt_get_port((struct sockaddr *)&res.status.peer),
|
gt_get_port((struct sockaddr *)&res.status.bind),
|
||||||
|
peerstr[0] ? peerstr : "-",
|
||||||
|
gt_get_port((struct sockaddr *)&res.status.peer),
|
||||||
res.status.mtu,
|
res.status.mtu,
|
||||||
res.status.chacha ? "chacha20poly1305" : "aes256gcm");
|
res.status.chacha ? "chacha20poly1305" : "aes256gcm");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user