I have no idea what IRF is, but ipdevpoll is apparently making some incorrect assumptions about the resulting data from an ARP/ND collection. I won't be able to reproduce the problem with our equipment, but I will try to write some unit tests to produce the same error.
I'm pasting the relevant tracebacks from your log here, for future reference.
This:
Traceback (most recent call last):
File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 318, in callback
self._startRunCallbacks(result)
File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 424, in _startRunCallbacks
self._runCallbacks()
File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 441, in _runCallbacks
self.result = callback(self.result, *args, **kw)
File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 949, in gotResult
_inlineCallbacks(r, g, deferred)
--- <exception caught here> ---
File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 893, in _inlineCallbacks
result = g.send(result)
File "/usr/lib/pymodules/python2.6/nav/ipdevpoll/plugins/arp.py", line 80, in handle
if not ipv6_address_in_mappings(mappings):
File "/usr/lib/pymodules/python2.6/nav/ipdevpoll/plugins/arp.py", line 232, in ipv6_address_in_mappings
if ip.version() == 6:
exceptions.AttributeError: 'NoneType' object has no attribute 'version'
and this:
Traceback (most recent call last):
File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 345, in errback
self._startRunCallbacks(fail)
File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 424, in _startRunCallbacks
self._runCallbacks()
File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 441, in _runCallbacks
self.result = callback(self.result, *args, **kw)
File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 949, in gotResult
_inlineCallbacks(r, g, deferred)
--- <exception caught here> ---
File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 891, in _inlineCallbacks
result = result.throwExceptionIntoGenerator(g)
File "/usr/lib/python2.6/dist-packages/twisted/python/failure.py", line 338, in throwExceptionIntoGenerator
return g.throw(self.type, self.value, self.tb)
File "/usr/lib/pymodules/python2.6/nav/ipdevpoll/plugins/arp.py", line 95, in handle
yield self._process_data(mappings)
File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 893, in _inlineCallbacks
result = g.send(result)
File "/usr/lib/pymodules/python2.6/nav/ipdevpoll/plugins/arp.py", line 121, in _process_data
self._make_new_mappings(new_mappings)
File "/usr/lib/pymodules/python2.6/nav/ipdevpoll/plugins/arp.py", line 190, in _make_new_mappings
arp.ip = ip.strCompressed()
exceptions.AttributeError: 'NoneType' object has no attribute 'strCompressed'
I have no idea what IRF is, but ipdevpoll is apparently making some incorrect assumptions about the resulting data from an ARP/ND collection. I won't be able to reproduce the problem with our equipment, but I will try to write some unit tests to produce the same error.
I'm pasting the relevant tracebacks from your log here, for future reference.
This:
Traceback (most recent call last): python2. 6/dist- packages/ twisted/ internet/ defer.py" , line 318, in callback _startRunCallba cks(result) python2. 6/dist- packages/ twisted/ internet/ defer.py" , line 424, in _startRunCallbacks _runCallbacks( ) python2. 6/dist- packages/ twisted/ internet/ defer.py" , line 441, in _runCallbacks self.result, *args, **kw) python2. 6/dist- packages/ twisted/ internet/ defer.py" , line 949, in gotResult backs(r, g, deferred) python2. 6/dist- packages/ twisted/ internet/ defer.py" , line 893, in _inlineCallbacks pymodules/ python2. 6/nav/ipdevpoll /plugins/ arp.py" , line 80, in handle in_mappings( mappings) : pymodules/ python2. 6/nav/ipdevpoll /plugins/ arp.py" , line 232, in ipv6_address_ in_mappings AttributeError: 'NoneType' object has no attribute 'version'
File "/usr/lib/
self.
File "/usr/lib/
self.
File "/usr/lib/
self.result = callback(
File "/usr/lib/
_inlineCall
--- <exception caught here> ---
File "/usr/lib/
result = g.send(result)
File "/usr/lib/
if not ipv6_address_
File "/usr/lib/
if ip.version() == 6:
exceptions.
and this:
Traceback (most recent call last): python2. 6/dist- packages/ twisted/ internet/ defer.py" , line 345, in errback _startRunCallba cks(fail) python2. 6/dist- packages/ twisted/ internet/ defer.py" , line 424, in _startRunCallbacks _runCallbacks( ) python2. 6/dist- packages/ twisted/ internet/ defer.py" , line 441, in _runCallbacks self.result, *args, **kw) python2. 6/dist- packages/ twisted/ internet/ defer.py" , line 949, in gotResult backs(r, g, deferred) python2. 6/dist- packages/ twisted/ internet/ defer.py" , line 891, in _inlineCallbacks throwExceptionI ntoGenerator( g) python2. 6/dist- packages/ twisted/ python/ failure. py", line 338, in throwExceptionI ntoGenerator pymodules/ python2. 6/nav/ipdevpoll /plugins/ arp.py" , line 95, in handle data(mappings) python2. 6/dist- packages/ twisted/ internet/ defer.py" , line 893, in _inlineCallbacks pymodules/ python2. 6/nav/ipdevpoll /plugins/ arp.py" , line 121, in _process_data _make_new_ mappings( new_mappings) pymodules/ python2. 6/nav/ipdevpoll /plugins/ arp.py" , line 190, in _make_new_mappings AttributeError: 'NoneType' object has no attribute 'strCompressed'
File "/usr/lib/
self.
File "/usr/lib/
self.
File "/usr/lib/
self.result = callback(
File "/usr/lib/
_inlineCall
--- <exception caught here> ---
File "/usr/lib/
result = result.
File "/usr/lib/
return g.throw(self.type, self.value, self.tb)
File "/usr/lib/
yield self._process_
File "/usr/lib/
result = g.send(result)
File "/usr/lib/
self.
File "/usr/lib/
arp.ip = ip.strCompressed()
exceptions.