[Xorp-hackers] IGMP in XORP

Pavlin Radoslavov pavlin at icir.org
Thu Sep 27 13:18:50 PDT 2007


> I've recently compiled xorp package because and I need
> it to implement IGMP in an embedded system. 
> 
> I only need IGMP protocol and I don't know which
> binaries or libraries I have to include. I hope not to
> need all compiled binaries because they are too big
> for my system.

The answer is depends how much of XORP (and in what form) you want
to use in your system.

Out-of-the-box (i.e., if you don't want to do any programming or
integration at source code level), you need the following binaries:

* The FEA (fea/xorp_fea) which talks to the system/kernel.
* The IGMP (mld6igmp/xorp_igmp) which is the protocol implementation
  itself.
* The XORP router manager (rtrmgr/xorp_rtrmgr) which binds things
  together so you can startup and configure things. Note that it
  also includes the XORP Finder which is used for our IPC (XRLs).
* The CLI (rtrmgr/xorpsh) which can be used to monitor and configure
  the system on-the-fly.
* You also need the rtrmgr/xorpsh template files inside
  xorp/etc/templates. Actually, in your case you will need just a
  subset of them: fea.tp, igmp.tp, interfaces.tp, mfea4.tp,
  protocols.tp, rtrmgr.tp, fea.cmds, igmp.cmds, mfea.cmds,
  xorpsh.cmds

If you don't want to use the router manager for example, then you
will need instead the XORP Finder (libxipc/xorp_finder) so the FEA
and IGMP processes can still communicate with each other.
Of course then you will lose the ability to configure XORP using
xorpsh, and you will need to use, say, shell scripts that directly
send the XRLs to the FEA and IGMP processes.

If you want to go even further and include directly the FEA, IGMP
and the XORP Finder inside some other binary, you can do it, but it
will be a bit tricky because it requires linking with a relatively
long list of internal XORP libraries.
The Makefile.am files in each directory (fea, mld6igmp, libxipc)
will give you idea about the list of libraries you will
need. Typically this list is in the LDADD variable.

Please let us know if the above doesn't answer your question and/or
if you had something else in mind for integrating IGMP in your
system.

Regards,
Pavlin

P.S. FYI, debugging is enabled by default when compiling XORP hence
you get very large binaries.
See "Section 4. Performance optimization" inside xorp/BUILD_NOTES
for some hints how to turn it off and enable optimization.



More information about the Xorp-hackers mailing list