#
# $QuaggaId: $Format:%an, %ai, %h$ $
#

INTRODUCTION

        qpimd aims to implement a PIM (Protocol Independent Multicast)
	daemon for the Quagga Routing Suite.

	Initially qpimd targets only PIM SSM (Source-Specific
	Multicast) mode as defined in section 4.8.2 (PIM-SSM-Only
	Routers) of RFC 4601.

	In order to deliver end-to-end multicast routing control
	plane, qpimd includes the router-side of IGMPv3	(RFC 3376).

LICENSE

        qpimd - pimd for quagga
        Copyright (C) 2008 Everton da Silva Marques

        qpimd is free software; you can redistribute it and/or modify
        it under the terms of the GNU General Public License as
        published by the Free Software Foundation; either version 2,
        or (at your option) any later version.

        qpimd is distributed in the hope that it will be useful, but
        WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        GNU General Public License for more details.

        You should have received a copy of the GNU General Public
        License along with qpimd; see the file COPYING.  If not, write
        to the Free Software Foundation, Inc., 59 Temple Place - Suite
        330, Boston, MA 02111-1307, USA.

HOME SITE

        qpimd lives at:

        http://savannah.nongnu.org/projects/qpimd

PLATFORMS

	qpimd has been tested with Debian Lenny under Linux 2.6.

REQUIREMENTS

	qpimd requires Quagga (0.99.11 or higher from http://www.quagga.net)

	The GNU Build System (Autotools) is required to build from
	source code repository.

BUILDING FROM QUAGGA GIT REPOSITORY

	1) Get the latest quagga source tree

	# git clone git://code.quagga.net/quagga.git quagga

	2) Apply qpimd patch into quagga source tree

	# patch -p1 -d quagga < pimd-0.126-quagga-0.99.11-git20081116.patch

	3) Compile and install quagga

	# cd quagga
	# ./bootstrap.sh
	# ./configure --prefix=/usr/local/quagga --enable-pimd
	# make
	# make install

BUILDING FROM QUAGGA TARBALL

	1) Get the latest quagga tarball

	# wget http://www.quagga.net/download/quagga-0.99.11.tar.gz

	2) Unpack the quagga tarball

	# tar xzf quagga-0.99.11.tar.gz

	3) Apply qpimd patch into quagga source tree

	# patch -p1 -d quagga-0.99.11 < pimd-0.126-quagga-0.99.11-git20081116.patch

	4) Compile and install quagga

	# cd quagga-0.99.11
	# autoreconf -i
	# ./configure --prefix=/usr/local/quagga --enable-pimd
	# make
	# make install

USAGE

	1) Configure and start the zebra daemon

	# cp /usr/local/quagga/etc/zebra.conf.sample /usr/local/quagga/etc/zebra.conf
	# vi /usr/local/quagga/etc/zebra.conf
	# /usr/local/quagga/sbin/zebra

	2) Configure and start the pimd daemon

	# cp /usr/local/quagga/etc/pimd.conf.sample /usr/local/quagga/etc/pimd.conf
	# vi /usr/local/quagga/etc/pimd.conf
	# /usr/local/quagga/sbin/pimd

	3) Access pimd vty interface at port TCP 2611

	# telnet localhost 2611

CONFIGURATION COMMANDS

	See available commands in the file pimd/COMMANDS.

KNOWN CAVEATS

	See list of known caveats in the file pimd/CAVEATS.

SUPPORT

	Please post comments, questions, patches, bug reports at the
	support site:

        http://savannah.nongnu.org/projects/qpimd


RELATED WORK

	igmprt:	An IGMPv3-router implementation
	- http://www.loria.fr/~lahmadi/igmpv3-router.html

	pimd: PIMv2-SM daemon
	- http://netweb.usc.edu/pim/pimd (URL broken in 2008-12-23)
	- http://packages.debian.org/source/sid/pimd (from Debian)

	zpimd: zpimd is not dependent of zebra or any other routing daemon
	- ftp://robur.slu.se/pub/Routing/Zebra
	- http://sunsite2.icm.edu.pl/pub/unix/routing/zpimd

	mrd6: an IPv6 Multicast Router for Linux systems
	- http://fivebits.net/proj/mrd6/

	MBGP: Implementation of RFC 2858 for Quagga
	- git://git.coplanar.net/~balajig/quagga
	- http://www.gossamer-threads.com/lists/quagga/dev/18000

                              -- END --
