Improve output of show/path
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
This commit is contained in:
@@ -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,
|
||||
|
||||
32
src/path.c
32
src/path.c
@@ -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;
|
||||
|
||||
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))
|
||||
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");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user