Try to get all packets from mud
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
This commit is contained in:
@@ -315,11 +315,18 @@ gt_bind(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (FD_ISSET(mud_fd, &rfds)) {
|
if (FD_ISSET(mud_fd, &rfds)) {
|
||||||
|
int n = 1000;
|
||||||
|
|
||||||
|
while (n--) {
|
||||||
const int r = mud_recv(mud, buf, sizeof(buf));
|
const int r = mud_recv(mud, buf, sizeof(buf));
|
||||||
|
|
||||||
if (r > 0 && ip_is_valid(buf, r))
|
if (r <= 0)
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (ip_is_valid(buf, r))
|
||||||
tun_write(tun_fd, buf, (size_t)r);
|
tun_write(tun_fd, buf, (size_t)r);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (FD_ISSET(tun_fd, &rfds) && !mud_send_wait(mud)) {
|
if (FD_ISSET(tun_fd, &rfds) && !mud_send_wait(mud)) {
|
||||||
struct ip_common ic;
|
struct ip_common ic;
|
||||||
|
|||||||
Reference in New Issue
Block a user