Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Apr 2003 02:25:11 -0700
From:      Pavlin Radoslavov <pavlin@icir.org>
To:        freebsd-net@freebsd.org
Cc:        suz@crl.hitachi.co.jp
Subject:   Request for review and commit of PIM patches
Message-ID:  <200304230925.h3N9PBmC024921@possum.icir.org>

next in thread | raw e-mail | index | archive | help
All,

For quite some time I have been maintaining the IPv4 PIM kernel
patches for *BSD, and I'd like to request for their inclusion in
FreeBSD-current (and hopefully in the forthcoming 5.2 release).


At high level, the patches include the following:

1. Basic PIM kernel support
   (similar to the support that has been already added to other UN*X
   flavors, including IPv6 from KAME, though the other
   implementations were based on an early version of those patches :))
   Disabled by default. To enable it, the new "options PIM" must be
   added to the kernel configuration file (in addition to MROUTING):

options         MROUTING                # Multicast routing
options         PIM                     # Protocol Independent Multicast


2. Few bug fixes to the existing multicast code.

3. Added support for advanced multicast API setup/configuration and
   extensibility.

4. Added support for kernel-level PIM Register encapsulation.

5. Implemented a mechanism for "multicast bandwidth monitoring and
   upcalls".

6. Pulled-out the IP fragmentation code from ip_output() into
   a new function ip_fragment().
  This is basically same change that was done back in November 2002,
  but later was reversed-back due to its non-urgency at the time:
   http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet/ip_output.c?rev=1.171&content-type=text/x-cvsweb-markup


The motivation for the additional changes on top of the basic PIM
support is because of various limitations of the basic support.
All those additional changes are completely backward
compatible (both at the API and the binary level), so the new
features will be used only if the user-level program explicitly
tries to enable them.


The patches against FreeBSD-current as of April 23, 2003 are
available from:
http://www.icir.org/pavlin/.private/pim/pim_freebsd_current_20030423.tar.gz

The details about the changes are described in the README file. The
README contains also installation information.


Please let me know if you have any questions.

Thank you,
Pavlin Radoslavov

Part of this work has been supported by the XORP project at ICSI
http://www.xorp.org/


Acknowledgments:
 - Ahmed Helmy (USC) for the original PIM patches.
 - George Edmond Eddy (Rusty) (then at ISI) for various code
   modifications.
 - Hitoshi Asaeda (WIDE Project) for various modifications and
   porting to other *BSD flavors.
 - Andrew Adams (NextHop) for various suggestions and feedbacks.
 - Chris Brown (NextHop) for various feedbacks and for the co-design
   of the advanced multicast API setup/configuration.
 - Luigi Rizzo (U. of Pisa and ICSI) for the code audition back in
   November 2002.
 - All users who were brave enough to try those patches when
   they were still evolving.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200304230925.h3N9PBmC024921>