summaryrefslogtreecommitdiff
path: root/net/xorp/patches
AgeCommit message (Collapse)AuthorFilesLines
2009-05-12Update xorp to 1.6, as requested by PR 41115.obache3-12/+12
Release 1.6 (1/07/2009) ============================ ALL: - XORP now builds on Linux CentOS 5.2, Linux openSUSE-11.0, Linux Debian-5.0 (lenny, unreleased), Linux Ubuntu 8.10, Linux Red Hat Enterprise Linux Server release 5 (Tikanga), Linux Fedora 10, and OpenBSD-4.4. - XORP now builds on Linux systems with kernel 2.6.26 which is the first one to support IPv6 multicast routing. CONFIGURATION: - If a PIM-SM router is suppose to receive and process the PIM-SM Bootstrap messages, the configuration must have the "bootstrap {}" block included (even if it is empty): protocols { pimsm4 { bootstrap { } } } protocols { pimsm6 { bootstrap { } } } Previously, the Bootstrap messages were unconditionally processed even if the "bootstrap {}" block contained "disable: true" statement. - The following CLI operational command prefix has been changed: OLD: "show route admin distances" NEW: "show route admin distance" - The CLI "show version" command is supported - Addition of run-time configuration trace options for RIP/RIPng: protocols { rip { traceoptions { disable: false } } } LIBXORP: - Class EtherMac is removed and is replaced/superseded by the existing class Mac. - Performance improvements and various bug fixes in the EventLoop and SelectorList implementation. LIBXIPC: - XRL performance enhancements. (Bug 808) - Issues that might be triggered under heavy system load have been fixed (Bug 800) LIBFEACLIENT: - No significant changes. XRL: - See LIBXIPC RTRMGR: - No significant changes. XORPSH: - Incorrect help "show bgp peers detail" command (Bug 280) - Xorpsh exiting immediately on error doesn't work (Bug 763) - "Show version" CLI supported (Bug 789) - Show route admin distance not working (Bug 812) POLICY: - Tag per route is not reset in case the policies are removed (Bug 567) - Implement per-peer BGP import/export policies (Bug 667) - Enhance policy network-lists to included prefix length (Bug 674) FEA/MFEA: - Bug fix for OpenBSD when transmitting IGMP packets. RIB: - No significant changes RIP/RIPng: - Added traceoption support OLSR: - OSPF: - When the designated router was restarted the MaxAge LSAs that it generated when reflected back would be responded to with a MaxAge LSA, this process could continue indefinitely, leaving the neighbor state in EXCHANGE. (Bug 785) - OSPF virtual links support broken in the 1.5 and 1.6 releases BGP: - Support for Red Hat Linux (Bug 793) STATIC_ROUTES: - No significant changes. MLD/IGMP: - Bug fix when checking the source address of IGMP packet if the source address is allowed to be 0.0.0.0. MLD/IGMP-Lite: - Bug fix when checking the source address of IGMP packet if the source address is allowed to be 0.0.0.0. PIM-SM: Ability to add candidate BSR after inserting Cand-RP with same group (Bug 803) FIB2MRIB: - No significant changes. SNMP: - VRRP: - Initial implementation of VRRP version 2 as described in RFC 3768. - Supports running more than one VRRP instances on the same box although they need to be on different interfaces and different LANs for correct behavior (see ERRATA). - The following master failure modes have been tested and are known to work (i.e., backup becomes master): bringing the master's interface down, rebooting / crashing the master, physically removing the network cable. Note that in the latter case the master may fail to resume operations when the cable is restored (see ERRATA). - Successfully interoperates with vrrpd.
2009-02-07Fix patch to actually work by using the right name of the version macro.joerg1-2/+2
Fixes build on NetBSD 4.99.24+.
2008-10-18__NetBSD_Prereq__ is incompatible with 4/current and 3.obache1-9/+4
Use __NetBSD_Version instead. Fixed PR 39705.
2008-10-02Add some explicit casts and split a #if to unbreak build on DragonFly asjoerg3-11/+14
reported in PR 39667.
2008-09-30Fix build on NetBSD current.joerg3-0/+87
2008-09-11Update xorp to 1.5.obache3-43/+0
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.
2008-05-24Fix build fails on recent DragonFly and OpenBSD, removed FDDI and Token Ringobache1-0/+17
support. Patch provided by Hasso Tepper in PR 38621 (already fixed in upstream).
2007-10-13Update xorp to 1.4.obache6-83/+9
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.
2006-12-17Fix portability.joerg1-0/+13
2006-10-05Fixed "test ==".rillig1-3/+12
2006-05-16Last patchset works better when config.h actually can definejoerg1-0/+14
HOST_OS_DRAGONFLY.
2006-05-09Add DragonFly support. Disable propolice on DragonFly. Uses C++.joerg4-0/+64
2004-07-20Update to 1.0:wiz1-19/+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.
2003-07-15xorp, extensible open router platformitojun1-0/+19