Index: uml-utilities-20040406/uml_net/tuntap.c =================================================================== --- uml-utilities-20040406.orig/uml_net/tuntap.c +++ uml-utilities-20040406/uml_net/tuntap.c @@ -44,7 +44,7 @@ return(-1); } memset(ifr, 0, sizeof(*ifr)); - ifr->ifr_flags = IFF_TAP | IFF_NO_PI; + ifr->ifr_flags = IFF_TAP | IFF_NO_PI | IFF_ONE_QUEUE; ifr->ifr_name[0] = '\0'; if(ioctl(tap_fd, TUNSETIFF, (void *) ifr) < 0){ output_errno(output, "TUNSETIFF : "); Index: uml-utilities-20040406/tunctl/tunctl.c =================================================================== --- uml-utilities-20040406.orig/tunctl/tunctl.c +++ uml-utilities-20040406/tunctl/tunctl.c @@ -81,7 +81,7 @@ memset(&ifr, 0, sizeof(ifr)); - ifr.ifr_flags = IFF_TAP | IFF_NO_PI; + ifr.ifr_flags = IFF_TAP | IFF_NO_PI | IFF_ONE_QUEUE; strncpy(ifr.ifr_name, tun, sizeof(ifr.ifr_name) - 1); if(ioctl(tap_fd, TUNSETIFF, (void *) &ifr) < 0){ perror("TUNSETIFF"); Index: uml-utilities-20040406/uml_router/tuntap.c =================================================================== --- uml-utilities-20040406.orig/uml_router/tuntap.c +++ uml-utilities-20040406/uml_router/tuntap.c @@ -28,7 +28,7 @@ return(-1); } memset(&ifr, 0, sizeof(ifr)); - ifr.ifr_flags = IFF_TAP | IFF_NO_PI; + ifr.ifr_flags = IFF_TAP | IFF_NO_PI | IFF_ONE_QUEUE; strncpy(ifr.ifr_name, dev, sizeof(ifr.ifr_name) - 1); if(ioctl(fd, TUNSETIFF, (void *) &ifr) < 0){ perror("TUNSETIFF failed");