Log message:
Update xorp to 1.5.
Based on patch provided by Mustafa Dogan in PR 39503.
Add DESTDIR support and note that test target require bash and python.
Release 1.5 (2008/07/22)
========================
ALL:
- XORP now builds on DragonFlyBSD-1.10.1, DragonFlyBSD-1.12.2,
FreeBSD-7.0, Linux Debian-4.0 (etch), Linux Fedora 7,
Linux Fedora 8, Linux Fedora 9, Linux Gentoo 2008.0,
Linux Ubuntu-7.04, Linux Ubuntu-7.10, Linux Ubuntu-8.04.1,
NetBSD-4.0, OpenBSD-4.1, OpenBSD-4.2, OpenBSD-4.3, Mac OS X 10.5.2,
Mac OS 10.5.3, and Mac OS X 10.5.4.
CONFIGURATION:
- Addition of new FEA configuration statements to set the IPv4/IPv6
unicast forwarding table IDs:
fea {
unicast-forwarding4 {
table-id: 254
}
unicast-forwarding6 {
table-id: 254
}
}
If the table ID is not configured, the FEA will use the default
table ID for the system.
Note that not all systems support multiple forwarding tables.
Currently, they exist only on Linux (among all systems supported by
XORP).
- The "DISCARD" network interface flag is printed as appropriate
when displaying the list of interfaces in the CLI.
- Addition of new FEA configuration statement to support
"unreachable" interfaces. Such interfaces are similar to \
"discard"
interfaces, except that instead of silently throwing away packets,
the system will respond with "ICMP destination unreachable".
interfaces {
interface my_unreachable {
unreachable: true
vif my_unreachable {
}
}
}
The default value for the "unreachable" statement is false.
- Addition of new FEA configuration statement to flag an interface
for "management" purpose. An interface that is flagged as
"management" might be used in the future by some of the protocols
for protocol-specific purpose.
interfaces {
interface fxp0 {
management: true
vif fxp0 {
address 10.10.10.10 {
prefix-length: 24
}
}
}
}
The default value for the "management" statement is false.
- Addition of support to configure VLANs on an interface.
A VLAN is configured by using a "vlan" block that includes
the VLAN ID:
interfaces {
interface fxp0 {
vif fxp0 {
address 10.10.10.10 {
prefix-length: 24
}
}
vif vlan1 {
vlan {
vlan-id: 1
}
address 10.10.20.20 {
prefix-length: 24
}
}
}
}
- Addition of preliminary support to configure firewall rules.
Firewall rules are configured by using numbered entries:
firewall {
rule4 100 {
action: "drop"
protocol: 6 /* TCP */
source {
interface: "fxp0"
vif: "fxp0"
network: 0.0.0.0/0
port-begin: 0
port-end: 65535
}
destination {
network: 10.10.0.0/24
port-begin: 0
port-end: 1024
}
}
}
Note that compiling firewall support on Linux systems require
patching some of the system header files. See ERRATA for details.
- The following PIM-SM configuration statements have been deprecated,
because PIM-SM doesn't use Router Alert IP option anymore:
protocols {
pimsm4 {
interface foo {
vif foo {
enable-ip-router-alert-option-check: true
}
}
}
}
protocols {
pimsm6 {
interface foo {
vif foo {
enable-ip-router-alert-option-check: true
}
}
}
}
LIBXORP:
- The local system-independent xorp_random() implemenation is used
instead of the random(3) provided by the system.
- Improved MAC address support (classes Mac and EtherMac).
- More consistent usage of XORP_OK and XORP_ERROR to return error
codes.
LIBXIPC:
- Bug fix in the internal mechanism for obtaining the IPv4 addresses
from the system. After the bug fix, a secondary (alias) IP address
can be specified with the "-i <addr>" command-line option to
the xorp_rtrmgr or xorp_finder binaries.
LIBFEACLIENT:
- No significant changes.
XRL:
- Critical bug fix that can be triggered by malformatted XRLs.
- Addition of support for 64-bit integers: i64 and u64 for
signed and unsigned respectively.
RTRMGR:
- Addition of preliminary mechanism to log events to a file or
to a syslog facility.
- Addition of support to run XORP in background (in daemon mode).
XORPSH:
- Bug fix related to assigning the node ID position in case the
previous (sibling) node was deleted at the same time a new node
was added.
This fixes "Found out-of-order term(s) inside policy ..." error
inside the policy manager.
- The "-c <cmd>" command line option can be used more than \
once to
run multiple commands.
- Fix a long configuration delay when using xorpsh in
non-interactive mode (e.g., "cat commands.txt | xorpsh").
- Addition of a new "-e" command line option. It can be used to tell
xorpsh to exit immediately if the connection to the Finder fails.
POLICY:
- No significant changes.
FEA/MFEA:
- Major refactoring of the FEA/MFEA internals.
- Critical bug fix that affects recent NetBSD and OpenBSD releases.
- Critical IPv6-related bug fix when adding unicast forwarding
entries to the kernel. This bug was exposed only on *BSD systems
with 64-bit CPU.
- If MFEA is started, it will explicitly enable the multicast
forwarding flags that have been added to recent OpenBSD releases:
net.inet.ip.mforwarding (for OpenBSD-3.9 and later) and
net.inet6.ip6.mforwarding (for OpenBSD-4.0 and later).
RIB:
- No significant changes.
RIP/RIPng:
- Addition of support for "show ripng" xorpsh operational commands.
- Critical RIPng-related bug fix. Previously the RIPng installed
routes had incorrect outgoing interface toward the destination.
- Bug fix related to the TTL for RIPng multicast packets: now it is
set to 255 as specified in the protocol specification (RFC 2080)
instead of 1.
OLSR:
- Added support for RFC 3626 Optimized Link State Routing Protocol.
This is a fully fledged XORP routing process with policy route
redistribution capability. The work was generously funded over
2007/2008 by CenGen, Inc.
OSPF:
- Bug fix related to OSPFv3 link-local scope LSAs. Previously the
link-local scope LSAs were incorrectly flooded to links other
than the one they belonged to.
- Bug fix related to OSPFv3 Inter-Area-Prefix-LSAs. The check for
the minimum size of an Inter-Area-Prefix-LSA was incorrect so
short prefixes such as the default route would be rejected.
- Added a clear database command.
- In the OSPFv2 configuration "passive" is no longer a bool but a
directive. Previously setting an interface to passive would set
the interface to loopback and announce a host route for the
interface. Using the passive keyword will still set the
interface to loopback but now the network will be announced. If
the previous behaviour of of announcing the host route is
required the host variable can be set to true.
BGP:
- Added support for 4-byte AS numbers, as detailed in RFC 4893.
From 1st Jan 2009 4-byte AS numbers will be allocated by default
by RIPE, so it is desirable that all BGP implementations support
four-byte AS numbers by that time. Currently 4-byte support is
not enabled in XORP by default, but can be enabled using the
"enable-4byte-as-numbers" configuration option.
STATIC_ROUTES:
- Bug fix that prevented the deletion of interface-specific routes
using xorpsh.
MLD/IGMP:
- No significant changes.
MLD/IGMP-Lite:
- An implementation of Lightweight IGMP/MLD is available in
directory ${XORP}/contrib/mld6igmp_lite. It can be used instead
of the existing MLD/IGMP vanilla implementation by using the
following command before compiling XORP:
./configure --with-mld6igmp_lite
PIM-SM:
- No significant changes.
FIB2MRIB:
- No significant changes.
CLI:
- No significant changes.
SNMP:
- No significant changes.
|
Log message:
Update xorp to 1.4.
Patch provided by Mustafa Dogan in PR 37058.
Release 1.4 (2007/03/20)
=========================
ALL:
- XORP now builds on DragonFlyBSD-1.8, FreeBSD-6.2, Linux Fedora
Core6, Linux Debian-3.1 (sarge), NetBSD-3.1 and OpenBSD-4.0.
- XORP now can be compiled with the Intel C/C++ compiler 9.* on
Linux.
- XORP now can be cross-compiled for IA-64, MIPS (Broadcom for
Linksys WRT54G), PowerPC-603, Sparc64, and XScale processors.
- Implementation of OSPFv3 (draft-ietf-ospf-ospfv3-update-14.txt).
- Implementation of floating static routes (i.e., static routes
for the same prefix with different next hop and metrics).
CONFIGURATION:
- Allow static routes to have "nexthop4" and "nexthop6" \
policy
matching conditions in the "from" block.
- Addition of new FEA configuration statements to retain XORP
unicast forwarding entries on startup or shutdown:
fea {
unicast-forwarding4 {
forwarding-entries {
retain-on-startup: false
retain-on-shutdown: false
}
}
unicast-forwarding6 {
forwarding-entries {
retain-on-startup: false
retain-on-shutdown: false
}
}
}
The default value for each statement is false.
Note that those statements prevent the FEA itself from deleting
the forwarding entries and does not prevent the RIB or any of the
unicast routing protocols from deleting the entries on shutdown.
- The "elements" policy statements for configuring sets of network
routes have been deprecated:
policy {
network4-list foo {
elements: "1.2.0.0/16,3.4.0.0/16"
}
network6-list bar {
elements: "2222::/64,3333::/64"
}
}
The new replacement statement is "network" and can be used to
specify one element per line:
policy {
network4-list foo {
network 1.2.0.0/16
network 3.4.0.0/16
}
network6-list bar {
network 2222::/64
network 3333::/64
}
}
- The following keywords are supported inside the policy
configuration when comparing IPv4 or IPv6 network prefixes:
exact, longer, orlonger, shorter, orshorter, not. For example:
"network4 exact 10.0.0.0/8" SAME AS "network4 == \
10.0.0.0/8"
"network4 longer 10.0.0.0/8" SAME AS "network4 < \
10.0.0.0/8"
"network4 orlonger 10.0.0.0/8" SAME AS "network4 <= \
10.0.0.0/8"
"network4 shorter 10.0.0.0/8" SAME AS "network4 > \
10.0.0.0/8"
"network4 orshorter 10.0.0.0/8" SAME AS "network4 >= \
10.0.0.0/8"
"network4 not 10.0.0.0/8" SAME AS "network4 != \
10.0.0.0/8"
The original operators are supported as well.
- A floating static route (also called "qualified" by some router
vendors) can be added with a configuration like:
protocols {
static {
route 10.10.0.0/16 {
next-hop: 172.16.0.1
metric: 1
qualified-next-hop 172.17.0.2 {
metric: 10
}
}
interface-route 10.30.30.0/24 {
next-hop-interface: "rl0"
next-hop-vif: "rl0"
next-hop-router: 172.16.0.1
metric: 1
qualified-next-hop-interface rl1 {
qualified-next-hop-vif rl1 {
next-hop-router: 172.17.0.2
metric: 10
}
}
}
}
}
LIBXORP:
- The XORP scheduler now has support for priority-based tasks.
LIBXIPC:
- No significant changes.
LIBFEACLIENT:
- No significant changes.
XRL:
- No significant changes.
RTRMGR:
- Bug fix in the semantics of the rtrmgr template %activate keyword.
XORPSH:
- No significant changes.
POLICY:
- Bug fix related to creating export policies that match protocol's
its own routes (e.g., a policy that modifies the BGP routes
exported to its peers).
- Various other bug fixes.
FEA/MFEA:
- Fix the routing socket based mechanism (used by BSD-derived
systems) for obtaining the interface name (toward the destination)
for a routing entry.
- Apply a performance improvement when configuring a large number of
interfaces/VIFs, each of them with the "default-system-config"
configuration statement.
- Bug fix related to atomically modifying the IP address of an interface.
RIB:
- Bug fix related to (not) installing redundant host-specific
entries for the other side of a point-to-point interface if the
netmask for the interface covers the host-specific entry.
RIP:
- No significant changes.
OSPF:
- OSPFv3 is now available.
- The OSPFv3 protocol requires that link-local addresses are used,
therefore it is necessary to configure a link-local address for
each interface, this restriction will be removed in the future.
- The OSPFv3 configuration allows multiple instances to be configured
however only one instance will be created. Configuring multiple
OSPFv3 instances is guaranteed to cause problems.
- Bug fix related to the processing of previously generated LSAs
on startup has been fixed. Restarting a router that was the
designated router could exhibit this problem.
- Bug fix on a broadcast interface if the router was not the
designated router then the nexthop was incorrectly
unconditionally set to the designated router; introducing an
unnecessary extra hop.
BGP:
- BGP has taken advantage of the priority-based tasks in the XORP
scheduler and background tasks are run at a low priority;
leading to improved performance.
STATIC_ROUTES:
- Bug fix related to declaring some of the policy matching
conditions in the "from" block.
MLD/IGMP:
- Bug fix related to atomically modifying the IP address of an
interface.
- Bug fix related to ignoring protocol messages that are not
recognized by the configured protocol version on an interface.
- Ignore control messages if the source address is not directly
connected.
- Don't send the periodic Group-Specific or Group-and-Source-Specific
Queries for entries that are in IGMPv1 mode.
PIM-SM:
- Bug fix related to atomically modifying the IP address of an
interface.
- The PIM-SM control messages do not include the IP Router Alert
option anymore, because it has been included from the newer
revisions of the PIM-SM protocol specification (RFC 4601 and
draft-ietf-pim-sm-bsr-09.txt,.ps).
- Don't send PIM Hello message with DR Priority of 0 when shutting
down an interface, because this is not part of the protocol
specification.
FIB2MRIB:
- Bug fix related to updating the interface and vif name of a
forwarding entry received from the FEA.
CLI:
- Performance improvement if the CLI is processing a large amount
of data. E.g., if xorpsh is used in a pipe like:
cat commands.txt | xorpsh
SNMP:
- Bug fix with the snmpd arguments when sampling whether snmpd
can start and its version is >= 5.2.
Release 1.3 (2006/08/02)
=========================
ALL:
- Numerous improvements, bug fixes and cleanup.
- XORP now builds on Linux Fedora Core5, DragonFlyBSD-1.4,
FreeBSD-6.1.
- Implementation of IGMPv3 (RFC 3376) and MLDv2 (RFC 3810).
Those are necessary to complete the Source-Specific Multicast
support.
CONFIGURATION:
- Addition of new OSPF configuration statement as part of the MD5
keys:
* max-time-drift: u32 (default to 3600, i.e., 1 hour)
It is used to set the maximum time drift (in seconds) among all
OSPF routers. The allowed values are in the range [0--65535]. If
the value is 65535, the time drift is unlimited.
- The following statements for configuring static routes have been
deprecated:
route4, route6, interface-route4, interface-route6, mrib-route4,
mrib-route6, mrib-interface-route4, mrib-interface-route6.
The new replacement statements are:
route, interface-route, mrib-route, mrib-interface-route.
Each of the new statements can be used to configure either IPv4Net
or IPv6Net route.
- The following statements for configuring RIP and RIPng have been
renamed:
* route-expiry-secs -> route-timeout
* route-deletion-secs -> deletion-delay
* table-request-secs -> request-interval
* interpacket-delay-msecs -> interpacket-delay
- The following statements for configuring RIP and RIPng random
intervals have been replaced:
* triggered-update-min-secs and triggered-update-max-secs with
triggered-delay and triggered-jitter
* table-announce-min-secs and table-announce-max-secs with
update-interval and update-jitter
Previously, each interval was specified as [foo-min, foo-max].
Now each interval is specified as
[foo - foo * jitter / 100, foo + foo * jitter / 100]
where "jitter" is specified as a percentage (an integer in the
interval [0, 100]) of the value of "foo".
- The "version" statement for configuring an IGMP interface/vif
allows values in the range [1-3]. Previously, the allowed range
was [1-2].
- The "version" statement for configuring a MLD interface/vif allows
values in the range [1-2]. Previously, the allowed range was [1-1].
- The following statement for configuring PIM-SM (pimsm4 and pimsm6)
has been renamed:
interval-sec -> interval
- If a "then" policy block contains "accept" or \
"reject" statement,
now all statements inside the "then" block are evaluated
regardless of their position.
- Addition of a new "exit" operational mode command that is
equivalent to the "quit" operational mode command.
- The "create" and "set" configuration commands are \
merged, so now
the new "set" command can be used for setting values and for
creating new configuration nodes. For backward compatibility,
the obsoleted "create" command is preserved as an alias for the
new "set" command, though it may be removed in the future.
LIBXORP:
- Few bug fixes in the RefTrie implementation.
LIBXIPC:
- Minor improvement in parsing XRL requests.
LIBFEACLIENT:
- No significant changes.
XRL:
- No significant changes.
RTRMGR:
- Various bug fixes.
XORPSH:
- Previously, the "commit" command was not available in
configuration mode if there were no pending configuration changes.
Now the "commit" command is always available, but the following
message will be printed instead:
"No configuration changes to commit."
- Various bug fixes.
POLICY:
- Various bug fixes.
FEA/MFEA:
- Bug fix in transmitting large packets on Linux when using IP raw
sockets.
- Linux-related netlink socket code refactoring and bug fix.
- Bug fix in obtaining the incoming interface for raw packets
(in case of *BSD).
- Bug fix in parsing the ancillary data from recvmsg().
- Accept zeroed source addresses of raw packets, because of
protocols like IGMPv3.
- Bug fix in restoring kernel routes that were automatically removed
when the MAC address or MTU on an interface is modified.
- Bug fix in processing IPv4 raw packets if they contain an IP option
with a bogus option length.
RIB:
- Several bug fixes and improvements.
RIP:
- Various bug fixes in the MD5 authentication support.
- Remove route flap when applying/deleting RIP-related import
policies.
- Fix an issue with INFINITY cost routes that might be bounced
indefinitely between two XORP routers.
OSPF:
- Various bug fixes in the MD5 authentication support.
BGP:
- Prefix limits on a per peer basis.
- Various bug fixes.
STATIC_ROUTES:
- No significant changes.
MLD/IGMP:
- Implementation of IGMPv3 (RFC 3376) and MLDv2 (RFC 3810).
- Unification of the IGMP and MLD execution path.
PIM-SM:
- Bug fix related to the SPT switch (the bug is *BSD specific).
- Use the RPF interface toward the BSR when transmitting a Cand-RP
Advertisement message. Previously the first interface that is UP
was chosen.
- Use the RPF interface toward the RP when transmitting PIM Register
messages toward the RP. Previously the interface of the directly
connected source was chosen.
FIB2MRIB:
- No significant changes.
CLI:
- Bug fix related to tracking the window size when it is resized.
SNMP:
- No significant changes.
|