[Xorp-users] Need Clarifications on XORP FEA!

Pavlin Radoslavov pavlin at icir.org
Tue May 30 11:48:21 PDT 2006


>                I am new to this group.We are trying to use the XORP as a
> router in linux environment.After going throgh the XORP FEA
> document, we understand that the packets meant for XORP
> router related to OSPF/RIP will be given to FEA module
> directly from the stack.Is this understanding correct?Or do
> we need to register any FEA hooks to get OSPF/RIP packets
> from the stack?

Your process needs to explicitly register with the FEA to receive
control packets.

To register for receiving raw packets (e.g., OSPF IPv4 packets for
example), you need to use the raw_packet4/0.1/register_receiver XRL
(see file xrl/interfaces/fea_rawpkt4.xif) to register with the FEA,
and then use the raw_packet4/0.1/join_multicast_group XRL to join
the appropriate multicast group(s). In addition, your process must
implement the raw_packet4_client/0.1 XRL interface (see file
xrl/interfaces/fea_rawpkt4_client.xif) to handle the receiving of
the packets.
To send raw packets you need to use the raw_packet4/0.1/send XRL
(see file file xrl/interfaces/fea_rawpkt4.xif).
See files ospf/xrl_io.hh and ospf/xrl_io.cc for examples.

To receive UDP packets (e.g., RIP IPv4 packets), you need to do
something similar, except that the XRL interface is different.
To open an UDP socket (via the FEA), you need to use one of the
udp_onen_* XRLs described inside xrl/interfaces/socket4.xif, and
then (optionally) use the udp_join_group XRL to join a multicast
group on that socket. Then you process must implement the
socket4_user/0.1 (see file xrl/interfaces/socket4_user.xif) to
handle the receiving of the packets.
To send UDP packets you need to use one of the socket4/0.1/send*
XRLs (see file xrl/interfaces/socket4.xif).
See files rip/xrl_target_rip.hh and rip/xrl_target_rip.cc for
examples.

Hope that helps,
Pavlin



More information about the Xorp-users mailing list