[Xorp-hackers] Announcing XORP Release Candidate 1.0

Atanu Ghosh atanu@ICSI.Berkeley.EDU
Tue, 15 Jun 2004 15:48:34 -0700


On behalf of the entire XORP team, I'm delighted to announce the XORP
1.0 Release Candidate, which is now available from <http://www.xorp.org>.

Once the release candidate has proven to be stable, the actual 1.0
release will be prepared. This is planned to occur in the next two
weeks. In the intervening period we will be fixing minor problems and
updating the documentation.

The XORP router is now totally configurable through the XORP shell
(xorpsh). A quick start guide is available from 
<http://www.xorp.org/getting_started.html>.

Please note that a XORP Live CD <http://www.xorp.org/livecd.html> is
also available. This is a bootable CD that allows you to experiment
with XORP without having to build or install it.

There are still a number of non-critical bugs that we know about which
will not be addressed until the 1.1 release; these are documented in
the errata section below.

In general, to test XORP, we run automated regression tests on a daily
basis with various operating systems and compilers. We also run a
number of PCs as XORP routers. We have enabled as many protocols as
feasible on those routers to test protocol interactions (for example a
BGP IPv6 multicast feed being used by PIM-SM). In addition, automated
scripts are run to externally toggle BGP peerings. Finally, we have
automated scripts that interact directly with the xorpsh to change the
configuration settings.

We have put significant effort into testing but obviously we have not
found all the problems. This is where you can help us to make XORP
more stable, by downloading and using it!

As always we'd welcome your comments - xorp-users@xorp.org is the
right place for general discussion, and private feedback to the XORP
core team can be sent to feedback@xorp.org.

 - The XORP Team

P.S.
Release notes and errata are included below.

------------------------------------------------------------------

		XORP RELEASE NOTES

This file contains XORP release notes (most recent releases first).

Release 1.0RC (2004/06/15)
=========================
  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.

------------------------------------------------------------------

		XORP ERRATA

  ALL:
    - Parallel building (e.g., "gmake -j 4") may fail on multi-CPU machines.
      The simplest work-around is to rerun gmake or not to use the -j flag.

    - Overwriting the default installation prefix by running
      "./configure --prefix=/path/to/xorp" currently does not work.
      This will be fixed for XORP Release 1.0.

    - Some of the design documentation in ${XORP}/docs/ hasn't been updated
      for this release candidate. This will be fixed for XORP Release 1.0.

  LIBXORP:
    - No known issues.

  LIBXIPC:
    - No known issues.

  LIBFEACLIENT:
    - No known issues.

  XRL:
    - No known issues.

  RTRMGR:
    - There are several known issues, but none of them is considered critical.
      The list of known issues is available from
      http://www.xorp.org/bugzilla/query.cgi

  XORPSH:
    - A problem was noticed very late in the release process; rather
      than delay the release we have choosen to document the
      problem. The xorpsh provides the command line to the XORP
      router. The router configuration is structured as a tree,
      for instance configuring a new protocol essentially adds a new
      node to the tree. Removing a protocol involves deleting a node
      from the tree. In some cases deleting a node does not remove all
      the associated state; worse putting the same node back seems to
      fail in the majority of cases.

  FEA/MFEA:
    - On Linux, the following error message may appear during graceful
      shutdown (if PIM-SM is also running):

        [ 2004/06/09 14:50:40  ERROR xorp_fea:14359 MFEA +1676
        mfea_mrouter.cc get_sg_count ] ioctl(SIOCGETSGCNT, (10.10.10.10
        224.0.1.20)) failed: Bad file descriptor

      The error is harmless and can be ignored.

  RIB: 
    - If an interface address is deleted, the RIB may trigger the following
      error in the FEA:

        [ 2004/06/07 16:08:57  ERROR xorp_fea:1605 FEA +259
        fticonfig_entry_set_rtsock.cc delete_entry ] error writing to
        routing socket: No such process
        [ 2004/06/07 16:08:57  ERROR xorp_fea:1605 FEA +61 fti_transaction.cc
        operation_result ] FTI transaction commit failed on DeleteEntry4: net =
        172.16.124.0/24 gateway = 0.0.0.0 ifname =  vifname
        =  metric = 0 admin_distance = 0 xorp_route = false is_deleted = false
        [ 2004/06/07 16:08:57  ERROR xorp_fea:1605 FEA +259

      This error has no side effects, and can be ignored.

    - In some rare cases, the RIB may fail to delete an existing route
      (See http://www.xorp.org/bugzilla/show_bug.cgi?id=62).
      We are aware of the issue and will attempt to fix it in the near future.

  RIP:
    - No known issues.

  BGP:
    - Once BGP selects a route it is taking too long to install it in
      the kernel.

    - The RIB bug above where deleting an existing route can fail is sometimes
      triggered by BGP. When BGP receives the deletion failure error
      from the RIB it considers this to be a fatal error and
      exits. This problem will be fixed before the XORP 1.0 Release.

  STATIC_ROUTES:
    - If the FEA or RIB exit unexpected, then STATIC_ROUTES may start
      printing lots of error messages.
      
  MLD/IGMP:
    - If MLD/IGMP is started with a relatively large number of interfaces
      (e.g., on the order of 20), then it may fail with the following error:

        [ 2004/06/14 12:58:56  ERROR test_pim:16548 MFEA +666
        mfea_proto_comm.cc join_multicast_group ] Cannot join group 224.0.0.2
        on vif eth8: No buffer space available

      The solution is to increase the multicast group membership limit.
      E.g., to increase the value from 20 (the default) to 200, run as a root:

        echo 200 > /proc/sys/net/ipv4/igmp_max_memberships

  PIM-SM:
    - If the kernel does not support PIM-SM, or if PIM-SM is not enabled
      in the kernel, then running PIM-SM will fail with the following
      error message:
        [ 2004/06/12 10:26:41  ERROR xorp_fea:444 MFEA +529 mfea_mrouter.cc
        start_mrt ] setsockopt(MRT_INIT, 1) failed: Operation not supported

  FIB2MRIB:
    - If the FEA or RIB exit unexpected, then STATIC_ROUTES may start
      printing lots of error messages.

  CLI:
    - No known issues.

  SNMP:
    - net-snmp-5.1.* may have problems with some of its header files, hence
      the XORP SNMP support won't be compiled if those problems exist.
      Instead, use an earlier net-snmp version from the 5.0.x branch.

------------------------------------------------------------------