[Xorp-hackers] PIM and IGMP

Weaver John-JWEAVER1 John.Weaver@motorola.com
Thu, 7 Jul 2005 11:29:49 -0500


How hard would it be to hack the code so that I could get certain multicast
addresses from being advertised across 2 different interfaces.  Say I have 2
NIC cards and one is on an external network and one on the internal.
239.x.x.x multicast is external and needs to be seen by hosts internally and
238.x.x.x multicast is internal and should never be known externally.  Would
there be a particular file that I could put a filter in?

Thanks,
John

-----Original Message-----
From: Pavlin Radoslavov [mailto:pavlin@icir.org] 
Sent: Tuesday, July 05, 2005 4:45 PM
To: Weaver John-JWEAVER1
Cc: 'Pavlin Radoslavov '; xorp-hackers@icir.org
Subject: Re: [Xorp-hackers] PIM and IGMP 

> We will not be using IGMPv3 for a while so that will not be a problem.  
> The other question is about seperating BGP, RIP, etc from the IGMP and 
> PIM.  Can we build the project without these?  I am looking for ways 
> to reduce code size and not sure if XORP can be picked apart?

This should be relatively easy:

 1. Edit the top-level xorp/Makefile.am file and remove the
    directories you don't need compiled. For all practical purposes,
    the only directories you don't need should be from the following
    line:

SUBDIRS += bgp pim rip rtrmgr static_routes

 2. Run ./bootstrap to regenerate the top-level Makefile.in and
    after that you can run ./configure as usual.
    One thing you should be aware is that before running ./bootstrap
    you must have the right versions of the the
    autoconf/automake/libtool tools. Currently, we use the following
    versions (also listed in xorp/README):
    - autoconf version 2.53
    - automake version 1.5
    - libtool version 1.3.4

    Those tools are notorious for behaving differently when the
    version changes, so try to install a version that is as close as
    possible to those listed above.

> Little nervous about the whole C++ thing as I am a C developer and our 
> last PIM/IGMP product was in C.  Guess I am going to have to ramp up 
> fairly

We all have C background, but learning to use C++ wasn't that scary as some
would expect :) If you need book references, devnotes/c++refs.txt has a
list. The first one on the list is the definite book on the subject:
 * The C++ Programming Language (3rd Edition), Bjarne Stroustrup,
   Addison-Wesley.

Eventually, you could also start to pick-up things by reading and modifying
existing code, but obviously you cannot learn everything only by reading
existing code.

> quickly.  My hope is through this experience I can become an active 
> contributor.  I have working with switch/router hardware and drivers 
> for the last 5 years.  Would really like to get some of the hardware 
> we use and fire up and actual full fledged router with it.

External contribution is always welcome, but first you may want to read the
"Licensing and Copyright" section in http://www.xorp.org/contributing.html
so you can avoid any legal/licensing issues upfront :)

Pavlin