[Dnsmasq-discuss] Solaris specific patches to fix build failures and improve performance

libor.bukata at oracle.com libor.bukata at oracle.com
Fri Jan 18 10:05:04 GMT 2019


Thanks for looking into the patches.

On 1/17/19 11:48 PM, Simon Kelley wrote:
>
> On 14/01/2019 15:56, libor.bukata at oracle.com wrote:
>> Hello,
>>
>> patches resolve the build failures, functionality, and performance
>> issues on Solaris. A brief description is included in each patch.
>>
>> Please let me know whether these patches could be merged and which
>> changes are necessary.
>>
> Very happy in principle to merge. After a quick look though, I have the
> following observations.
>
>
> Patch 0 - I think this may be out of date WRT the current code, which
> removed the HAVE_IPV6 conditional compilation for IPv6 support.

You are right, I updated the patch WRT to the current code.

>
>
> Patch 1 - Looks fine. I wonder why I couldn't get SIOCSXARP
> to work, as detailed in my comment?

Based on your comment, you got ENXIO as a return value. It indicates 
that there is not ARP table entry for IP address on the device, so, arp 
lookup failed.

>
>
> Patch 2 - There is a Makefile included in the contrib/lease-tools
> directory. I'd rather work on that than include it in the main Makefile.
> This is a nasty , unsupported hack, and I'd really like OpenStack to use
> the RemoveDhcpLease DBus method instead, but that's not your problem.
> Happy to take conditional compilation patches or even a Solaris forked
> version as another source file, but it all has to stay in contrib/

Thank you for your feedback. When we move the hack to 
contrib/lease-tools directory, we will send an updated patch.

>
> Patch 3 - Nasty, but Not My Problem. will take as is.
Thanks.
>
> Patch 4 - This adds loads of conditional code in src/dnsmasq.c because
> Linux deals in terms of interface names, and Solaris in interface
> indexes. Much better to make whichdevice() and bindtodevice() return and
> take struct irec *, then the Linux version can use the name from that,
> and Solaris version the index. The only OS-specific code becomes
> bindtodevice()

You are right, there is lots of conditional code. When we have an 
updated patch, we will send it.

Could it be possible to merge the following patches in git am format?
0001-Fix-build-failures-on-Solaris.patch
0002-Use-SIOCSXARP-ioctl-to-specify-the-exact-datalink.patch
0003-Get-the-client-MAC-address-from-the-link-local-address-on-Solaris.patch

Thanks,
Libor
>
>
> Cheers,
>
> Simon.
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Fix-build-failures-on-Solaris.patch
Type: text/x-patch
Size: 3768 bytes
Desc: not available
URL: <http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/attachments/20190118/f381b948/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Use-SIOCSXARP-ioctl-to-specify-the-exact-datalink.patch
Type: text/x-patch
Size: 2351 bytes
Desc: not available
URL: <http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/attachments/20190118/f381b948/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-Get-the-client-MAC-address-from-the-link-local-address-on-Solaris.patch
Type: text/x-patch
Size: 2020 bytes
Desc: not available
URL: <http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/attachments/20190118/f381b948/attachment-0002.bin>


More information about the Dnsmasq-discuss mailing list