[Xorp-users] Problem adding routes to custom devices
Jeff Mitchell
jmitchell at ll.mit.edu
Thu May 20 07:35:26 PDT 2010
On 05/19/2010 06:04 PM, Ben Greear wrote:
>> I have a suspicion as to what may be wrong...here's the relevant output
>> of "ip link":
>>
>> 4: eth0.801 at eth0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue
>> link/ether 00:50:56:9e:1f:7f brd ff:ff:ff:ff:ff:ff
>> 6: abcd0:<BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc
>> pfifo_fast qlen 100
>> link/void 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd
>> ff:ff:ff:ff:ff:ff:00:00:00:00:00:00:00:00:00:00
>> 7: pimreg at NONE:<NOARP,UP,LOWER_UP> mtu 1472 qdisc noqueue
>> link/pimreg
>>
>> Note the type of "link/void" -- is it possible that XORP refuses to set
>> routes pertaining to this link because of the link type, even though it
>> will give the interface an IP address? If so, is there a way to disable
>> this/fix this/prevent this? Or any other idea what's going wrong?
>
> I'd say that's likely. Can you just fix your network driver so that
> it claims to be Ethernet? That's what other virtual drivers, such as 'veth'
> do...
From what I hear, the answer is "maybe" -- in that they do have that
option but it's not working right :-(
One thing the guys here told me is that void is a legit link type in the
kernel with a configurable link layer address size. The address size
above is 128-bit; however from poking around at the XORP source code it
seems that it makes assumptions all over the place that the link layer
addresses are 48 bit.
However, maybe that's not always the case. I still don't know why it
successfully sets IP addresses to those interfaces, but won't set a
route. I suspect that code handling the interfaces is written and/or
behaving differently in different parts of XORP.
Does this sound like it could be the culprit, and if it's something that
might be able to be fixed/made consistent? If so, could someone point me
to where might be a good place to look?
> You might look though the logs in detail, maybe searching for 'static', to
> see if that module is complaining and not even attempting to set the route
> through fea.
I actually compared logs from running with a normal interface vs. our
custom interface and they were basically identical.
I did see this:
[ 2010/05/19 17:19:21.86898 INFO xorp:3702 RTRMGR
rtrmgr/module_manager.cc:94 execute ] Executing module: static_routes
(xorp_static_routes)
[ 2010/05/19 17:19:21.98138 WARNING xorp:3702 XrlFinderTarget
obj/x86_64-unknown-linux-gnu/xrl/targets/finder_base.cc:482
handle_finder_0_2_resolve_xrl ] Handling method for
finder/0.2/resolve_xrl failed: XrlCmdError 102 Command failed Target
"static_routes" does not exist or is not enabled.
But, they appeared in *both* logs, including using the normal interface
where the routes were successfully set.
--Jeff
More information about the Xorp-users
mailing list