Bug 502844

Summary: CONFIG_ARPD needed by opennhrp
Product: [Fedora] Fedora Reporter: Charles Lopes <tjarls>
Component: kernelAssignee: John W. Linville <linville>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 11CC: itamar, kernel-maint, maurizio.antillon, nhorman, quintela, timo.teras
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 2.6.29.5-191.fc11 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-06-24 19:23:44 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Charles Lopes 2009-05-27 13:21:18 UTC
The usage of opennhrp requires CONFIG_ARPD to be set. I looked through the kernel source code and that it looks like that flag does not change the kernel behaviour when no program uses the ARPD interface. While the help text for CONFIG_ARPD states:
          "If you say Y here, the kernel's internal ARP cache will never grow
          to more than 256 entries (the oldest entries are expired in a LIFO
          manner) and communication will be attempted with the user space ARP
          daemon arpd. Arpd then answers the address resolution request either
          from its own cache or by asking the net."
the part about limiting the cache to 256 does not seem to be anymore valid.
I do not expect that activating this flag has any detrimental side-effect.

Comment 1 Chuck Ebbert 2009-06-01 20:21:41 UTC
Neil, do you know any specific reason this is disabled in Fedora?

Comment 2 Dave Jones 2009-06-03 18:21:41 UTC
from the kconfig..

"This code is experimental and also obsolete."

Comment 3 Charles Lopes 2009-06-09 15:37:01 UTC
To be fair, the code added by CONFIG_ARPD is quite small (around 40 lines). It is basically two functions that only get called when the parameter app_probes is not zero (.i.e. a user space daemon is present). Installations without the appropriate daemon will only get aa additional couple of extra "if" tests when an arp resolution is made. The experimental qualification here should not make us fear the introduction of buggy code into the kernel.

As for the obsolete part, it is likely because the daemon arpd has hardly been needed ever since the kernel ARP implementation was changed to be tuneable by /proc. Still the interface has not been replaced by something else and it can be useful beyond its original application. NHRP and opennhrp provide a new use for it, and, in this particular application, there does not seem to be an alternate mechanism to get the necessary notifications from the network neighbour resolution.

Comment 4 Bug Zapper 2009-06-09 16:38:11 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 11 development cycle.
Changing version to '11'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 5 John W. Linville 2009-06-09 17:22:49 UTC
For my $0.02...I have used ARPD in a former life and found it to be safe for that application.  Review of the current code makes it look reasonably safe.

So FWIW, I have no objection to enabling CONFIG_ARPD...

Comment 6 Timo Teräs 2009-06-12 12:06:41 UTC
The current help text for CONFIG_ARPD is bogus:
http://marc.info/?l=linux-netdev&m=124477918912638&w=2

Patch to fix the text was sent and is currently pending review:
http://marc.info/?l=linux-netdev&m=124478510017334&w=2

Additionally, there was one bug with the neighbor cache that was only triggerable with the Netlink ARP interface. So if you enable this option, you might also want to cherry-pick the following patch:
http://git.kernel.org/?p=linux/kernel/git/davem/net-next-2.6.git;a=commitdiff;h=5ef12d98a19254ee5dc851bd83e214b43ec1f725

Comment 7 John W. Linville 2009-06-12 15:18:43 UTC
Enabled CONFIG_ARPD and added the Netlink ARP patch from comment 6 in rawhide kernels.  Should be available in the next kernel _after_ kernel-2.6.30-1.fc12.

Does this need to be for F-11?  Or is F-12 good enough?

Comment 9 Chuck Ebbert 2009-06-13 02:10:34 UTC
Enabled in 2.6.29.5-179.rc1.fc11 and 2.6.30-6.fc12

Comment 10 Charles Lopes 2009-06-15 07:53:28 UTC
Would it be inconvenient to also activate that on F-10, please? I am already using opennhrp on 7 systems running F-10. Otherwise, F-11 is already good enough, thanks.
Next I intend to submit a package for opennhrp, unless Timo wants to do it himself.

Comment 11 John W. Linville 2009-06-15 14:57:37 UTC
http://koji.fedoraproject.org/koji/buildinfo?buildID=106268

Hth...that is a 2.6.29 kernel -- I have no idea if/when F-10 will ever get an official update to 2.6.29...

Comment 12 Timo Teräs 2009-06-15 16:41:05 UTC
(In reply to comment #10)
> Next I intend to submit a package for opennhrp, unless Timo wants to do it
> himself.  

My experiences from RPM packaging is from five years ago. So please go ahead. If you want it on future opennhrp tarballs / git tree too, send it on the opennhrp list and I'm happy to commit it.

Comment 13 Charles Lopes 2009-06-15 20:06:55 UTC
(In reply to comment #11)
> http://koji.fedoraproject.org/koji/buildinfo?buildID=106268
> 
> Hth...that is a 2.6.29 kernel -- I have no idea if/when F-10 will ever get an
> official update to 2.6.29...  

That is good enough. Thanks.

Comment 14 Chuck Ebbert 2009-06-16 05:27:22 UTC
(In reply to comment #11)
> http://koji.fedoraproject.org/koji/buildinfo?buildID=106268
> 
> Hth...that is a 2.6.29 kernel -- I have no idea if/when F-10 will ever get an
> official update to 2.6.29...  

CONFIG_ARPD was not enabled. Fixed in 2.6.29.5-83

Comment 15 John W. Linville 2009-06-16 13:02:09 UTC
Doh!  Thanks Chuck!

Comment 16 Fedora Update System 2009-06-17 11:53:49 UTC
kernel-2.6.29.5-191.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/kernel-2.6.29.5-191.fc11

Comment 17 Fedora Update System 2009-06-19 13:44:20 UTC
kernel-2.6.29.5-191.fc11 has been pushed to the Fedora 11 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update kernel'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-6768

Comment 18 Fedora Update System 2009-06-24 19:22:55 UTC
kernel-2.6.29.5-191.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.