diff options
Diffstat (limited to 'results/classifier/zero-shot/105/socket/1837')
| -rw-r--r-- | results/classifier/zero-shot/105/socket/1837 | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/results/classifier/zero-shot/105/socket/1837 b/results/classifier/zero-shot/105/socket/1837 new file mode 100644 index 00000000..da9ee070 --- /dev/null +++ b/results/classifier/zero-shot/105/socket/1837 @@ -0,0 +1,48 @@ +socket: 0.927 +instruction: 0.796 +device: 0.713 +network: 0.685 +other: 0.676 +graphic: 0.530 +semantic: 0.352 +vnc: 0.301 +boot: 0.279 +mistranslation: 0.150 +assembly: 0.130 +KVM: 0.114 + +Support IP_MULTICAST_IF socket option in linux-user +Additional information: +I've run into this limitation in qemu-aarch64-static version Debian 1:6.2+dfsg-2ubuntu6.12, but from the link above, it doesn't seem to be implemented on master yet. + +Here's some source code that demonstrates the failure: +``` +#include <sys/socket.h> +#include <arpa/inet.h> +#include <netinet/ip.h> +#include <unistd.h> +#include <assert.h> +#include <stdio.h> + +int main() +{ + int fd, ret; + struct in_addr addr = {htonl(INADDR_LOOPBACK)}; + + fd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); + assert(fd >= 0); + ret = setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, &addr, sizeof(addr)); + if (ret < 0) + { + perror("setsockopt failed"); + return 1; + } + close(fd); + printf("Success!\n"); + return 0; +} +``` + +When run under qemu, it gives the error `setsockopt failed: Protocol not available`. + +It doesn't look like it should be too hard to support (certainly no worse than IP_ADD_MEMBERSHIP). Let me know if I can help with a patch. |