qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PULL 1/1] slirp: fix ICMP handling on macOS hosts


From: Andrew Oates
Subject: Re: [Qemu-devel] [PULL 1/1] slirp: fix ICMP handling on macOS hosts
Date: Sat, 11 Aug 2018 23:11:35 -0400

Ping --- would you like me to resubmit the patch using CONFIG_BSD?

Cheers,
~Andrew


On Wed, Aug 1, 2018 at 10:39 AM Andrew Oates <address@hidden> wrote:

>
>
>
> On Wed, Aug 1, 2018 at 6:10 AM Peter Maydell <address@hidden>
> wrote:
>
>> On 1 August 2018 at 00:25, Andrew Oates <address@hidden> wrote:
>> > Both CONFIG_BSD and not-CONFIG_LINUX work on macOS.  I unfortunately
>> don't
>> > have access to any other BSDs to test them, though.
>>
>> Is there an easy way to test it? The QEMU makefiles have some
>> runes for setting up a BSD VM...
>>
>
> Ok, it turns out that SOCK_DGRAM+IPPROTO_ICMP isn't actually supported on
> FreeBSD---tested in qemu (thanks for the tip!).
>
> I didn't actually boot up NetBSD or OpenBSD, but poking around the kernel
> source I found for them it appears they have the same restriction:
> https://github.com/freebsd/freebsd/blob/master/sys/netinet/in_proto.c
> https://github.com/openbsd/src/blob/master/sys/netinet/in_proto.c
>
> http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/netinet/in_proto.c?rev=1.128&content-type=text/x-cvsweb-markup
>
> (search for SOCK_DGRAM and IPPROTO_ICMP in the above).
>
> So I don't think ICMP via SLIRP would work at all in the other BSDs,
> meaning this patch is a no-op for them either way.  If we _were_ to make
> SLIRP+ICMP work in *BSD, we'd presumably want to do it with a
> SOCK_RAW+IPPROTO_ICMP socket (which would require special permissions to
> create), which would mean an included IP header---so I think that #ifdef
> CONFIG_BSD here is defensible.
>
> I did some poking for Solaris and Haiku and didn't find much, though it
> looks like the version of ping included w/ Haiku uses SOCK_RAW rather than
> SOCK_DGRAM, so it may be in the same boat as non-OSX-BSDs (
> https://github.com/haiku/haiku/blob/master/src/bin/network/ping/ping.c#L205
> ).
>
> ~Andrew
>
>
>>
>> thanks
>> -- PMM
>>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]