[PATCH] libnss-mdns: fix mDNS resolving speed

Subsystems: the rest

STALE5062d

8 messages, 2 authors, 2012-09-28 · open the first message on its own page

[PATCH] libnss-mdns: fix mDNS resolving speed

From: Constantin Musca <hidden>
Date: 2012-09-28 09:26:15

We need to fix the "hosts: files dns mdns4" nsswitch.conf line
because for a .local lookup it does a DNS lookup first which will fail.
The recommended solution is:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

[YOCTO #2502]

Signed-off-by: Constantin Musca <redacted>
---
 .../libnss-mdns/libnss-mdns_0.10.bb                |   13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb b/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb
index a1f2f9a..67c4710 100644
--- a/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb
+++ b/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1"
 
 DEPENDS = "avahi"
 RDEPENDS_${PN} = "avahi-daemon"
-PR = "r5"
+PR = "r6"
 
 SRC_URI = "http://0pointer.de/lennart/projects/nss-mdns/nss-mdns-${PV}.tar.gz"
 
@@ -24,13 +24,16 @@ DEBIANNAME_${PN} = "libnss-mdns"
 EXTRA_OECONF = "--libdir=${base_libdir} --disable-lynx --enable-avahi"
 
 pkg_postinst_${PN} () {
-if ! grep -q '^hosts:.*\<mdns4\>' $D/etc/nsswitch.conf; then
-	sed -e 's/^hosts:.*/& mdns4/' -i $D/etc/nsswitch.conf
+if ! grep -q '^hosts:.*mdns4' $D/etc/nsswitch.conf; then
+	sed -e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 mdns4_minimal [NOTFOUND=return]\3\4 mdns4\5/' \
+		-i $D/etc/nsswitch.conf
 fi
 }
 
 pkg_prerm_${PN} () {
-if grep -q '^hosts:.*\<mdns4\>' /etc/nsswitch.conf; then
-	sed -e '/^hosts:/s/\s\<mdns4\>//' -i /etc/nsswitch.conf
+if grep -q '^hosts:.*mdns4' /etc/nsswitch.conf; then
+	sed -e '/^hosts:/s/\s*\<mdns4\>//' \
+		-e '/^hosts:/s/\s*mdns4_minimal\s\+\[NOTFOUND=return\]//' \
+		-i /etc/nsswitch.conf
 fi
 }
-- 
1.7.9.5


Re: [PATCH] libnss-mdns: fix mDNS resolving speed

From: Burton, Ross <hidden>
Date: 2012-09-28 09:53:34

On 28 September 2012 09:18, Constantin Musca
[off-list ref] wrote:
We need to fix the "hosts: files dns mdns4" nsswitch.conf line
because for a .local lookup it does a DNS lookup first which will fail.
The recommended solution is:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
Have you tested this works?  Last time I saw this worked on
(Christian, iirc) the "solution" wasn't actually working.

Ross

Re: [PATCH] libnss-mdns: fix mDNS resolving speed

From: Constantin Musca <hidden>
Date: 2012-09-28 09:56:12

On 09/28/2012 12:40 PM, Burton, Ross wrote:
On 28 September 2012 09:18, Constantin Musca
[off-list ref] wrote:
quoted
We need to fix the "hosts: files dns mdns4" nsswitch.conf line
because for a .local lookup it does a DNS lookup first which will fail.
The recommended solution is:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
Have you tested this works?  Last time I saw this worked on
(Christian, iirc) the "solution" wasn't actually working.

Ross
I tested it pinging a host.local and it works. What else should I test ?

Constantin

Re: [PATCH] libnss-mdns: fix mDNS resolving speed

From: Burton, Ross <hidden>
Date: 2012-09-28 09:59:59

On 28 September 2012 09:48, Constantin Musca
[off-list ref] wrote:
quoted
Have you tested this works?  Last time I saw this worked on
(Christian, iirc) the "solution" wasn't actually working.
I tested it pinging a host.local and it works. What else should I test ?
Check that there is a speed improvement - before it would attempt a
DNS lookup so I'd have a couple of seconds waiting before the quick
mDNS lookup.  With the fix all .local domains should be very quick on
the first resolution.

Ross

Re: [PATCH] libnss-mdns: fix mDNS resolving speed

From: Constantin Musca <hidden>
Date: 2012-09-28 10:01:07

On 09/28/2012 12:46 PM, Burton, Ross wrote:
On 28 September 2012 09:48, Constantin Musca
[off-list ref] wrote:
quoted
quoted
Have you tested this works?  Last time I saw this worked on
(Christian, iirc) the "solution" wasn't actually working.
I tested it pinging a host.local and it works. What else should I test ?
Check that there is a speed improvement - before it would attempt a
DNS lookup so I'd have a couple of seconds waiting before the quick
mDNS lookup.  With the fix all .local domains should be very quick on
the first resolution.

Ross
Ok, I'll do that.

Constantin

Re: [PATCH] libnss-mdns: fix mDNS resolving speed

From: Constantin Musca <hidden>
Date: 2012-09-28 13:03:29

On 09/28/2012 12:46 PM, Burton, Ross wrote:
On 28 September 2012 09:48, Constantin Musca
[off-list ref] wrote:
quoted
quoted
Have you tested this works?  Last time I saw this worked on
(Christian, iirc) the "solution" wasn't actually working.
I tested it pinging a host.local and it works. What else should I test ?
Check that there is a speed improvement - before it would attempt a
DNS lookup so I'd have a couple of seconds waiting before the quick
mDNS lookup.  With the fix all .local domains should be very quick on
the first resolution.

Ross
Tests:

1. Without fix:
real     0m4.461s
user    0m0.034s
sys      0m0.086s

2. With fix:
real    0m0.842s
user   0m0.066s
sys     0m0.122s

As you can see, there is a speed improvement.

Cheers,
Constantin




Re: [PATCH] libnss-mdns: fix mDNS resolving speed

From: Ross Burton <hidden>
Date: 2012-09-28 13:18:45

On Friday, 28 September 2012 at 12:55, Constantin Musca wrote:
Tests:

1. Without fix:
real 0m4.461s
user 0m0.034s
sys 0m0.086s

2. With fix:
real 0m0.842s
user 0m0.066s
sys 0m0.122s

As you can see, there is a speed improvement.
Excellent.

I'll ask it before Martin does - should we handle upgrading users from an old libnss-mdns with the old line?

Ross



Re: [PATCH] libnss-mdns: fix mDNS resolving speed

From: Constantin Musca <hidden>
Date: 2012-09-28 15:24:05

On 09/28/2012 04:05 PM, Ross Burton wrote:
On Friday, 28 September 2012 at 12:55, Constantin Musca wrote:
quoted
Tests:

1. Without fix:
real 0m4.461s
user 0m0.034s
sys 0m0.086s

2. With fix:
real 0m0.842s
user 0m0.066s
sys 0m0.122s

As you can see, there is a speed improvement.
Excellent.

I'll ask it before Martin does - should we handle upgrading users from an old libnss-mdns with the old line?

Ross
I'll send patch v2 which handles upgrading.

Constantin

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help