diff --git a/mud b/mud index c6fbe52..c63c94d 160000 --- a/mud +++ b/mud @@ -1 +1 @@ -Subproject commit c6fbe52fbd4cdeb30c866ad17664ef6379c010fd +Subproject commit c63c94d7c84de79ecf5a0bccce131f2890230daf diff --git a/src/bind.c b/src/bind.c index 0bf6c41..4bbd339 100644 --- a/src/bind.c +++ b/src/bind.c @@ -114,7 +114,6 @@ gt_bind(int argc, char **argv) const char *dev = NULL; const char *keyfile = NULL; size_t bufsize = 64 * 1024 * 1024; - size_t mtu = 1330; struct argz toz[] = { {NULL, "IPADDR", &peer_addr, argz_addr}, @@ -126,7 +125,6 @@ gt_bind(int argc, char **argv) {NULL, "PORT", &bind_port, argz_ushort}, {"to", NULL, &toz, argz_option}, {"dev", "NAME", &dev, argz_str}, - {"mtu", "BYTES", &mtu, argz_bytes}, {"keyfile", "FILE", &keyfile, argz_str}, {"chacha", NULL, NULL, argz_option}, {"persist", NULL, NULL, argz_option}, @@ -179,8 +177,7 @@ gt_bind(int argc, char **argv) return 1; } - mud_set_mtu(mud, mtu); - mtu = gt_setup_mtu(mud, tun_name); + size_t mtu = gt_setup_mtu(mud, tun_name); if (tun_set_persist(tun_fd, persist) == -1) perror("tun_set_persist"); @@ -312,11 +309,8 @@ gt_bind(int argc, char **argv) perror("tun_read"); } else if ((!ip_get_common(&ic, buf, r)) && (mud_send(mud, buf, r, ic.tc) == -1)) { - if (errno == EMSGSIZE) { - mtu = gt_setup_mtu(mud, tun_name); - } else if (errno != EAGAIN) { + if (errno != EAGAIN) perror("mud_send"); - } } } diff --git a/src/path.c b/src/path.c index c9fbfc0..9cdb404 100644 --- a/src/path.c +++ b/src/path.c @@ -60,7 +60,7 @@ gt_path_status(int fd) 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, res.path_status.rtt/(double)1e3); } while (res.ret == EAGAIN);