Subject: CVS commit: pkgsrc/net/xorp
To: None <pkgsrc-changes@NetBSD.org>
From: Thomas Klausner <wiz@netbsd.org>
List: pkgsrc-changes
Date: 07/20/2004 21:55:31
Module Name:	pkgsrc
Committed By:	wiz
Date:		Tue Jul 20 21:55:31 UTC 2004

Modified Files:
	pkgsrc/net/xorp: Makefile PLIST distinfo
Removed Files:
	pkgsrc/net/xorp/patches: patch-aa

Log Message:
Update to 1.0:

Release 1.0 (2004/07/08)
=========================
  ALL:
    - All the routing processes can now be started and configured via the
      RTRMGR/XORPSH.

  LIBXORP:
    - Addition of support for safe callbacks (e.g., if an object is
      destroyed, all callbacks that refer to that object are invalidated).

  LIBXIPC:
    - Addition of support for event notification if the status of a target
      changes.

  LIBFEACLIENT:
    - Few bug fixes.

  XRL:
    - No significant changes.

  RTRMGR:
    - Addition of new command-line option "-v" to print verbose information.

    - Removal of command-line option "-d" that prints default information,
      because the same information is printed with the "-h" flag.

    - Addition of support for explicit configuration of the XRL target name of
      a module.

    - Addition of support for %help command in the rtrmgr template files.

    - Addition of support for new methods per module: "startup_method"
      and "shutdown_method".

    - Numerous other improvements and bug fixes.

  XORPSH:
    - Addition of new command-line option "-v" to print verbose information.

    - Removal of command-line option "-d" that prints default information,
      because the same information is printed with the "-h" flag.

    - Addition of support for help string in the xorpsh operational
      commands template files.

    - Addition of support for positional arguments in the xorpsh operational
      commands template files.

    - Addition of support to interrupt an operational command.
      Now if a command is interrupted from the command line by typing Ctrl-C,
      then the executed binary command itself (and its forked children, if any)
      is killed.

    - Numerous other improvements and bug fixes.

  FEA/MFEA:
    - Addition of support for propagating the Forwarding Information Base
      from the underlying system to clients interested in that information.

    - Addition of support for opening TCP or UDP sockets via the FEA.

    - Modification to the MFEA to use "libfeaclient" to obtain the interface
      information from the FEA.

    - Numerious bug fixes.

  RIB:
    - Addition of support for redistributing routes between two internal
      tables.

    - Addition of support for obtaining routes directly from some of the
      internal tables.

    - Modification to the RIB to use "libfeaclient" to obtain the interface
      information from the FEA.

    - Modification to the RIB to use the new RedistTable to propagate
      the final routes to the FEA and anyone else interested (e.g., PIM-SM).

    - Few bug fixes.

  RIP:
    - Packet forwarding and reception via FEA written for RIPv2 and RIPng.
      RIPv2 should be usable.

  BGP:
    - IPv6 has now been tested with peerings to the 6Bone; unicast and
      multicast SAFIs.

    - Route origination is now possible from BGP.

    - The memory leaks from the previous release have been found and fixed.

  STATIC_ROUTES:
    - This is a new module for configuring static routes to the
      unicast or multicast RIB.

  MLD/IGMP:
    - During startup, a primary address is selected per configured interface,
      and this primary address should be the link-local unicast address
      of that interface.

    - New CLI commands: "show igmp interface address" and
      "show mld interface address"

    - Resend some of the XRLs (e.g., those who do not carry soft-state
      such as protocol control messages) if there is an error.

    - Few bug fixes.

  PIM-SM:
    - Updated to support the lastest PIM-SM specification
      (draft-ietf-pim-sm-v2-new-09.{ps,txt}).

    - Addition of support for "alternative subnet" configuration such that
      non-local senders appear as senders connected to the same subnet.
      It is needed as a work-around solution when there are uni-directional
      interfaces for sending and receiving traffic (e.g., satellite links).

    - During startup, a primary address and a domain-wide address are
      selected per configured interface.
      The primary address should be the link-local unicast address
      of that interface, and the domain-wide address should be a domain-wide
      reachable unicast address.

    - Resend some of the XRLs (e.g., those who do not carry soft-state
      such as protocol control messages) if there is an error.

    - Several bug fixes.

  FIB2MRIB:
    - This is a new module for propagating the unicast forwarding information
      obtained from the underlying system via the FEA to the multicast RIB.

  CLI:
    - Addition of support to propagate command interruption (e.g., Ctrl-C)
      from the CLI to the object that handles the command processing
      by calling a pre-defined callback.

    - During startup, if the input is a terminal (e.g., xorpsh), then
      read the terminal size instead of using the default values.

    - A bug fix related to the CLI paging output: now it can handle properly
      lines that are longer than the width of the CLI output terminal.

    - Several other bug fixes.

  SNMP:
    - No significant changes.

Release 0.5 (2003/11/06)
========================
  ALL:
    - New library libfeaclient to simplify interface configuration
      replication and event reception.

  LIBXORP:
    - Addition of ServiceBase class (service.hh) for asynchronous
      process components that might provide a service.  The
      ServiceBase contains status information, (e.g. starting,
      running, shutting down, shutdown) and methods for triggering
      status changes (e.g.start, shutdown).  It also provides an
      interface for observers to be notified of state changes.

    - Addition of ctype(3) wrappers that work properly even if the
      value of the int argument is not representable as an unsigned
      char and doesn't have the value of EOF.

  LIBXIPC:
    - Minor refactoring and code clean-up.

    - Fixes to XrlAtom binary marshalling methods and test code for
      checking this functionality in future.

  LIBFEACLIENT:
    - Added to project.  Provides interface configuration tree
      mirroring and update event notification.  Intended to unify how
      this data is replicated between processes.

  XRL:
    - kdoc generation nits.

  RTRMGR:
    - Fix the process name of a started proces to be the same
      as the binary name.

    - Minor code cleanup.

  XORPSH:
    - No significant changes.

  FEA/MFEA:
    - Added Linux Netlink support for writing network interface information,
      and routing entries to the kernel, and for observing the change of
      that information in the kernel.

    - Completed support for Linux /proc parsing to return network interface
      information.

    - Added support for NetBSD and OpenBSD to the unicast FEA.

    - Added compilation-time check whether the underlying system
      supports IPv6 multicast and IPv6 multicast routing, and isolate
      the compilation of all MFEA code that is specific to IPv6 multicast
      and IPv6 multicast routing.

    - Added support for run-time check whether the underlying system
      supports IPv4 or IPv6 multicast routing.

    - Various bug fixes and cleanup

  RIB:
    - No significant changes.

  BGP:
    - Supports multiprotocol IPv6.

    - The code for multicast SAFI is enabled but is untested.

    - MED processing is now deterministic.

    - A memory leak exists.

  MLD/IGMP:
    - No significant changes.

  PIM-SM:
    - A bug fix related to the removal of timed-out multicast forwarding
      entries.

  CLI:
    - Change slightly the command-line editing, so now Ctrl-W deletes
      the word before the cursor. Before, Ctrl-W would delete the
      whole line.

    - Apply a fix to libtecla in network mode such that
      keyboard-generated signals are not propagated to the process
      we have connected to.

  SNMP:
    - No significant changes.

  RIP:
    - Code added to talk to FEA and RIB.  To become functional it
      still requires the ability to send packets and receive UDP
      packets through the FEA (work in progress).

Release 0.4 (2003/08/28)
========================
  ALL:
    - Rename all process names from "foo" to "xorp_foo":
      bgp -> xorp_bgp
      fea -> xorp_fea
      fea_dummy -> xorp_fea_dummy
      finder -> xorp_finder
      ospfd -> xorp_ospf
      rib -> xorp_rib
      rtrmgr -> xorp_rtrmgr

    - Added support for "gmake install" that installs the required
      XORP pieces under /usr/local/xorp.
      Currently, the installed subdirectories and files follow
      the organization in the XORP source code tree.
      Only the following binaries are installed in subdirectory "bin":
      call_xrl, xorp_rtrmgr, xorpsh.

    - Removed old directory "mfea", because it is not needed anymore
      (all the MFEA code has been merged with the FEA).

    - The code does not compile anymore on MacOS X 10.2.x (or earlier),
      due to compiler issues. After Apple starts distributing a better
      compiler (probably with MacOS X 10.3.x?), then attempt will be
      made to keep the code compiling again on MacOS X.

  LIBXORP:
    - Added pre-order iterators for Trie and RefTrie.

  LIBXIPC:
    - Addition of virtual methods in XrlRouter to provide processes with
      an opportunity to detect finder connection, registration, and
      disconnection events.

  XRL:
    - Minor changes to clnt-gen that changes the names of some typedefs.

  RTRMGR:
    - Now all relative paths to templates, xrl files, configuration
      files, etc are computed relative to the root of the XORP tree.
      The root is computed in the following order:
      1. The shell environment XORP_ROOT (if exists).
      2. The parent directory the rtrmgr is run from
         (only if it contains the etc/templates and the xrl/targets
         directories).
      3. The XORP_ROOT value as defined in config.h (currently this is
         the installation directory, and it defaults to /usr/local/xorp).

  XORPSH:
    - Now all relative paths to executable commands are computed
      relative to the root of the XORP tree. The root is computed
      similar to the rtrmgr root (see above), except that in step (2)
      we consider the parent directory the xorpsh is run instead.

  FEA/MFEA:
    - Bug fix: if the multicast protocol to start/stop is PIM, then start/stop
      PIM multicast routing in the kernel.

    - Bug fix (Linux-specific): if IGMP/MLD is enabled, then the multicast
      router will properly receive all IGMP/MLD messages.

    - Added support to enable/disable unicast forwarding in the kernel
      via the FEA.
      Currently, the support is only for FreeBSD, but is not used yet.
      Hence, the user must explicitly enable unicast forwarding
      before starting XORP.
      E.g., in case of FreeBSD run `sysctl net.inet.ip.forwarding=1`
      as root. In case of Linux run
      `echo 1 > /proc/sys/net/ipv4/ip_forward` as root.

    - Fix a compilation problem for NetBSD
      (courtesy Hitoshi Asaeda <Hitoshi.Asaeda@sophia.inria.fr>
      and Jun-ichiro itojun Hagino <itojun@iijlab.net>).

    - Initial support for Linux /proc parsing to return network interface
      information (work in progress).

    - Bug fixes in setting the broadcast or p2p flags and addresses
      in the FEA internal interface tree (IfTree).

    - Bug fix in computing the minimum size of a message received
      on a routing socket.

    - Change the MFEA configuration scripts so now the IPv4/IPv6 setup
      is controlled by a single variable IP_VERSION that should be
      either IPV4 or IPV6. Note that those configuration scripts
      are temporary solution until the MFEA is integrated with
      the rtrmgr.

  RIB:
    - No significant changes.

  BGP:
    - Update packets with unknown path attributes are now correctly handled.

  MLD/IGMP:
    - Change the "RX" log messages to include the vif name a message was
      received on.

    - Initial support for returning the process status via get_status XRL.

    - Change the MLD/IGMP configuration scripts so now the IPv4/IPv6 setup
      is controlled by a single variable IP_VERSION that should be
      either IPV4 or IPV6. Note that those configuration scripts
      are temporary solution until the MLD/IGMP is integrated with
      the rtrmgr.

  PIM-SM:
    - Change the "RX" log messages to include the vif name a message was
      received on.

    - Change the PIM configuration scripts so now the IPv4/IPv6 setup
      is controlled by a single variable IP_VERSION that should be
      either IPV4 or IPV6. Note that those configuration scripts
      are temporary solution until the PIM is integrated with
      the rtrmgr.

    - Implement Join/Prune items fragmentation across Join/Prune messages
      when generating Join/Prune messages.

    - Fix some of the XRL names related to static RP configuration
      in the configuration shell scripts.

    - Fix the generation of Assert messages when data packets are received
      on the wrong interface; in addition, the Assert messages triggered
      by data packets are rate-limited to one Assert message/s (on
      average, per (S,G) or (*,G) routing entry).

    - Implement an optimization when generating Assert messages
      triggered by the data packets received on the wrong interface:
      suppress the second Assert message that is a duplicate.

    - Implement bandwidth-prorated SPT switch triggering:
      The SPT switch can be triggered at the last-hop router if the
      bandwidth from a given source is above a configured threshold.
      In addition, the same mechanism is implemented in the RP as well
      (not in the spec, where the SPT switch in the RP is always triggered
      by the first packet).

    - Keep various PIM-related statistics (e.g., number of sent
      or received PIM control messages per interface, etc), and add
      the appropriate XRL interface to get or reset those statistics.

    - Modify slightly the "show pim join" CLI output. E.g., print
      "Could assert WC:" for all entries, print "Could assert SG:"
      for (S,G,rpt) as well, etc.

    - Bug fix: when receiving IPv6 PIM packets, use the IPv6-specific
      pseudo-header to compute the checksum.

  CLI:
    - On exit, restore the original terminal flags in case of stdio-based
      CLI access. This should fix a bug when running xorpsh from sh/bash
      and pressing Ctrl-D leaves sh/bash in non-echo mode.

    - Reverse the key binding of 'j' and 'k' in page mode. Now the
      binding is same as in "vi/more/less":
      'j' scroll down one line, while 'k' scroll up one line.

  SNMP:
    - Full implementation of BGP4-MIB module (RFC 1657) including traps.

  RIP:
    - Implementation functionally operational save communication with the RIB
      for injecting routes, the FEA to send and receive packets, FEA
      interface monitoring code, and an XRL interface for configuration.


To generate a diff of this commit:
cvs rdiff -r1.7 -r1.8 pkgsrc/net/xorp/Makefile
cvs rdiff -r1.1.1.1 -r1.2 pkgsrc/net/xorp/PLIST pkgsrc/net/xorp/distinfo
cvs rdiff -r1.1.1.1 -r0 pkgsrc/net/xorp/patches/patch-aa

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.