[Xorp-cvs] SF.net SVN: xorp:[11699] trunk/xorp
greear at users.sourceforge.net
greear at users.sourceforge.net
Thu Apr 29 22:45:15 PDT 2010
Revision: 11699
http://xorp.svn.sourceforge.net/xorp/?rev=11699&view=rev
Author: greear
Date: 2010-04-30 05:45:14 +0000 (Fri, 30 Apr 2010)
Log Message:
-----------
release: Update release notes and similar, version to 1.7
Signed-off-by: Ben Greear <greearb at candelatech.com>
Modified Paths:
--------------
trunk/xorp/BUGS
trunk/xorp/BUILD_NOTES
trunk/xorp/ERRATA
trunk/xorp/README
trunk/xorp/RELEASE_NOTES
trunk/xorp/TODO
trunk/xorp/VERSION
trunk/xorp/etc/templates/xorpsh.cmds
trunk/xorp/rtrmgr/master_conf_tree.cc
Modified: trunk/xorp/BUGS
===================================================================
--- trunk/xorp/BUGS 2010-04-29 15:10:56 UTC (rev 11698)
+++ trunk/xorp/BUGS 2010-04-30 05:45:14 UTC (rev 11699)
@@ -1,6 +1,3 @@
-#
-# $XORP$
-#
* Please report bugs using Trac: http://sourceforge.net/apps/trac/xorp/
Modified: trunk/xorp/BUILD_NOTES
===================================================================
--- trunk/xorp/BUILD_NOTES 2010-04-29 15:10:56 UTC (rev 11698)
+++ trunk/xorp/BUILD_NOTES 2010-04-30 05:45:14 UTC (rev 11699)
@@ -1,6 +1,3 @@
-#
-# $XORP: xorp/BUILD_NOTES,v 1.116 2009/01/08 01:22:02 syedk Exp $
-#
Build Notes for XORP (eXtensible Open Router Platform)
@@ -8,10 +5,9 @@
0. Preface
==========
-As of September 2009, much of the information in this file may be outdated,
-and should probably be moved to a Wiki. Some instructions refer to the
-old GNU Autotools based build system, which is now deprecated. SNMP support
-is currently deprecated and requires a rewrite.
+XORP builds on Linux and BSD variants that support the 'scons' build
+system and GNU g++ compiler toolset. Please ask on the xorp-hackers
+mailing list if your preferred system is not currently supported.
1. Compilation
==============
@@ -22,7 +18,8 @@
To compile XORP, you must have SCons installed. Then just
run the following commands in the top-level directory:
-scons
+scons -j4
+scons install
To change the default C and C++ compilers, then assign the binary
names to the CC and CXX user environmental variables respectively.
@@ -36,6 +33,9 @@
those flags to the CFLAGS and CXXFLAGS environmental variables (for the
C and C++ compiler respectively) before running "scons".
+For various compile options use: scons --help
+
+
1.2 Generating documentation
============================
@@ -303,44 +303,18 @@
3.5. Linux
==========
- * Linux Red Hat-7.2 (kernel 2.4.18):
- - The code compiles, but some of the internal tests fail dumping core.
- The problem is attributable to exception handler failures caused by
- the default compiler/binutils combination. More information is
- available at:
- http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=54724
- - IGMP and PIM-SM appear to work.
+ * It is difficult to get distributions older than Fedora Core 5
+ to compile XORP 1.7, primarily due to scons and python dependencies.
- * Linux Red Hat-7.3 (kernel 2.4-20):
- - No known issues.
- - The code should compile with the following versions of the
- gcc/g++ compiler: 2.96 (default).
-
- * Linux Red Hat-9.2 (kernel 2.4.20-8smp):
- - You must install the following RPMs (and all other RPMs they depend on):
- - openssl-devel (e.g., openssl-devel-0.9.7a-5.i386.rpm)
- - ncurses (e.g., ncurses-5.3-4.i386.rpm)
- - The code compiles, and the internal tests appear to succeed.
-
* Linux Red Hat Enterprise Linux Server release 5 (Tikanga)
(kernel 2.6.18-8.el5)
- Optionally install the following packages:
- libpcap-devel (e.g., libpcap-devel.x86_64)
This package is needed for sending/receiving link layer data frames.
- - net-snmp, net-snmp-utils, net-snmp-devel, net-snmp-perl
- Those packages are needed for SNMP support.
- The code compiles, and the internal tests appear to succeed.
- gcc (GCC) 4.1.1 20070105 (Red Hat 4.1.1-52)
- Tested on the following architectures: x86_64 (amd64)
- * Linux Fedora Core2 (kernel 2.6.5-1.358):
- - The code compiles, but some of the internal tests may fail.
-
- * Linux Fedora Core4 (kernel 2.6.11-1.1369_FC4smp):
- - The code compiles, and the internal tests appear to succeed
- with the following compilers: gcc-4.0.0 (default), gcc-4.0.1,
- gcc-4.0.2.
-
* Linux Fedora Core5 (2.6.16-1.2080_FC5smp):
- The code compiles, and the internal tests appear to succeed.
- gcc (GCC) 4.1.0 20060304 (Red Hat 4.1.0-3)
@@ -364,8 +338,6 @@
- Optionally install the following packages:
- libpcap-devel
This package is needed for sending/receiving link layer data frames.
- - The code compiles, and the internal tests appear to succeed
- except test33 in "bgp/harness/test_peering1.sh"
- gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8)
* Linux Fedora 10 (2.6.27.5-117.fc10.i686):
@@ -397,12 +369,6 @@
Either create a link from gcc to gcc-3.3 and from g++ to g++-3.3,
or set the CC and CXX environments to point to the binary names.
E.g., in csh/tcsh: setenv CC gcc-3.3; setenv CXX g++-3.3
- - If you see an error like the following when compiling with make/gmake:
- python ../../xrl/scripts/tgt-gen -I../../xrl/interfaces finder.tgt
- sh: line 1: cpp: command not found
- then you would need to create a link from cpp to the C preprocessor.
- E.g., if the C preprocessor is /usr/bin/cpp-3.3, then execute as root:
- cd /usr/bin; ln -s cpp-3.3 cpp
- The code compiles, and the internal tests appear to succeed.
- gcc-3.3 (GCC) 3.3.5 (Debian 1:3.3.5-13)
@@ -448,11 +414,6 @@
* Linux Ubuntu-7.04 (Server Edition, kernel 2.6.20-15-server):
- You must install the following packages:
- - make
- Note that the installed binary name is "make" so you need
- to run "make" instead of "gmake" to compile the source code.
- Alternatively, add "gmake" as a symbolic link to "make":
- cd /usr/bin; ln -s make gmake
- libssl-dev (e.g., version 0.9.8c-4build1)
- gcc (e.g., gcc-4.1)
- g++ (e.g., g++-4.1)
@@ -467,19 +428,12 @@
* Linux Ubuntu-7.10 (Server Edition, kernel 2.6.22-14-server):
- You must install the following packages:
- - make
- Note that the installed binary name is "make" so you need
- to run "make" instead of "gmake" to compile the source code.
- Alternatively, add "gmake" as a symbolic link to "make":
- cd /usr/bin; ln -s make gmake
- libssl-dev (e.g., version 0.9.8e-5ubuntu3.1)
- gcc (e.g., gcc-4.1)
- g++ (e.g., g++-4.1)
- Optionally install the following packages:
- libpcap0.8-dev
This package is needed for sending/receiving link layer data frames.
- - snmpd and libsnmp-dev
- Those packages are needed for SNMP support.
- iptables-dev
This package is needed for configuring firewall rules using XORP.
- The code compiles, and the internal tests appear to succeed.
@@ -488,19 +442,12 @@
* Linux Ubuntu-8.04.1 (Server Edition, kernel 2.6.24-19-server):
- You must install the following packages:
- - make
- Note that the installed binary name is "make" so you need
- to run "make" instead of "gmake" to compile the source code.
- Alternatively, add "gmake" as a symbolic link to "make":
- cd /usr/bin; ln -s make gmake
- libssl-dev (e.g., version 0.9.8g-4ubuntu3.3)
- gcc (e.g., gcc-4.2)
- g++ (e.g., g++-4.2)
- Optionally install the following packages:
- libpcap0.8-dev
This package is needed for sending/receiving link layer data frames.
- - snmpd and libsnmp-dev
- Those packages are needed for SNMP support.
- iptables-dev
This package is needed for configuring firewall rules using XORP.
- The code compiles, and the internal tests appear to succeed.
@@ -509,19 +456,12 @@
* Linux Ubuntu-8.10 (Server Edition, kernel 2.6.27-7-server):
- You must install the following packages:
- - make
- Note that the installed binary name is "make" so you need
- to run "make" instead of "gmake" to compile the source code.
- Alternatively, add "gmake" as a symbolic link to "make":
- cd /usr/bin; ln -s make gmake
- libssl-dev (e.g., 0.9.8g-10.1ubuntu2)
- gcc (e.g., gcc-4.3)
- g++ (e.g., g++-4.3)
- Optionally install the following packages:
- libpcap0.8-dev
This package is needed for sending/receiving link layer data frames.
- - snmpd and libsnmp-dev
- Those packages are needed for SNMP support.
- iptables-dev
This package is needed for configuring firewall rules using XORP.
- The code compiles, and the internal tests appear to succeed.
@@ -558,6 +498,7 @@
3.6. Mac OS X
=============
+ * NOTE: I have no idea if XORP 1.7 on Mac OS X compiles at all. --Ben
* All:
- Unicast routing appears to work.
@@ -583,495 +524,26 @@
3.7 Microsoft Windows
=====================
+ * Not supported any longer.
- * All:
- - We encourage users to try XORP on newer, unsupported versions of
- Windows and report their results to the development team.
-
- - 64-bit versions of Windows are known not to support MinGW, and are
- therefore not currently supported by XORP.
-
- - For instructions how to build the XORP Installer for Windows
- see xorp/contrib/win32/installer/README.
-
- - NOTE WELL: If you are trying to build XORP with MinGW-current as of
- 31st July 2006, you will need to manually remove the
- -Wmissing-declarations and -Wmissing-prototypes warning flags from
- the CPARANOIDFLAGS variable in XORP's configure script in order
- to build XORP without interruption.
- This is due to the new way that MSVCRT inline functions are dealt
- with in the mingw-runtime system headers. No other workaround
- is known at this time.
-
- * Windows Server 2003 (Service Pack 1) (32-bit, x86):
- - XORP is only supported on Windows Server 2003, and is targeted for
- 32-bit x86 systems.
-
- - If a Win32 support patch is shipped for your release, please apply
- it before filing bug reports with the core team.
-
- - Unicast routing appears to work.
- - All regression tests pass as of XORP 1.2.
- - IPv6 is not supported.
- - RTMv2 is not supported.
- - Multicast is not supported.
-
- - The code compiles using the MinGW port of gcc 3.4.2, using the
- MSYS shell environment.
-
- - Instructions for building XORP on Windows Server are identical
- to those for building XORP on a UNIX platform. However, the
- following caveats apply.
-
- * If you specify the --with-openssl option to configure, it may be
- propagated to the libtecla build, causing the top-level make to break.
-
- * Any paths passed to the configure script must be in MinGW UNIX-style
- format. Example: 'C:\XORP' becomes '/c/xorp'.
-
- A patch must be manually applied to the MinGW toolchain before
- attempting to build XORP, as we use API functions which are present in
- the Windows SDK but which are not yet present in the system headers
- which ship with MinGW as of May 2006.
-
- You MAY need to bracket references to off_t in MinGW's <unistd.h>
- header with '#if 0'.
-
- The patch may be found in the xorp/contrib/win32 directory.
-
- * Download the source for w32api-3.7 from mingw.org and untar it
- into a writable location.
- * Change into this directory.
- * Apply the w32api-3.7-xorp.patch to this tree with 'patch -p1'.
- * From within the w32api-3.7 directory, run ./configure --prefix=/usr
- to ensure that the existing w32api binary installation will be
- overwritten.
- (The paths under the MinGW / are aliased under /usr too, but the
- w32api makefiles are confused by a single slash in their PREFIX.)
- * make && make install
-
- If you encounter any problems, please send the output of the command
- "msysinfo all" and contact the XORP development team with this
- information.
-
- - We recommend that you install MinGW, MSYS, and the required GNU/Win32
- ports under the path C:\MinGW\, in that order.
-
- - We recommend that you initially use the Nullsoft Installer which
- is now shipping on MinGW.org to install the 'current' version of
- the base MinGW tools.
-
- - Once the base MinGW installation is complete, you should then
- manually update the toolchain which this program installs by
- downloading and untarring the following packages in the root of
- your MinGW installation.
-
- * MSYS-1.0.11-2004
- * binutils-2.15.91
- * gcc-g++
- * gcc-core
- * gdb-6.3-1
- * mingw-runtime
- * mingw-utils
- * mingw32-make
- * msysDTK-1.0.0
- * w32api-3.7
-
- - Make sure that symbolic links or copies of mingw32-make.exe as
- make.exe and gmake.exe respectively in your MinGW path.
-
- - You must install the following GNU/Win32 ports:-
-
- * openssl-bin (Binaries)
- * openssl-lib (Developer files)
- * pcre-bin (Binaries)
- * pcre-lib (Developer files)
-
- They may be found at: http://gnuwin32.sourceforge.net/packages.html
-
- - You must install Python for Windows if you intend to run the
- regression tests. This may be found at: http://www.python.org/download/
-
- The path to the python.exe binary must either be present in PATH after
- installation, or a symlink created in the MinGW environment.
-
- - In certain cases the compilation might try to use Python to
- auto-generate some files. In that case, one possible work-around
- solution would be install Python. However, if the compilation
- fails with an error like:
-
-/c/python24/python ../../xrl/scripts/tgt-gen -I../../xrl/interfaces bgp.tgt
-process_begin: CreateProcess((null), /c/python24/python ../../xrl/scripts/tgt-gen -I../../xrl/interfaces bgp.tgt, ...) failed.
-make (e=3): The system cannot find the path specified.
-
- then try using the following command in the top-level XORP directory:
-
- env PYTHON=C:/dos/style/path/to/python.exe ./configure
-
- - The RunShellCommand class has a hard-coded path to the MSYS shell.
- This is currently a no-op because the router manager no longer uses
- this class for running XORP modules.
-
- - To take a full BGP route feed, a registry key must be updated:
- HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
- must be set to 0xFFFFFFFF. Be warned that this removes the upper
- limit on use of nonpageable system memory for kernel FIB entries;
- if the kernel FIB memory requirements ever exceed physical memory,
- the NT kernel will panic.
-
- The XORP installer has a property page which allows this to be set
- by the administrator, but it does not roll back these settings when
- XORP is uninstalled.
-
- - If the Windows Routing and Remote Access (RRAS) service is running,
- the XORP FEA process may not be able to update the Windows IPv4
- routing tables. The FEA will detect when this service is running
- and print a warning message to the XORP process log.
-
- - The XORP Shell (xorpsh.exe) should be run from within a native
- Win32 command prompt. If run from within any other kind of shell,
- it may not work.
-
- * Windows 'Longhorn' Server (Build 5384) (32-bit, x86):
- - XORP is known to compile on this operating system, but is currently
- unsupported, with the following caveats as they apply to the
- instructions given for building under Windows Server 2003:
-
- * MinGW and MSYS must be installed in separate directories in order
- to work.
- * As such, MSYSROOT must be set to point to the MSYS root directory,
- and links/copies of sh.exe and bash.exe made in the MinGW tree.
- * The GnuWin32 utilities should be installed in the MinGW tree.
- * The latest bleeding-edge MinGW toolchain is in use (g++ 3.4.5).
- * ActiveState Python is known to install correctly; the open source
- Python will not.
-
- The following points only apply to the use of the XORP tinderbox:
- * A copy or link of sh.exe as bash.exe must be made for the BGP
- regression tests to run.
- * CopSSH does not install under Vista or Longhorn.
- * SSH for Windows does not install under Vista or Longhorn.
- * Subsystem for UNIX Applications (SUA), as an alternative means of
- running sshd, is not ready as of this writing for Vista or Longhorn.
-
- * Windows Vista Ultimate Beta (Build 5384) (32-bit, x86):
- - The binary snapshots for Windows Server 2003 are known to run on
- this operating system, but are not officially supported.
-
3.8. Cross-compilation
======================
+ * Not supported at this time, but may not be difficult to enable.
- * All:
- - Running the "gmake check" internal tests within the
- cross-compilation environment will not work, unless the build
- machine is capable of running the cross-compiled binaries for the
- target architecture.
-
- * IA-64
- - The code is known to cross-compile on Linux, but it is unknown
- whether the internal tests succeed.
- XORP itself hasn't been tested on IA-64 machine, so it is unknown
- whether it will run properly.
-
- * MIPS (Broadcom for Linksys WRT54G)
- - The code is known to cross-compile on Linux, but it is unknown
- whether the internal tests succeed.
- XORP itself hasn't been tested on Linksys WRT54, so it is unknown
- whether it will run properly.
-
- * PowerPC-603
- - The code is known to cross-compile on Linux, but it is unknown
- whether the internal tests succeed.
- XORP itself hasn't been tested on PowerPC-603 machine, so it is
- unknown whether it will run properly.
-
- * Sparc64
- - The code is known to cross-compile on Linux, but it is unknown
- whether the internal tests succeed.
- XORP itself hasn't been tested on Sparc64 machine, so it is unknown
- whether it will run properly.
-
- * XScale
- - The code is known to cross-compile on Linux, but it is unknown
- whether the internal tests succeed.
- XORP appears to run on Linux MontaVista-3.1, but it hasn't been
- tested thoughtfully.
-
- * Instructions for installing crosstool-based cross-compilation tools.
-
- Use the following instructions to install cross-compilation tools
- and use those tools to compile XORP:
-
- a) Download crosstool from http://kegel.com/crosstool/ and untar it:
-
- wget http://kegel.com/crosstool/crosstool-0.42.tar.gz
- tar zxvf crosstool-0.42.tar.gz
- cd crosstool-0.42
-
- b) Apply one of the following patches:
-
- - IA-64
- patch < demo-ia64.sh.patch
-
-----------------------------------------------------------------------
---- demo-ia64.sh.org 2005-03-09 13:49:19.000000000 -0800
-+++ demo-ia64.sh 2006-10-18 17:37:25.000000000 -0700
-@@ -18,6 +18,7 @@
- #eval `cat ia64.dat gcc-3.4.0-glibc-2.3.2.dat` sh all.sh --notest
- #eval `cat ia64.dat gcc-3.4.1-glibc-2.3.2.dat` sh all.sh --notest
- #eval `cat ia64.dat gcc-3.4.1-glibc-2.3.3.dat` sh all.sh --notest
-- eval `cat ia64.dat gcc-3.4.2-glibc-2.3.3.dat` sh all.sh --notest
-+# eval `cat ia64.dat gcc-3.4.2-glibc-2.3.3.dat` sh all.sh --notest
-+ eval `cat ia64.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh --notest
-
- echo Done.
-----------------------------------------------------------------------
-
- - MIPS (Broadcom for Linksys WRT54G)
- patch < demo-mipsel.sh.patch
-
-----------------------------------------------------------------------
---- demo-mipsel.sh.org 2005-03-07 16:34:34.000000000 -0800
-+++ demo-mipsel.sh 2006-10-25 16:25:59.000000000 -0700
-@@ -33,8 +33,9 @@
- #eval `cat mipsel.dat gcc-3.4.0-glibc-2.3.2.dat` sh all.sh --notest
- #eval `cat mipsel.dat gcc-3.4.1-glibc-2.2.5.dat` sh all.sh --notest
- #eval `cat mipsel.dat gcc-3.4.1-glibc-2.3.2.dat` sh all.sh --notest
-- eval `cat mipsel.dat gcc-3.4.2-glibc-2.2.5.dat` sh all.sh --notest
-+# eval `cat mipsel.dat gcc-3.4.2-glibc-2.2.5.dat` sh all.sh --notest
- #eval `cat mipsel.dat gcc-3.4.2-glibc-2.3.3.dat` sh all.sh --notest
- #eval `cat mipsel.dat gcc-3.4.2-glibc-20040827.dat` sh all.sh --notest
-+eval `cat mipsel.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh --notest
-
- echo Done.
-----------------------------------------------------------------------
-
- - PowerPC-603
- cp -p demo-ppc604.sh demo-ppc603.sh
- patch < demo-ppc603.sh.patch
-
-----------------------------------------------------------------------
---- demo-ppc603.sh.org 2005-03-07 16:34:34.000000000 -0800
-+++ demo-ppc603.sh 2006-12-14 17:13:18.000000000 -0800
-@@ -11,8 +11,9 @@
- mkdir -p $RESULT_TOP
-
- # Build the toolchain. Takes a couple hours and a couple gigabytes.
--#eval `cat powerpc-604.dat gcc-3.4.0-glibc-2.3.2.dat` sh all.sh --builduserland --notest
-- eval `cat powerpc-604.dat gcc-3.4.1-glibc-2.3.3.dat` sh all.sh --notest
--#eval `cat powerpc-604.dat gcc-3.4.1-glibc-20040827.dat` sh all.sh --notest
-+#eval `cat powerpc-603.dat gcc-3.4.0-glibc-2.3.2.dat` sh all.sh --builduserland --notest
-+# eval `cat powerpc-603.dat gcc-3.4.1-glibc-2.3.3.dat` sh all.sh --notest
-+#eval `cat powerpc-603.dat gcc-3.4.1-glibc-20040827.dat` sh all.sh --notest
-+eval `cat powerpc-603.dat gcc-4.1.0-glibc-2.3.6.dat` sh all.sh --notest
-
- echo Done.
-----------------------------------------------------------------------
-
- - Sparc64
- patch < demo-sparc64.sh.patch
-
-----------------------------------------------------------------------
---- demo-sparc64.sh.org 2005-03-07 16:34:34.000000000 -0800
-+++ demo-sparc64.sh 2006-11-06 19:31:57.000000000 -0800
-@@ -15,7 +15,8 @@
- #eval `cat sparc64.dat gcc-3.3.2-glibc-2.3.2.dat` sh all.sh --notest
- #eval `cat sparc64.dat gcc-3.3.3-glibc-2.3.2.dat` sh all.sh --notest
- #eval `cat sparc64.dat gcc-3.4.0-glibc-2.3.2.dat` sh all.sh --notest
-- eval `cat sparc64.dat gcc-3.4.2-glibc-2.3.3.dat` sh all.sh --notest --testlinux
-+# eval `cat sparc64.dat gcc-3.4.2-glibc-2.3.3.dat` sh all.sh --notest --testlinux
- #eval `cat sparc64.dat gcc-3.4.2-glibc-20040827.dat` sh all.sh --notest
-+eval `cat sparc64.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh --notest
-
- echo Done.
-----------------------------------------------------------------------
-
- - XScale
- patch < demo-armv5b-softfloat.sh.patch
-
-----------------------------------------------------------------------
---- demo-armv5b-softfloat.sh.org 2005-03-07 16:34:34.000000000 -0800
-+++ demo-armv5b-softfloat.sh 2006-10-18 15:24:05.000000000 -0700
-@@ -13,7 +13,8 @@
- # Build the toolchain. Takes a couple hours and a couple gigabytes.
-
- #eval `cat armv5b-softfloat.dat gcc-3.4.0-glibc-2.3.2.dat` sh all.sh --notest
-- eval `cat armv5b-softfloat.dat gcc-3.4.1-glibc-2.3.3.dat` sh all.sh --notest
-+# eval `cat armv5b-softfloat.dat gcc-3.4.1-glibc-2.3.3.dat` sh all.sh --notest
- #eval `cat armv5b-softfloat.dat gcc-3.4.1-glibc-20040827.dat` sh all.sh --notest
-+ eval `cat armv5b-softfloat.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh --notest
-
- echo Done.
-----------------------------------------------------------------------
-
- c) Compile the toolchain and install it:
-
- sudo mkdir /opt/crosstool
- sudo chown $USER /opt/crosstool
-
- # Unset the LD_LIBRARY_PATH environmetal variable
- setenv _SAVE_LD_LIBRARY_PATH $LD_LIBRARY_PATH
- unsetenv LD_LIBRARY_PATH
-
- # Perform the compilation (it tay take a while)
-
- - IA-64
- sh demo-ia64.sh
-
- - MIPS (Broadcom for Linksys WRT54G)
- sh demo-mipsel.sh
-
- - PowerPC-603
- sh demo-ppc603.sh
-
- - Sparc64
- sh demo-sparc64.sh
-
- - XScale
- sh demo-armv5b-softfloat.sh
-
- # Restore the original LD_LIBRARY_PATH environmetal variable
- cd ..
- setenv LD_LIBRARY_PATH $_SAVE_LD_LIBRARY_PATH
- unsetenv _SAVE_LD_LIBRARY_PATH
-
- d) Set some environmetal variables that will be used later.
- The values need to be modified appropriately if the tools
- are installed in different directory.
-
- - IA-64
- setenv CROSS_ARCH ia64-unknown-linux-gnu
- setenv CROSS_ROOT /opt/crosstool/gcc-3.4.5-glibc-2.3.6/${CROSS_ARCH}
- setenv CROSS_ROOT_ARCH ${CROSS_ROOT}/${CROSS_ARCH}
-
- - MIPS (Broadcom for Linksys WRT54G)
- setenv CROSS_ARCH mipsel-unknown-linux-gnu
- setenv CROSS_ROOT /opt/crosstool/gcc-3.4.5-glibc-2.3.6/${CROSS_ARCH}
- setenv CROSS_ROOT_ARCH ${CROSS_ROOT}/${CROSS_ARCH}
-
- - PowerPC-603
- setenv CROSS_ARCH powerpc-603-linux-gnu
- setenv CROSS_ROOT /opt/crosstool/gcc-4.1.0-glibc-2.3.6/${CROSS_ARCH}
- setenv CROSS_ROOT_ARCH ${CROSS_ROOT}/${CROSS_ARCH}
-
- - Sparc64
- setenv CROSS_ARCH sparc64-unknown-linux-gnu
- setenv CROSS_ROOT /opt/crosstool/gcc-3.4.5-glibc-2.3.6/${CROSS_ARCH}
- setenv CROSS_ROOT_ARCH ${CROSS_ROOT}/${CROSS_ARCH}
-
- - XScale
- setenv CROSS_ARCH armv5b-softfloat-linux
- setenv CROSS_ROOT /opt/crosstool/gcc-3.4.5-glibc-2.3.6/${CROSS_ARCH}
- setenv CROSS_ROOT_ARCH ${CROSS_ROOT}/${CROSS_ARCH}
-
- e) Download openssl from http://www.openssl.org/ and untar it:
-
- wget http://www.openssl.org/source/openssl-0.9.8d.tar.gz
- tar zxvf openssl-0.9.8d.tar.gz
- cd openssl-0.9.8d
-
- f) Add a line like the following to file "Configure" in the section
- with other Linux targets. Note that the second field might need
- to be modified to match the exact path name of the installed
- cross-compiler.
-
- - IA-64
-"ia64-unknown-linux-gnu", "/opt/crosstool/gcc-3.4.5-glibc-2.3.6/ia64-unknown-linux-gnu/bin/ia64-unknown-linux-gnu-gcc:-DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-
- - MIPS (Broadcom for Linksys WRT54G)
-"mipsel-unknown-linux-gnu", "/opt/crosstool/gcc-3.4.5-glibc-2.3.6/mipsel-unknown-linux-gnu/bin/mipsel-unknown-linux-gnu-gcc:-DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-
- - PowerPC-603
-"powerpc-603-linux-gnu", "/opt/crosstool/gcc-4.1.0-glibc-2.3.6/powerpc-603-linux-gnu/bin/powerpc-603-linux-gnu-gcc:-DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL::${no_asm}::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-
- - Sparc64
-"sparc64-unknown-linux-gnu", "/opt/crosstool/gcc-3.4.5-glibc-2.3.6/sparc64-unknown-linux-gnu/bin/sparc64-unknown-linux-gnu-gcc:-DB_ENDIAN -DTERMIOS -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-
- - XScale
-"armv5b-softfloat-linux", "/opt/crosstool/gcc-3.4.5-glibc-2.3.6/armv5b-softfloat-linux/bin/armv5b-softfloat-linux-gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-
- g) Cross-compile openssl and install it:
-
- ./Configure $CROSS_ARCH
- make INSTALL_PREFIX=$CROSS_ROOT_ARCH install
-
- h) Prepare the XORP cross-compilation environment.
- The first three commands can be skipped if they were done in
- step (d):
-
- - IA-64
- setenv CROSS_ARCH ia64-unknown-linux-gnu
- setenv CROSS_ROOT /opt/crosstool/gcc-3.4.5-glibc-2.3.6/${CROSS_ARCH}
-
- - MIPS (Broadcom for Linksys WRT54G)
- setenv CROSS_ARCH mipsel-unknown-linux-gnu
- setenv CROSS_ROOT /opt/crosstool/gcc-3.4.5-glibc-2.3.6/${CROSS_ARCH}
-
- - PowerPC-603
- setenv CROSS_ARCH powerpc-603-linux-gnu
- setenv CROSS_ROOT /opt/crosstool/gcc-4.1.0-glibc-2.3.6/${CROSS_ARCH}
-
- - Sparc64
- setenv CROSS_ARCH sparc64-unknown-linux-gnu
- setenv CROSS_ROOT /opt/crosstool/gcc-3.4.5-glibc-2.3.6/${CROSS_ARCH}
-
- - XScale
- setenv CROSS_ARCH armv5b-softfloat-linux
- setenv CROSS_ROOT /opt/crosstool/gcc-3.4.5-glibc-2.3.6/${CROSS_ARCH}
-
- setenv CROSS_ROOT_ARCH ${CROSS_ROOT}/${CROSS_ARCH}
- setenv CC ${CROSS_ROOT}/bin/${CROSS_ARCH}-gcc
- setenv CXX ${CROSS_ROOT}/bin/${CROSS_ARCH}-g++
- setenv LD ${CROSS_ROOT}/bin/${CROSS_ARCH}-ld
- setenv RANLIB ${CROSS_ROOT}/bin/${CROSS_ARCH}-ranlib
- setenv NM ${CROSS_ROOT}/bin/${CROSS_ARCH}-nm
-
- [Optional]
- setenv PATH ${PATH}:${CROSS_ROOT}/bin
- rehash
-
- i) Cross-compile XORP:
-
- cd /path/to/xorp/source/code
- ./configure --host=${CROSS_ARCH} --with-openssl=${CROSS_ROOT_ARCH}/usr/local/ssl
- gmake
-
-
4. Performance optimization
===========================
-[Note: this section is incomplete]
-
By default, XORP is compiled with compiler debug information enabled
-and no optimization.
+and moderate optimization.
-Use the following command to disable the compiler debug information and
-to enable optimization:
+See 'scons --help' for more options.
-./configure --enable-optimize --disable-debug
-Remember that if XORP was compiled previously with different options,
-it must be recompiled from scratch:
-
-gmake clean
-gmake
-
-Additional compiler-related optimizations flags can be specified on
-the command line by setting CFLAGS (the C compiler flags) and CXXFLAGS
-(the C++ compiler flags). E.g., the following options can be used for
-Intel PentiumPro CPU optimizations:
-
-./configure --enable-optimize --disable-debug \
- "CFLAGS=-march=pentiumpro -O3 -fomit-frame-pointer" \
- "CXXFLAGS=-march=pentiumpro -O3 -fomit-frame-pointer"
-
-Other flags that can be set on the command line are CPPFLAGS (the C/C++
-pre-processor flags), and LDFLAGS (the linker flags).
-
-
5. Setting-up Ubuntu for XORP Installation
==========================================
+[ This section is at least partially out-dated. ]
+
1)Install Ubuntu from Live CD - all default values hold good.
2)Add your login name to the sudoers file
3)Edit interfaces file
Modified: trunk/xorp/ERRATA
===================================================================
--- trunk/xorp/ERRATA 2010-04-29 15:10:56 UTC (rev 11698)
+++ trunk/xorp/ERRATA 2010-04-30 05:45:14 UTC (rev 11699)
@@ -1,14 +1,10 @@
-#
-# $XORP: xorp/ERRATA,v 1.49 2008/12/19 00:35:26 abittau Exp $
-#
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.
+ See: https://sourceforge.net/apps/trac/xorp/report for current
+ bug list.
+ ALL:
- The following compiler is known to be buggy, and should not be
used to compile XORP:
gcc34 (GCC) 3.4.0 20040310 (prerelease) [FreeBSD]
@@ -33,10 +29,8 @@
RTRMGR:
- There are several known issues, but none of them is considered
- critical. The list of known issues is available from:
+ critical.
- http://www.xorp.org/bugzilla/query.cgi
-
- Using the rtrmgr "-r" command-line option to restart processes
that have failed does not work if a process fails while being
reconfigured via xorpsh. If that happens, the rtrmgr itself may
@@ -50,10 +44,8 @@
XORPSH:
- There are several known issues, but none of them is considered
- critical. The list of known issues is available from:
+ critical.
- http://www.xorp.org/bugzilla/query.cgi
-
FEA/MFEA:
- On Linux with kernels prior to 2.6.24 and IPv6 support, interfaces
fail to be reconfigured properly if brought down and up again.
@@ -134,9 +126,7 @@
may not work for the following OS-es because the kernel for those
systems does not provide a mechanism for asynchronous notification
of userland programs when the link status changes: FreeBSD-5.2 and
- earlier and MacOS X (note: if the Windows kernel supports this
- feature, it is not used yet in XORP). Though, for those systems
- the link status should be read properly on startup.
+ earlier and MacOS X.
- On Linux with kernel version linux-2.6.17 and older there is a
kernel bug which prevents adding an IPv6 address to an interface
@@ -195,10 +185,8 @@
Eventually this limitation would be fixed in Linux kernel 2.6.28.
RIB:
- - In some rare cases, the RIB may fail to delete an existing route:
+ - In some rare cases, the RIB may fail to delete an existing route.
- http://www.xorp.org/bugzilla/show_bug.cgi?id=62
-
We are aware of the issue and will attempt to fix it in the
future.
@@ -223,8 +211,6 @@
- There are several other known issues, but none of them is
considered critical. The list of known issues is available from:
- http://www.xorp.org/bugzilla/query.cgi
-
BGP:
- The BGP configuration mandates that an IPv4 nexthop must be
supplied. Unfortunately it is necessary to provide an IPv4 nexthop
@@ -360,55 +346,3 @@
CLI:
- No known issues.
-
- SNMP:
- - On some versions of Linux, there are some bugs in net-snmp
- versions 5.0.8 and 5.0.9, which prevent dynamic loading from
- working. See the following URL for links to the net-snmp
- patches that solve the problems:
-
- http://www.xorp.org/snmp.html
-
- - Version 5.1 of net-snmp requires a simple modification, otherwise
- XORP will fail to compile.
- See the following URL for a link to the net-snmp patch that solves
- the problems:
-
- http://www.xorp.org/snmp.html
-
- - There might be a compilation error in the mibs directory on some
- systems running on 64-bit machines (e.g., FreeBSD or Linux on amd64):
-
-g++ -shared xorpevents.lo -Wl,--whole-archive ../libxipc/.libs/libxipc.a ../libxorp/.libs/libxorp.a ../libcomm/.libs/libcomm.a -Wl,--no-whole-archive ../libxipc/.libs/libxipc.a ../libxorp/.libs/libxorp.a ../libcomm/.libs/libcomm.a -lcrypto -Wl,-soname -Wl,libnetsnmpxorp.so -o .libs/libnetsnmpxorp.so
-/usr/bin/ld: ../libxipc/.libs/libxipc.a(hmac_md5.o): relocation R_X86_64_32S can not be used when making a shared object; recompile with -fPIC
-../libxipc/.libs/libxipc.a(hmac_md5.o): could not read symbols: Bad value
-gmake[1]: *** [libnetsnmpxorp.la] Error 1
-
- In that case use the "--enable-shared" flag to "./configure", and
- remove the previous compilation:
-
- ./configure --with-snmp --enable-shared
- gmake clean
- gmake
-
- - There might be a compilation error when running "gmake check"
- in the mibs directory on some systems (e.g., Ubuntu Linux):
-
-g++ -DNETSNMP_NO_INLINE -g -Werror -W -Wall -Wwrite-strings -Wcast-qual
--Wpointer-arith -Wcast-align -Woverloaded-virtual -ftemplate-depth-25 -pipe -o
-.libs/test_xorpevents test_xorpevents.o -Wl,-Bsymbolic-functions -Wl,-E
-../libxipc/.libs/libfinder.a ./.libs/libnetsnmpxorp.so -lpcap -lrt -L/usr/lib
--L/usr/local/lib -L/usr/lib/perl/5.8/CORE /usr/lib/libnetsnmpmibs.so -lsensors
-/usr/lib/libnetsnmphelpers.so /usr/lib/libnetsnmpagent.so -lwrap -lperl -ldl
--lm -lpthread -lc -lcrypt /usr/lib/libnetsnmp.so -lcrypto -Wl,--rpath
--Wl,/home/nithya/bug765/xorp/mibs/.libs -Wl,--rpath -Wl,/usr/local/xorp/mibs/.
-/usr/local/bin/ld: cannot find -lperl
-collect2: ld returned 1 exit status
-make[2]: *** [test_xorpevents] Error 1
-
- A possible work around is to link /usr/lib/libperl to
- /usr/lib/libperl.so.5.10 :
-
- su
- cd /usr/lib
- ln -s libperl.so.5.10 libperl.so
Modified: trunk/xorp/README
===================================================================
--- trunk/xorp/README 2010-04-29 15:10:56 UTC (rev 11698)
+++ trunk/xorp/README 2010-04-30 05:45:14 UTC (rev 11699)
@@ -1,6 +1,3 @@
-#
-# $XORP: xorp/README,v 1.65 2009/01/09 19:20:58 jtc Exp $
-#
XORP: eXtensible Open Router Platform
@@ -13,7 +10,9 @@
developers from XORP, Inc., and members of the XORP.org community.
It started life as a project at the ICSI Center for Open Networking (ICON)
at the International Computer Science Institute in Berkeley, California,
-USA, and is now owned and shepherded by the team at XORP, Inc.
+USA, and spent some time with the team at XORP, Inc. It is now maintained
+and improved on a volunteer basis by a core of long-term XORP developers
+and some newer contributors.
XORP's primary goal is to be an open platform for networking protocol
implementations and an alternative to proprietary and closed networking
@@ -55,7 +54,7 @@
2. Status
=========
-This is XORP Release 1.7-WIP
+This is XORP Release 1.7
It is reasonably stable and can be used for routing, but there are known
issues.
@@ -65,29 +64,18 @@
* FreeBSD
* NetBSD
* OpenBSD
- * Linux
- * Mac OS X
- * Microsoft Windows
+ * Linux (x86-32, x86-64, Sparc)
See ${XORP}/BUILD_NOTES for OS-specific details, compilation
information, etc.
Development platform:
- * FreeBSD-7.0-RELEASE
- - gcc/g++ version 4.2.1 (default)
- - gmake (GNU make) version 3.81
- - autoconf version 2.61
- - automake version 1.10
- - libtool version 1.5.24
- - flex version 2.5.4
- - yacc version default one that comes with the above OS
+ * Linux and FreeBSD
-Other platforms can also be used for development, but the installed
-version of autotools (autoconf/automake/libtool) should match the
-information listed above.
-For Microsoft Windows-based development see the corresponding
-entry in ${XORP}/BUILD_NOTES.
+Other platforms can also be used for development, perhaps with a bit
+of effort. Ask on the xorp-hackers mailing list if your preferred
+platform is not currently supported.
See ${XORP}/ERRATA for the list of known problems.
@@ -140,11 +128,10 @@
3. Compilation, configuration and startup
=========================================
-To compile XORP, you must have GNU make (gmake) installed. Then just
-run the following commands in the top-level directory:
+To compile XORP, you must have a recent version of scons and g++
+compiler toolset installed.
-./configure
-gmake
+scons
See ${XORP}/BUILD_NOTES for additional information of building XORP.
@@ -258,7 +245,8 @@
* contrib : various contributed code.
* olsr : RFC 3626 Optimized Link State Routing implementation.
- Generously funded by CenGen, Inc.
+ Generously funded by CenGen, Inc. (Does not compile in 1.7,
+ but will work in 1.8)
* mld6igmp_lite : Implementation of the Lightweight IGMPv3/MLDv2
protocols:
@@ -267,8 +255,6 @@
The directories listed below contain various information that are of
limited interest, or are not relevant to the current release:
- * config : autoconf/automake related files.
-
* devnotes : various notes for the XORP core members.
* utils : Various XORP-related utilities.
@@ -278,9 +264,10 @@
===============
In the short-term we plan to add:
- * IS-IS
- * Security
- * Bi-directional PIM-SM
+ * Integrate changes found in 'xorp.ct' repository.
+ * Get regression tests working again.
+ * Implement batching and other performance improvements for BGP
+ and other protocols.
In the long-term, we plan to add:
* BGMP
@@ -295,6 +282,7 @@
* Andrea Bittau
* Javier Cardona
* Atanu Ghosh
+ * Ben Greear
* Adam Greenhalgh
* Mark Handley
* Orion Hodson
@@ -321,6 +309,7 @@
- Microsoft
- Vyatta
- CenGen
+ - Candela Technologies (Sponsors Ben Greear)
* Martin C. Shepherd for the libtecla library (used by the CLI).
Modified: trunk/xorp/RELEASE_NOTES
===================================================================
--- trunk/xorp/RELEASE_NOTES 2010-04-29 15:10:56 UTC (rev 11698)
+++ trunk/xorp/RELEASE_NOTES 2010-04-30 05:45:14 UTC (rev 11699)
@@ -1,78 +1,24 @@
-#
-# $XORP: xorp/RELEASE_NOTES,v 1.235 2009/01/09 19:20:58 jtc Exp $
-#
XORP RELEASE NOTES
This file contains XORP release notes (most recent releases first).
-Release 2.0 (2010/??/??)
+Release 1.7 May 1, 2010
============================
ALL:
- -
+ - Compiles on Linux (x86-32, x86-64, Sparc, at least) and BSD variants.
+ - Replaced 'make' build system with 'scons'
+ - New installation layout.
+ - Footprint reduction.
+ - Bug fixes here an there, more queued for release 1.8.
+ - Support shared libraries.
- CONFIGURATION:
- -
-
- LIBXORP:
- -
-
- LIBXIPC:
- -
-
- LIBFEACLIENT:
- -
-
- XRL:
- -
-
- RTRMGR:
- -
-
- XORPSH:
- -
-
- POLICY:
- -
-
- FEA/MFEA:
- -
-
- RIB:
- -
-
- RIP/RIPng:
- -
-
OLSR:
- -
+ - Currently broken in 1.7
- OSPF:
- -
-
- BGP:
- -
-
- STATIC_ROUTES:
- -
-
- MLD/IGMP:
- -
-
- MLD/IGMP-Lite:
- -
-
- PIM-SM:
- -
-
- FIB2MRIB:
- -
-
SNMP:
- -
+ - Removed
- VRRP:
- -
Release 1.6 (2009/01/07)
============================
Modified: trunk/xorp/TODO
===================================================================
--- trunk/xorp/TODO 2010-04-29 15:10:56 UTC (rev 11698)
+++ trunk/xorp/TODO 2010-04-30 05:45:14 UTC (rev 11699)
@@ -1,6 +1,3 @@
-#
-# $XORP: xorp/TODO,v 1.22 2008/01/13 06:01:45 pavlin Exp $
-#
* Add a list with acknowledgments for all people who have contributed:
bug reports/fixes/etc. This list will go with the source code,
Modified: trunk/xorp/VERSION
===================================================================
--- trunk/xorp/VERSION 2010-04-29 15:10:56 UTC (rev 11698)
+++ trunk/xorp/VERSION 2010-04-30 05:45:14 UTC (rev 11699)
@@ -1 +1 @@
-1.7-WIP
+1.7
Modified: trunk/xorp/etc/templates/xorpsh.cmds
===================================================================
--- trunk/xorp/etc/templates/xorpsh.cmds 2010-04-29 15:10:56 UTC (rev 11698)
+++ trunk/xorp/etc/templates/xorpsh.cmds 2010-04-30 05:45:14 UTC (rev 11699)
@@ -6,6 +6,6 @@
}
show version {
- %command: "echo Version 1.7-WIP" %help: HELP;
+ %command: "echo Version 1.7" %help: HELP;
%tag: HELP "Display system version";
}
Modified: trunk/xorp/rtrmgr/master_conf_tree.cc
===================================================================
--- trunk/xorp/rtrmgr/master_conf_tree.cc 2010-04-29 15:10:56 UTC (rev 11698)
+++ trunk/xorp/rtrmgr/master_conf_tree.cc 2010-04-30 05:45:14 UTC (rev 11699)
@@ -46,7 +46,7 @@
#include "util.hh"
#define XORP_CONFIG_FORMAT_VERSION "1.1"
-#define XORP_CONFIG_XORP_VERSION "1.7-WIP"
+#define XORP_CONFIG_XORP_VERSION "1.7"
//
// The strings that are used to add and delete a load or save file, to
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Xorp-cvs
mailing list