[Xorp-hackers] Dummy Fea Matters
Pavlin Radoslavov
pavlin at ICSI.Berkeley.EDU
Fri Feb 15 09:59:33 PST 2008
> I'm trying to use XORP to do some experiments and I'm a little bit confused
> on where should I start in other to achieve my goal. What I'm looking to do
> is to use XORP using the dummy FEA but having the capability to send and
> receive IPv4/IPv6 raw packets. Currently I'm not interested in using the
> interface management neither the forwarding table management nor the TCP/UDP
> I/O packets. I want to use XORP OSPF process with the capacity to exchange
> routing packets with other devices (routing packets and in XORP case IPv4/6
> raw packets) but without needing to set any packet forwarding features (at
> least not in the machine running the OSPF process).
>
>
>
> My idea is to use the dummy FEA but modifying its behavior in the case of a
> process request to send an IPv4/6 raw packet (OSPF LSA packets) as well as
> to any subscription of the process to claim an IPv4/6 raw packet. Any hint
> on where could I start would be much appreciated.
It looks like you want to use a mixture of "real" and "dummy" FEA;
currently that is not possible.
You could use the real FEA with a minor modification:
* You need to configure the network interfaces you want to use with
the "default-system-config" statement. This will tell the FEA to
pick-up the existing system config of the interfaces.
* You don't need to include the "fea" section which enables/disables
the forwarding in the kernel.
* If you want to prevent the OSPF routes reaching the forwarding
table in the kernel, off the top of my head I don't think it is
possible to do only by using some configuration statements.
The simplest solutiont that comes to mind is to modify
the following methods inside fea/xrl_fea_target.cc :
XrlFeaTarget::redist_transaction4_0_1_add_route()
XrlFeaTarget::redist_transaction4_0_1_delete_route()
XrlFeaTarget::redist_transaction6_0_1_add_route()
XrlFeaTarget::redist_transaction6_0_1_delete_route()
In each of those methods you need to add the following statement
right in the beginning:
return XrlCmdError::OKAY();
I think that's all you need to do that comes to mind. Please let us
know if it doesn't help you.
Regards,
Pavlin
More information about the Xorp-hackers
mailing list