Improve output of show/path

Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
This commit is contained in:
Adrien Gallouët
2018-03-16 21:11:02 +00:00
parent 1698a08b08
commit dabd16e4b4
4 changed files with 31 additions and 24 deletions

2
mud

Submodule mud updated: fd48ff08b9...c6fbe52fbd

View File

@@ -99,6 +99,9 @@ gt_get_port(struct sockaddr *sa)
int
gt_toaddr(char *str, size_t size, struct sockaddr *sa)
{
if (str)
str[0] = 0;
switch (sa->sa_family) {
case AF_INET:
return -!inet_ntop(AF_INET,

View File

@@ -27,17 +27,16 @@ gt_path_status(int fd)
if (!res.ret)
return 0;
char bindstr[INET6_ADDRSTRLEN] = {0};
char publstr[INET6_ADDRSTRLEN] = {0};
char peerstr[INET6_ADDRSTRLEN] = {0};
char bindstr[INET6_ADDRSTRLEN];
char publstr[INET6_ADDRSTRLEN];
char peerstr[INET6_ADDRSTRLEN];
if (gt_toaddr(bindstr, sizeof(bindstr),
(struct sockaddr *)&res.path_status.local_addr) ||
gt_toaddr(publstr, sizeof(publstr),
(struct sockaddr *)&res.path_status.r_addr) ||
gt_toaddr(peerstr, sizeof(peerstr),
(struct sockaddr *)&res.path_status.addr))
return -2;
gt_toaddr(bindstr, sizeof(bindstr),
(struct sockaddr *)&res.path_status.local_addr);
gt_toaddr(publstr, sizeof(publstr),
(struct sockaddr *)&res.path_status.r_addr);
gt_toaddr(peerstr, sizeof(peerstr),
(struct sockaddr *)&res.path_status.addr);
const char *statestr = NULL;
@@ -49,17 +48,20 @@ gt_path_status(int fd)
}
printf("path %s\n"
" bind: %s\n"
" bind: %s port %"PRIu16"\n"
" public: %s port %"PRIu16"\n"
" peer: %s port %"PRIu16"\n"
" mtu: %zu bytes\n"
" rtt: %.3f ms\n",
statestr, bindstr,
publstr, gt_get_port((struct sockaddr *)&res.path_status.r_addr),
peerstr, gt_get_port((struct sockaddr *)&res.path_status.addr),
statestr,
bindstr[0] ? bindstr : "-",
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.rtt/(double)1e3);
} while (res.ret == EAGAIN);
return 0;

View File

@@ -18,12 +18,11 @@ gt_show_dev_status(int fd, const char *dev)
if (ctl_reply(fd, &res, &req))
return -1;
char bindstr[INET6_ADDRSTRLEN] = {0};
char peerstr[INET6_ADDRSTRLEN] = {0};
char bindstr[INET6_ADDRSTRLEN];
char peerstr[INET6_ADDRSTRLEN];
if (gt_toaddr(bindstr, sizeof(bindstr),
(struct sockaddr *)&res.status.bind))
return -2;
gt_toaddr(bindstr, sizeof(bindstr),
(struct sockaddr *)&res.status.bind);
int server = gt_toaddr(peerstr, sizeof(peerstr),
(struct sockaddr *)&res.status.peer);
@@ -34,7 +33,8 @@ gt_show_dev_status(int fd, const char *dev)
" mtu: %zu\n"
" cipher: %s\n",
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.chacha ? "chacha20poly1305" : "aes256gcm");
} else {
@@ -44,8 +44,10 @@ gt_show_dev_status(int fd, const char *dev)
" mtu: %zu\n"
" cipher: %s\n",
dev,
bindstr, gt_get_port((struct sockaddr *)&res.status.bind),
peerstr, gt_get_port((struct sockaddr *)&res.status.peer),
bindstr[0] ? bindstr : "-",
gt_get_port((struct sockaddr *)&res.status.bind),
peerstr[0] ? peerstr : "-",
gt_get_port((struct sockaddr *)&res.status.peer),
res.status.mtu,
res.status.chacha ? "chacha20poly1305" : "aes256gcm");
}