Metaswitch Integrated Control Plane Update Guide Icp
User Manual:
Open the PDF directly: View PDF .
Page Count: 51
Download | |
Open PDF In Browser | View PDF |
Metaswitch Integrated Control Plane Update Guide SOLUTIONS GUIDE New features and changes affecting the June 2015 release of the Metaswitch Integrated Control Plane Metaswitch Manual AKE-021-0107 June 2015 CONFIDENTIAL Notice This manual is issued on a controlled basis to a specific person on the understanding that no part of the Metaswitch code or documentation (including this manual) will be copied or distributed without prior agreement in writing from Metaswitch. Metaswitch reserves the right to, without notice, modify or revise all or part of this document and/or change product features or specifications and shall not be responsible for any loss, cost, or damage, including consequential damage, caused by reliance on these materials. Metaswitch and the Metaswitch logos are trademarks of Metaswitch Networks. All other trademarks and registered trademarks are the property of their respective owners. Copyright © 2011-2015 by Metaswitch Networks. All rights reserved. Metaswitch Networks 100 Church Street Enfield EN2 6BQ England +44 20 8366 1177 http://www.metaswitch.com Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL Contents 1 2 INTRODUCTION........................................................................................................... 1 1.1 Purpose of this Document................................................................................... 1 1.2 Document Overview ............................................................................................ 1 SEPARATELY LICENSABLE FEATURES ................................................................. 2 2.1 VLAN Management: DC-VLAN Manager ........................................................... 2 2.2 Ethernet Ring Protection Switching: DC-ERPS .................................................. 2 2.3 L2VPN enhancements ........................................................................................ 3 2.3.1 BGP Autodiscovery and Signaling for VPWS ........................................ 3 2.3.2 VPLS support.......................................................................................... 3 2.4 DC-LACP............................................................................................................. 3 2.5 Multi-Chassis Link Aggregation (MC-LAG) ......................................................... 4 2.6 DC-Ethernet OAM Manager................................................................................ 4 2.7 DC-Traffic Classification Manager ...................................................................... 5 2.8 IS-IS policy control using administrative tags ..................................................... 5 2.9 IGMP and MLD Proxy and Snooping Graceful Restart ...................................... 6 2.10 Static IGMP ......................................................................................................... 6 2.11 Link Layer Discovery Protocol: DC-LLDP........................................................... 6 2.11.1 LLDP-MED support ................................................................................ 6 2.11.2 802.1 and 802.3 Organizationally Specific TLVs ................................... 6 2.12 STP BPDU Guard ............................................................................................... 7 2.13 BGP Dynamic Peers ........................................................................................... 7 2.14 BGP Additional Paths ......................................................................................... 7 2.15 BGP AS-Path multipath-relax ............................................................................. 7 2.16 BGP Send Community ........................................................................................ 7 2.17 BGP Best Path Calculation Improvements ......................................................... 7 2.18 BGP Import / Export Policy ................................................................................. 8 2.19 OSPF LSA throttling ............................................................................................ 8 3 OTHER ENHANCEMENTS .......................................................................................... 9 3.1 BGP features....................................................................................................... 9 3.1.1 BGP Route Flap Dampening .................................................................. 9 3.1.2 BGP AS number checking...................................................................... 9 3.1.3 BGP Peer fallover ................................................................................... 9 3.1.4 BGP Graceful Restart Improvements ..................................................... 9 3.1.5 Additional per-peer group configuration for DC-BGP........................... 10 3.1.6 Peer Statistics ....................................................................................... 10 3.1.7 Improved error handling ....................................................................... 10 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL 3.2 MPLS features .................................................................................................. 10 3.2.1 More flexible LDP distribution support ................................................. 10 3.2.2 LDP Peer Support for Graceful Restart................................................ 10 3.2.3 DC-LDP option to prevent distribution of labels for Prefix FECs over targeted LDP peer sessions.............................................................................. 11 3.2.4 Read-only TE information available at Transit Nodes.......................... 11 3.2.5 New DC-LDP Management tables showing labels received/sent ....... 11 3.2.6 Reporting CC and CV types supported by peers ................................. 11 3.2.7 Notification for auto-discovered Pseudowires ...................................... 11 3.2.8 DC-LDP support for MAC Address Withdraw messages for Generalized PWid FECs ................................................................................... 11 3.3 Multicast features .............................................................................................. 12 3.3.1 DC-VLAN Manager integration............................................................. 12 3.4 OAM features .................................................................................................... 12 3.4.1 Reporting faults detected by OAM protocols........................................ 12 3.5 OSPF features .................................................................................................. 12 3.5.1 Local Interface Identifiers in OSPF Neighbor Tables ........................... 12 3.6 L3VPN Manager features ................................................................................. 12 3.6.1 Support for LSP Ping over Layer 3 VPNs ............................................ 12 3.7 RTM features .................................................................................................... 12 3.7.1 DC-RTM supports defining the weight of a Route ............................... 12 3.8 CSS features ..................................................................................................... 13 3.8.1 DC-CSS performance improvements ................................................... 13 3.9 General Integrated Control Plane features ....................................................... 13 3.9.1 Performance Improvement for Management Table Walks .................. 13 3.10 LMP features ..................................................................................................... 13 3.10.1 Extended LMP Hello Dead Interval ...................................................... 13 4 BUG FIXES ................................................................................................................. 14 5 INTEGRATING THIS RELEASE ................................................................................ 26 5.1 Non-Back compatible changes in this release.................................................. 26 5.1.1 General Integrated Control Plane changes.......................................... 26 5.1.2 BGP changes........................................................................................ 27 5.1.3 Multicast changes ................................................................................. 30 5.1.4 Layer 2 changes ................................................................................... 31 5.1.5 MPLS changes ..................................................................................... 31 5.1.6 OAM changes ....................................................................................... 32 5.1.7 RTM changes ....................................................................................... 33 5.1.8 CSS changes ........................................................................................ 33 5.2 Enabling the new features in this release ......................................................... 33 5.2.1 General Integrated Control Plane features .......................................... 33 5.2.2 L2VPN Manager features ..................................................................... 34 5.2.3 Layer 2 Features .................................................................................. 34 5.2.4 ISIS features ......................................................................................... 36 5.2.5 BGP features ........................................................................................ 36 5.2.6 MPLS features ...................................................................................... 40 5.2.7 Multicast features ................................................................................. 43 5.2.8 OAM features........................................................................................ 44 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL 5.2.9 5.2.10 5.2.11 5.2.12 OSPF features ...................................................................................... 45 L3VPN Manager features ..................................................................... 45 RTM features ........................................................................................ 46 LMP features ........................................................................................ 46 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL 1 Introduction 1.1 Purpose of this Document This document is provided for the benefit of existing customers to help you decide whether to integrate the June 2015 release of the Metaswitch Integrated Control Plane, and to help you with that integration. This document • describes the new features and bug fixes contained in this release • gives you an overview of the steps required to integrate this release. We strongly recommend that you read this document before integrating this release or before deciding whether to integrate it. For general advice about how to upgrade your code to this new release, please see the Existing Users Getting Started Guide. 1.2 Document Overview This document is divided into the following sections. Chapter 2, Separately Licensable Features, describes the enhancements to the Metaswitch Integrated Control Plane in the June 2015 release of the product code that may require additional licenses. Chapter 3, Other Enhancements, describes the enhancements to the Metaswitch Integrated Control Plane available in the June 2015 release that are included in the standard maintenance service. Chapter 4, Bug Fixes, describes any bugs that have been fixed since the June 2014 release of the Metaswitch Integrated Control Plane. Chapter 5, Integrating This Release, describes the steps required to integrate the June 2015 release of the Metaswitch Integrated Control Plane. 1 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL 2 Separately Licensable Features This chapter describes the Metaswitch Integrated Control Plane enhancements available in the June 2015 release that may require an additional license. Please talk to your Metaswitch Sales Contact if you want to use any of these features. 2.1 VLAN Management: DC-VLAN Manager DC-VLAN Manager is a new Metaswitch product that supports the management of VLANs, as standardized by the IEEE in 802.1Q (2011). The function provided by DC-VLAN Manager includes • configuring VLANs • configuring VLAN membership • configuring static MAC forwarding entries • configuring port states • triggering FDB flushing. In addition, DC-VLAN Manager supports the following features. 2.2 • Seamless integration with Metaswitch’s other Layer 2 products, such as DC-STP, DC-ERPS and DC-IGMP Snooping. • Support for running multiple independent instances to support multiple virtual bridges. Ethernet Ring Protection Switching: DC-ERPS DC-ERPS is a new Metaswitch product that supports the Ethernet Ring Protection Switching protocol, as standardized by the ITU in G.8032 (2012). Ethernet Ring Protection Switching (ERPS) is a loop elimination protocol, providing a function similar to the spanning tree protocols (STP, RSTP and MSTP). ERPS is optimized for Ethernet ring topologies. In particular, the protocol ensures that the active topology is loop free at all times and provides rapid protection switching in the event of a link failure. DC-ERPS is architected for superior functionality, performance and scalability. As such it supports the following features. • Support for multiple ring instances, to enable load balancing around a ring. • Support for interconnected rings. • Sub-50 ms protection switching. Typically the protection switching time within DC-ERPS is < 1ms. 2 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL • 2.3 Support for running multiple independent instances of the protocol to support multiple virtual bridges, or to enable distribution of ring instances to line cards or additional cores. L2VPN enhancements DC-L2VPN Manager provides a complete management solution for L2VPNs, which allows network operators to provision L2VPN services across an IP/MPLS network. It is enhanced with the following major features. 2.3.1 BGP Autodiscovery and Signaling for VPWS DC-L2VPN Manager is enhanced to support BGP-auto-discovery and signaling of VPWS Pseudowires as defined by RFC 4761. This feature allows network administrators to provision a VPWS with much reduced configuration. For example, the specific remote PE for a given site need not be configured on the local PE, allowing the network site to be rehomed without pervasive changes throughout the network. It is a popular feature with several major router manufacturers and will be required to interoperate in networks which feature them. DC-L2VPN Manager now supports VPWSs using all the frequently used mechanisms for provisioning Pseudowires: static configuration, LDP, and BGP signaling. 2.3.2 VPLS support DC-L2VPN Manager is extended to support the complete management of VPLSs as defined by RFC 4762. VPLS allows network operators to offer multipoint Ethernet VPN services over their IP/MPLS networks by providing the equivalent of a distributed Ethernet Switch across their IP/MPLS core. VPLS is a well-established technology used to provide business services, as well as in Data Center interconnect use cases. BGP auto-discovery can also be used to automatically discover other PE routers in the VPLS, further reducing the configuration burden. As for VPWSs, DC-L2VPN Manager supports static configuration, LDP signaling, and BGP signaling to provision the pseudowires to create the VPLS. 2.4 DC-LACP DC-LACP is a new Metaswitch product that supports both static aggregation and the Link Aggregation Control Protocol, as standardized by the IEEE in 802.1AX (2008). Link aggregation allows one or more interfaces to be aggregated together to form a bundle (also referred to as a port channel, Link Aggregation Group (LAG), or bond). The bundle can then be represented to higher layers as a single interface. This provides the following benefits. • Increased bandwidth - the bundle interface is a logical interface with higher capacity. • Resilience - failure of a single link within the bundle does not cause the bundle to fail. • Load balancing - traffic can be distributed across the links within the bundle. The Link Aggregation Control Protocol (LACP) provides a standardized way of exchanging aggregation information between partner systems. This provides the following additional benefits over static aggregation. 3 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL • Automatic failover – if a link fails, LACP automatically removes the link from the bundle, and selects a new link if possible. • Detecting misconfigurations – LACP ensures that link aggregation is configured consistently at both ends of the link. DC-LACP is architected for superior performance and scalability. As such it supports the following features. 2.5 • Sub-50 ms link failover time. • Distributable components to enable offload of LACPDU transmission and reception to line-cards or additional cores. • Support for running multiple independent instances of the protocol to support multiple virtual bridges. Multi-Chassis Link Aggregation (MC-LAG) DC-LACP is enhanced to support a proprietary form of Multi-Chassis Link Aggregation. This is similar to mLACP as defined by the Inter-Chassis Communication Protocol (ICCP) and standardized by the IETF in RFC 7275. MC-LAG allows a Customer Edge (CE) device to be multi-homed to multiple Provider Edge (PE) devices in a provider network. This can be used to provide protection against PE failures, or to load balance across multiple links to a provider network. Metaswitch’s MC-LAG implementation supports the following features. 2.6 • Support for active-standby operation for protection against PE failures or core isolation. • Proprietary extensions to support back-to-back MC-LAG to enable protection against both CE and PE failures. • Distributable components to enable offload of LACPDU transmission and reception to line-cards or additional cores. • Support for running multiple independent instances of the protocol to support multiple virtual bridges. DC-Ethernet OAM Manager DC-Ethernet OAM Manager is a new product that provides complete management of operations, administration and maintenance for Layer 2. Ethernet OAM function monitors and diagnoses network behavior and can be used to ensure that the Ethernet service provided meets any required Service Level Agreements. For example, Ethernet OAM is required in order to implement MEF UNI Type 2. DC-Ethernet OAM Manager provides configuration and management of this function, as standardized by the ITU (Y.1731), IETF (IEEE 802.1ag and IEEE 802.1 ap), and MEF (MEF 31 and MEF 36). This includes the following. 4 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL • Maintenance End Points (MEPs) • Proactive Continuity Check (ETH-CC) • Ethernet loopback (ETH-LB) • Loss Measurement (ETH-LM) • Delay Measurement (ETH-DM) DC-ETH OAM Manager reports interface fault information based on faults on a MEP learned by OAM protocols. 2.7 DC-Traffic Classification Manager DC-Traffic Classification Manager is a new product that allows network administrators to configure traffic classification. Traffic Classification plays a key role in network devices. • It can be used to enforce QoS for a given traffic class. Examples of this include constraining bandwidth usage by traffic class and shaping outgoing traffic. In this way, QoS can help significantly improve the overall efficiency of the network and can be used to implement differentiated services or MEF 2.0 traffic classification, for example. • It can assign traffic to a different forwarding component, for example a VLAN, VPWS, or VPLS. DC-TCM provides the configuration of the following. 2.8 • Match rules – to classify traffic into flows, for example to match on port, VLAN ID, or class of service. • Actions – to be applied to these flows, for example to mark a packet, add a VLAN ID or assign to a queue. This flexible model allows complex forwarding functions to be applied to a given flow. • Policers – to constrain bandwidth usage by incoming data. • Shapers – to control bandwidth usage by outgoing data. • Ports and queues – to control per-port and per-queue scheduling. IS-IS policy control using administrative tags DC-ISIS is enhanced to support policy control using administrative tags as defined by RFC 5130. IS-IS administrative tagging provides improved management control of prefix distribution within an IS-IS domain. It provides the following function. • Configurable policy for associating an administrative tag to a prefix. • Configurable filtering of routes based on administrative tag. 5 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL 2.9 IGMP and MLD Proxy and Snooping Graceful Restart DC-IGMP Snooping and DC-IGMP Proxy are enhanced to support Graceful Restart following a control plane restart. This allows uninterrupted multicast data forwarding across a planned or unplanned software restart or a hardware failure to the active control card (if redundant control cards are available). This function applies to both IGMP (for IPv4 traffic) and MLD (for IPv6). 2.10 Static IGMP DC-IGMP is enhanced to support static configuration of multicast group membership. This is required to support forwarding multicast traffic to hosts which do not support IGMP. DC-IGMP allows both (*,G) and (S,G) group membership to be configured. This feature is supported by DC-IGMP Router, DC-IGMP Proxy and DC-IGMP Snooping. 2.11 Link Layer Discovery Protocol: DC-LLDP 2.11.1 LLDP-MED support DC-LLDP is enhanced to support the LLDP-MED protocol extensions defined in ANSI/TIA-1057-2006, including explicit support for the mandatory and conditionally mandatory TIA Organizationally Specific TLVs used for LLDP-MED. DC-LLDP now validates and displays received TLVs of those types, and optionally transmits them. These extensions enable a Network Connectivity Device to discover information about connected Media Endpoint Devices (such as location information) and vice-versa. This helps detect misconfiguration, and can be used to auto-configure Media Endpoint Devices. 2.11.2 802.1 and 802.3 Organizationally Specific TLVs DC-LLDP is enhanced to support explicitly the following TLV types. • Several of the 802.1 Organizationally Specific TLVs defined in 802.1AB-2009 Annex E; specifically, the Port VLAN ID TLV, Port and Protocol VLAN ID TLV, VLAN Name TLV, Protocol Identity TLV and Link Aggregation TLV. • All of the 802.3 Organizationally Specific TLVs defined in 802.1AB-2009 Annex F. DC-LLDP now validates and displays received TLVs of those types, and optionally transmits them. These extensions enable a network operator to discover 802.1-scope and 802.3-scope information about the neighboring device, such as the default VLAN and MTU of the connected port. This can be used by network administrators to help detect misconfiguration. 6 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL 2.12 STP BPDU Guard DC-STP is enhanced to support BPDU Guard, a feature that can be used to enforce the edge of an STP network. When enabled, BPDU Guard prevents BPDUs received from outside the boundary of the STP network from affecting the topology of the STP network. When such BPDUs are received, DC-STP reports the fault to interface management so the interface can be disabled. This improves network reliability and security. 2.13 BGP Dynamic Peers DC-BGP is enhanced to support dynamic BGP peers (neighbors). This feature significantly reduces the configuration burden for network administrators by removing the need to configure all BGP peers at both ends of the desired BGP session. BGP peering can be configured with a group of neighbors by specifying a series of IP prefixes which determines the peer group that should be used for each peer. In this way, network administrators can restrict access to peers that match a set of prefixes and apply different BGP configuration on a per-prefix basis. 2.14 BGP Additional Paths DC-BGP is enhanced to support advertising multiple BGP paths for the same destination. This function allows the network to implement fast connectivity restoration. In the event of a failure, the routers can switch to a backup route without waiting for BGP route convergence to take place. DC-BGP Additional Paths can also be used for other features that improve traffic forwarding in the network, such as load balancing across the best and backup paths. It includes support for draft-ietf-idr-add-paths-09 and all mandatory function in draft-ietf-idr-add-paths-guidelines-06. 2.15 BGP AS-Path multipath-relax DC-BGP is enhanced to support an option to treat two BGP routes as equal cost even if they travel through different Autonomous Systems (as recorded in AS_PATH). This allows an administrator to enable ECMP routing in a larger range of topologies. Routes with different AS_PATHs can now be programmed into the forwarding table as equal cost multipath (ECMP) routes, as long as their AS_PATH lengths (and other relevant BGP attributes) are the same. 2.16 BGP Send Community DC-BGP is enhanced to support configuration options to enable or disable sending BGP community and extended community attributes to specific BGP peers and peer groups. This allows network administrators to use “bgp neighbor send-community” configuration commands, for example, to prevent distribution of community attributes to peers that don’t support them. 2.17 BGP Best Path Calculation Improvements DC-BGP is enhanced to allow the administrator greater control over parameters used in BGP best path calculations. This allows network administrators to tune the traffic flow through their network. With this enhancement, administrators can now 7 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL • configure a default metric to be applied to all routes redistributed into DC-BGP from RTM • set the weight of a route redistributed into DC-BGP • set a default weight to be applied to all routes received from a BGP neighbor • control which route characteristics are used in the best calculation, for example whether or not to compare the AS-path length of received routes. 2.18 BGP Import / Export Policy DC-BGP is enhanced to support configuration of import and export route maps at the peer AFI/SAFI level. Import and export route maps identify a set of routes to which a given policy should be applied (for example, to manipulate the set of routes distributed to a given peer). By providing this configuration at the AFI/SAFI level, network operators have a simplified configuration if they want to apply policies to sets of routes based on their address family. 2.19 OSPF LSA throttling DC-OSPF is enhanced to support Link-State Advertisement (LSA) Throttling. LSA throttling allows more sophisticated handling of route changes to optimize for route convergence times. LSA updates are initially sent quickly to decrease convergence times, but will be slowed down if the network is unstable to prevent generation of excessive traffic. 8 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL 3 Other Enhancements This chapter describes the key enhancements in the June 2015 release that are included as part of the standard maintenance service. In addition to these enhancements, this release includes a large number of additional minor enhancements and bug fixes. These are listed in chapter 4, Bug Fixes. In order to benefit from any of these enhancements, you must ensure that you have a license for the underlying function. For more information on integrating any of the features covered here, see chapter 5, Integrating This Release. 3.1 BGP features 3.1.1 BGP Route Flap Dampening DC-BGP is enhanced to support AFI/SAFI-level configuration for route flap dampening. Route flap dampening reduces the churn in networks running BGP by preventing routes from being advertised, withdrawn, then re-advertised in rapid succession. Extending DCBGP so that dampening can be configured on the AFI/SAFI-level (as well on a per-peer or per-group basis) simplifies the configuration required by the network administrator. 3.1.2 BGP AS number checking DC-BGP is enhanced to allow network administrators to disable checking of the first AS number on routes received from external peers. This simplifies configuration in a network where external peers do not conform to standard behavior. 3.1.3 BGP Peer fallover DC-BGP is enhanced to support configuration of fast fallover on a per-peer and per-peer group basis. This is in addition to the existing configuration option to configure fast fallover for all peers. When fast fallover is enabled for a given peer, DC-BGP monitors the route to the peer and brings the session down if the route fails. This allows DC-BGP to detect and react to peer session failure more quickly than previously because it does not need to wait until the BGP KEEPALIVE session times out. 3.1.4 BGP Graceful Restart Improvements DC-BGP is enhanced to support an improved Graceful Restart configuration mechanism. Graceful Restart can now be enabled or disabled at any time, allowing network administrators to dynamically enable or disable the Graceful Restart feature. DC-BGP’s management interface is enhanced to indicate when one or more peers do not support Graceful Restart procedures. This allows network operators to more easily diagnose why a Graceful Restart has exited unexpectedly. 9 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL 3.1.5 Additional per-peer group configuration for DC-BGP DC-BGP is enhanced to support additional peer configuration fields using the bgpPeergrTable and bgpPeergrAfiSafiTable, allowing you to set more configuration on a per-peer group basis. Peer groups ease the configuration burden on network administrators by allowing multiple peers to use the same configuration parameters. Perpeer equivalents to all the new fields currently exist in the bgpPeerTable or bgpPeerAfiSafiTable. 3.1.6 Peer Statistics DC-BGP is extended to display the following statistics. • Counts of transmitted and received packets by type per neighbor for all packet types. • Counts of the number of prefixes denied for a given reason. This provides improved management and problem resolution for BGP administrators. 3.1.7 Improved error handling The BGP protocol requires a BGP session to be torn down when a malformed message is received from a peer. This can cause network instability when the network contains misbehaving BGP speakers. To mitigate this problem, DC-BGP’s error handling is enhanced as follows. 3.2 • DC-BGP is enhanced to support the ‘attribute-discard’ error handling procedures defined in draft-ietf-idr-error-handling-03. • DC-BGP allows you to configure it to ignore malformed BGP_UPDATE messages, rather than tearing down sessions. MPLS features 3.2.1 More flexible LDP distribution support DC-LDP Session Controller is distributable, for example to allow LDP messages to be processed by intelligent line-cards handling a specific subset of LDP sessions. This distribution support is enhanced to allow easier configuration of distributed systems. 3.2.2 LDP Peer Support for Graceful Restart DC-LDP now provides read-only management fields to display, for a session, the LDP peer’s support for Graceful Restart and whether the local LDP router is using Graceful Restart procedures on that LDP session. This allows a network operator to more easily diagnose configuration errors. 10 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL 3.2.3 DC-LDP option to prevent distribution of labels for Prefix FECs over targeted LDP peer sessions DC-LDP is enhanced to allow network administrators to disable distribution of labels for Prefix FECs over targeted peer sessions. This allows devices to interoperate with nonconformant LDP implementations that do not allow labels to be received for Prefix FECs over targeted peer sessions. 3.2.4 Read-only TE information available at Transit Nodes DC-TPM now supports the mplsTunnelResourceTable at transit, and therefore allows support for show commands for RSVP state at transit nodes. This allows network administrators to more easily analyze the state of their network and diagnose problems. 3.2.5 New DC-LDP Management tables showing labels received/sent DC-LDP’s management interface is extended to provide full visibility into the labels that LDP has distributed, programmed or retained for each FEC. This allows network administrators to easily inspect the set of labels distributed by LDP in the network and ensure their network is operating as expected. 3.2.6 Reporting CC and CV types supported by peers DC-TPM now reports the Control Channel and Connectivity Verification types that a peer has advertised support for on over a Pseudowire, in an extension to the pwTable MIB. This allows identification of support for features such as LSP Ping on a per-Pseudowire basis. 3.2.7 Notification for auto-discovered Pseudowires When using the BGP VPWS/VPLS auto-discovery feature, it is not always desirable to have a full mesh of LDP peers set up in the network at all times. A new notification, pwAutoCreated, is sent when an auto-discovered Pseudowire is created in DC-TPM. This allows you to set up targeted LDP sessions to only those peers required to support the current set of Pseudowires. 3.2.8 DC-LDP support for MAC Address Withdraw messages for Generalized PWid FECs DC-LDP is extended to support MAC Address Withdraw messages for Generalized PWid FECs. These messages allow you to implement faster VPLS convergence when the topology changes by forcing a MAC flush operation at the affected PE routers. 11 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL 3.3 Multicast features 3.3.1 DC-VLAN Manager integration Metaswitch’s IGMP/MLD Snooping solution is now fully integrated with the new DC-VLAN Manager component (see section 2). With this enhancement, an IGMP/MLD Snooping instance will run over the active topology for a VLAN, meaning that you can drive changes to the IGMP/MLD Snooping-programmed forwarding entries based on changes to the active topology detected through, for example, DC-STP or DC-ERPS. 3.4 OAM features 3.4.1 Reporting faults detected by OAM protocols DC-MPLS OAM Manager is extended to report interface faults learned by OAM protocols. These failures are reported to your I3 Stub code over a new IPS interface, the Fault Reporting Interface. This allows you to fully integrate DC-MPLS OAM function with the rest of your architecture (for example, using fault information to determine the operational status of the interface as represented to the other components in the architecture). The reference I3 Stub includes code that implements this function. 3.5 OSPF features 3.5.1 Local Interface Identifiers in OSPF Neighbor Tables DC-OSPF’s neighbor tables ospfPmNbrTable and ospfPmMultiAreaNbrTable now provide read-only fields for the local interface IP address and interface index. This makes it easier for network administrators to correlate between OSPF neighbors and the interface over which they are connected. 3.6 L3VPN Manager features 3.6.1 Support for LSP Ping over Layer 3 VPNs DC-L3VPN Manager now provides the Route Distinguisher when programming an LSP for a BGP Layer 3 VPN. This allows you to implement support for LSP Ping over Layer 3 VPNs. 3.7 RTM features 3.7.1 DC-RTM supports defining the weight of a Route DC-RTM is enhanced to set the weight of an individual route redistributed into DC-BGP. This allows network administrators to tune the flow of traffic through their network by making individual routes more or less preferred. 12 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL 3.8 CSS features 3.8.1 DC-CSS performance improvements The performance of DC-CSS during rollback and Graceful Restart is significantly improved in this release. 3.9 General Integrated Control Plane features 3.9.1 Performance Improvement for Management Table Walks The Metaswitch Management Interface is enhanced to allow your management code to request multiple rows in a single AMB_GET request, rather than solely individual rows. This improves performance with large table walks and is particularly beneficial in distributed architectures where each row requires two context switches between different OS processes / cards. This is supported for all Layer 3 Unicast and Multicast routing solutions, and all Layer 2 solutions. 3.10 LMP features 3.10.1 Extended LMP Hello Dead Interval You can now configure an extended LMP Hello Dead interval. This allows LMP Graceful Restart to work with devices that take more than 65 seconds to restart. 13 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL 4 Bug Fixes The June 2015 release includes the following fixes and additional minor enhancements. You can obtain further information about these changes by viewing the online SFR system. Please contact your Customer Support representative for instructions on accessing this system. Product AI3 SFR# 463066 AI3 BDST 466883 467119 BDST 467858 BDST 475521 BDST 475522 BFDST BFDST 462395 469752 CIPR 476445 CMLS DC-BGP 473248 410798 DC-BGP DC-BGP DC-BGP DC-BGP 454035 457064 457799 460385 DC-BGP 462342 DC-BGP DC-BGP DC-BGP 462707 462796 462933 DC-BGP 463713 DC-BGP DC-BGP DC-BGP 463852 463945 464307 DC-BGP 464670 DC-BGP 464778 DC-BGP 465245 Summary Assertion failed: 'NBB_L3QE_EMPTY_LIST(((AI3_DATA *)lib_data)>pend_addr_change_interfaces)' file ../../../../code/comn/ai3/ai3apif.c, line 501 Unexpected AI3 PD log seen when running LACP Assertion Failed:'INVALID BRANCH' file ../../../../code/comn/nbase/base/nbbpd.c, line 1381 When programmed with ATG_BDPI_STLP_VLAN_INTERFACE scoped STLP state, the BD stub doesn't update the per-VLAN forwarding state Adding a BD to the BD stub fails if an interface in the underlying bridge is down. Adding an STLP when the BD interfaces have not been added to bridges leads to problem logs Assert in BFD stub when using BFDL to provide fast-hellos BFD hardware assist not updated with new tx packet if remote changes its my discriminator Routes over interface indices greater than 4096 do not get programmed into the O/S Address list TLV with length 0xfffe causes RALC to assert. Assert in qbra_loc_create_route, qbraloc1.c, line 454: NBB_ASSERT_NUM_LT(num_ecmp_routes, max_ecmp_routes); Assert in qbdc_del_replacing_ari_route (qbdcph12.c:609) Assert in qbnm_check_conn_collision() on line 477 of qbnmutil.c Mibstub crashes while receiving BGP Peer state BGP fails to ignore recursive NLRI in IPv6 update when link local address present Assertion failed: '!(NBB_L_IN_LIST(aro_cb->eor_marker->lqe))' file ../../../../code/bgp/qbumadve.c, line 113 Invalid cell hit in NM Connection FSM - input 9 in state 1 Restart exit reason is not set correctly if peer fails to restart DC-BGP's bgpRouteMapSeLocPref field should be of type Unsigned32 instead of Integer32 The description of bgpRmEntStrictConfed does not make clear what confederation checks it applies to BGP-NM applies cross-row MIB checking even for out-of-service rows BGP updates restart_exit_reason to COMPLETE too early in processing Assert !(LOCAL.rm_recovery_timer.pending), qbrmrst.c, qbrm_restart_complete. Assertion failed: '(NBB_BUF_SIZE)(((*offset))+((8))) <= ((NBB_IPS *)((ips)))->data_size' file ../../../../code/bgp/qbmlenc2.c, line 725 Assert in qbra_loc_add_route during startup when using BGP with aggregates BGP GR can't complete until select-defer timer pops if no peers support an AFI-SAFI with preserved state 14 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL DC-BGP 465445 DC-BGP 465477 DC-BGP 465537 DC-BGP DC-BGP 465769 466525 DC-BGP 467282 DC-BGP 468048 DC-BGP DC-BGP 468375 468468 DC-BGP 469205 DC-BGP DC-BGP DC-BGP DC-BGP DC-BGP DC-BGP 469682 470432 470454 470502 471287 472122 DC-BGP 472123 DC-BGP 472150 DC-BGP 472157 DC-BGP 472772 DC-BGP DC-BGP 472998 473817 DC-BGP 474290 DC-BGP DC-BGP 474500 475185 DC-BGP 475373 DC-BGP 476217 DC-BGP DC-BVM 477036 462239 DC-BVM 462577 Set bgpRmEntRestartAge from the select defer timer not the recovery timer Assertion failed: 'replacing_route->replaced_route == loc_route_cb' file ../../../../code/bgp/qbumalfm.c, line 776 Assertion failed: 'AVL3_IN_TREE(*node)' file ../../../../code/comn/ntlavll.c, line 675 Allow a BGP IP prefix with length 0 Assertion failed: 'ari_cb != NULL' file Z:\code\bgp\qbdcutil.c, line 711 qbdc_ari_iterate_next Assert due to adding a node into a list it is already in. qbra_loc_remove_route(), qbraloc1.c Assertion failed: 'INVALID BRANCH' file ../../../../code/bgp/qbrmcfsm.c, line 844 Bugged assert in BGP: NM ORF capabilities array Assert qbum_next_advert_loc_rib_route() qbumalfm.c line 948 when BGP being deactivated Segmentation fault in BGP in low memory conditions following resource timer pop DC-BGP cannot create both IPv4 and IPv6 'listen all' sockets Improve BGP phase progression flow control Remove restrictions on creation of peer MIB rows in BGP Updated route never advertised to RTM by BGP Assert in qbnm_bgp_sck_fsm() in very heavily loaded system Assertion failed: 'LOCAL.pm.match_as_regex_test == NULL' file ../../../../code/bgp/qbpmrmm2.c, line 1496 Assertion failed: 'QBDC_AQL_IS_UNQ_PEND_FREE(next_hop_cb) || (next_hop_cb->next_hop_local == ATG_YES)' file ../../../../code/bgp/qbdcveri.c, line 561 NBB_ASSERT_INVALID_BRANCH qbrm_get_bitmask_from_pref_type(). qbrmutl4.c line 1010 NBB_ASSERT_NUM_LT(open_data_ptr->capabilities_count, QBNM_MAX_NUM_CAPABILITY_OFFSETS); qbrm_store_peer_caps(), qbrmnm1.c Assert Fail: file ../../../../code/bgp/qbpmagg3.c:1656: 'qbpm_is_eligible_for_aggr(loc_route_cb, FALSE, aggr_cb NBB_CCXT)' nasserts=1 BGP does not treat some TCP socket errors as fatal Crash/assert with call stack including qbdc_prc_rpi_denied_loc_route() when node restarts and advertise_inactive = AMB_FALSE Aggregate routes advertised to peers in a peer group and with next_hop_self are advertised with the wrong next hop Assert hit in DC-BGP on receipt of invalid ORF Route Refresh message BGP outbound policy with a mixture of NLRI matching and general rules not working correctly Assertion failed: 'mj_cb != NULL' file Z:\code\bgp\qbdcphas.c, line 243 during BGP deactivation Assertion failed: 'config_cb->row_data.row_status == AMB_ROW_ACTIVE' file ../../../../code/bgp/qbpmadd.c, line 1299 AS path string can wrap on a GET on the NLRI or ARO table VPN Manager will not re-enable BGP routing successfully if it deactivated while setting use_bgp_routing to ATG_NO DC-BVM incorrectly logs resource shortage message for a normal stop/restart of DC-BGP 15 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL DC-BVM 462597 DC-BVM 463188 DC-BVM 463917 DC-BVM DC-BVM 464500 465492 DC-BVM DC-BVM 466338 473111 DC-BVM DC-BVM 474804 476389 DC-CLDP DC-CLDP DC-CLDP 409254 458901 459051 DC-CLDP DC-CLDP 460424 461761 DC-CLDP 462276 DC-CLDP 462628 DC-CLDP 464115 DC-CLDP 464185 DC-CLDP 465235 DC-CLDP DC-CLDP 465810 465974 DC-CLDP 466848 DC-CLDP 467182 DC-CLDP DC-CLDP 467447 467595 DC-CLDP 467703 DC-CLDP DC-CLDP DC-CLDP 468382 468453 468635 DC-CLDP 469131 DC-CLDP DC-CLDP 470759 471721 Assert in VPN Manager - qvb_rp_rv_calc_num_next_hops() line 957 Assertion Failed:'*num_invalid_next_hops == 0' Hit invalid cell in qvbrxfsm.c if last tunnel deleted for route while Dissociate FEC outstanding (Input 4 state 6) Assert in qvbrxfut.c at line 104 : (null) NBB_L_EMPTY_LIST(vrf_cb>vrf_rvx_buf_req_root) 0 (null) 0 Assert in ahl_mj_add_join() called from qvb_add_lmgr_join() VRF AFM can have no route to a destination if it has been advertised with two different RDs and one is then withdrawn L3VPN graceful restart fails when there is an incompletely configured VRF DC-L3VPN Manager stops being able to process routes if it receives one with no route target Assert in asejoifm.c at line 2370 (null) INVALID BRANCH 0 (null) 0 After deleting route-target, BVM sends ATG_LSI_DISSOCIATE_FEC_XC and ATG_LSI_ASSOCIATE_FEC_XC in quick succession Infinite loop hit in LDP when processing an ATG_PSI_RELEASE_LSP_XC Invalid FSM cell in rcpa_restart_fsm Assertion failed: 'fec_cb->fec_local_vc_status == ATS_LDP_VCSTAT_FORWARDING' file ../../../../code/cldp/rcpfverf.c, line 480 LDP does not release XCs before attempting to add new ones Remote PW Status in Label Mapping is not reported to LSI stub until outer tunnel is active Assertion Failure on line 375 of rcsefsk2.c when using IPv4 and IPv6 transports Hello adjacency and session fail to activate when using IPv4 and IPv6 transports and defined basic discovery entities Assert in rcse_maybe_create_entity() when using targeted and normal adjacencies Targeted adjacencies are never established after LDP SC is adminstratively disabled and then enabled Outgoing Hello rejected by sending Sockets Stub when using IPv4 and IPv6 transports and defined basic discovery entities DC-LDP does not set the source address on ATG_BFDI_SESSION_ADD Assert when getting a buffer for ATG_BFDI_STARTUP_DONE after LDP deactivated and reactivated Assert when getting a buffer for ATG_BFDI_STARTUP_DONE after LDP deactivated and reactivated without join failures Changing BFD settings of an interface used for basic discovery does not work if the entity is MIB-defined DC-LDP reports BFD status as ACTIVE before SESSION_UP is received NHR stub setting data_lost flag incorrectly causes DC-LDP to release PW FECs learned over the PSI Assertion failure in LDP on line 1156 of rcpaprad.c when parallel targeted / non-targeted sessions deactivate Crash in rcpl_build_recover_trnst_common() LDP assert when distributing the default route DC-LDP(SC) assert when trying to creating listening socket on learning about global label space Assertion Failed:'addr_1->length == addr_2->length' file ../../../../code/cldp/rcplutl1.c, line 1376 Incorrect remote Group ID when PW is dormant Codenomicon test with invalid VC Info causes assert in ralc_decode_next_if_parm() (ralcdept.c) 16 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL DC-CLDP 471724 DC-CLDP 471726 DC-CLDP 471891 DC-CLDP DC-CLDP 472180 472523 DC-CLDP 472804 DC-CLDP 473015 DC-CLDP 473783 DC-CLDP DC-CLDP DC-CLDP 474822 475258 475662 DC-CLDP 476517 DC-CLDP 476664 DC-CLDP 477654 DC-CSPF DC-CSS 462716 455317 DC-CSS DC-CSS 461270 462914 DC-CSS DC-CSS 463354 464939 DC-CSS DC-CSS DC-CSS DC-CSS 465547 465847 466091 469231 DC-CSS DC-CSS DC-CSS 469524 472149 472621 DC-CSS DC-CSS DC-CSS 473841 476415 476685 DC-HASL DC-IGRT 473087 465511 DC-IGRT DC-IGRT DC-IGRT 471345 473294 473983 Label Withdraw from Codenomicon with invalid Label type causes assert in ralc_encode_label_tlv() (ralcenpl.c) Address Withdraw message from Codenomicon causes assert in rcpa_proc_ldp_address_withdraw() (rcpaprad.c) LDP does not use the correct error code for LSP Ping queries in the case of PHP Assert in nbb_free_buffer() called from rcsn_process_msg() MIB walk of DC-LDP's session table can return entries in the wrong order after a session restarts Codenomicon LDP suite causes assert in rcpg_ralc_error_to_status() (code/cldp/rcpgntfy.c, line 583) DC-LDP can hit a segmentation fault in rcpl_run_mapping_fsms(), rcplmfsm.c:521 LDP can send duplicate Label Mappings on session establishment when large numbers of FECs are present DC-LDP can send LDP messages on the wrong session LDP never advertises address following address clash with peer LDP assert failure in rcse_cldp_ent_oper_req() disabling targeted entity while socket being opened LDP may not program the switch correctly when FEC is deleted, re-added, and then updated to use a new outgoing interface LDP will fail to complete processing I3 interface adds for a FEC if an I3 interface delete is queued. FECs reported only over the I3 are deleted if DC-LDP requests a complete refresh of routes from the NHR stub DC-CSPF infinite loop in qccs_exclude_link_resources Poor scaling of CSS prevents from loading a snapshot with large number of PWs in reasonable time CSS rolling between different BGP policy may lose AFI-SAFI table config CSS doesn't handle dependencies of AMB_FAM_BGP_ROUTE_MAP table correctly Improve diagnostics on duplicate entry on CSS replay. Segmentation fault: #0 0x0affd8df in css_check_replay_concurrency (replay_cb=0x1157c9ac) at ../../../../code/css/cssrhfun.c:844 Add list of CSS_MIB_CBs that require retried replication CSS fails to process a SET on a table that only contains trigger fields RG stub state not replayed by CSS Assertion failed: 'replay_type == CSS_REPLAY_DELTA' file ../../../../code/css/dep/bgp/cssbgppa.c, line 269 CSS rollback may create BGP policy holes/flaps Poor PROBLEM log when CSS replay fails CSS must set the AFI-SAFI explicitly when the next hop changes on the route map table CSS assert after configuration sync to standby then switch to active CSS incorrectly sets BGP next hop length to 1 Hard loop in css_check_for_qopm_dependency() (cssospf.c) on rolling back modification to an OSPF area ERPS holds on to an erpsMjTable request forever Add missing IGMP snooping value to the MrpmType TEXTUALCONVENTION IGMP non-querier is reducing grp expiry timer with leave packet reception IM activates before the AI3 library has finished initializing Fix IGMP non-queriers to ignore reports and act on queries for timer updating purposes 17 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL DC-IGRT 474554 DC-IGRT DC-IGRT 474670 474974 DC-ISIS 460365 DC-ISIS DC-ISIS 461236 462958 DC-ISIS DC-ISIS 463142 463198 DC-ISIS DC-ISIS 463582 463681 DC-ISIS 466568 DC-ISIS 467999 DC-ISIS 468604 DC-ISIS 468661 DC-ISIS DC-ISIS 468816 468833 DC-ISIS 468834 DC-ISIS 469003 DC-ISIS 469235 DC-ISIS 469347 DC-ISIS 469493 DC-ISIS 471262 DC-ISIS DC-ISIS 471619 473330 DC-ISIS 473391 DC-ISIS 473899 DC-ISIS 476052 DC-L2VM 455511 Segmentation fault on mgmdRouterCacheCfgTable and mgmdRouterSrcListCfgTable updates AMBL fills in MO incorrectly on big endian machines IGMP Router cannot time out state when (G,I) static configuration is removed on non-querier Turning on IPv6 support for a circuit fails if there are 19 IPv6 addresses on the circuit DC-ISIS: Fletcher Checksum can exceed 32-bit value for long updates DC-ISIS assert when remote IS withdraws support for topology during calculation: 'mt_is_cb != NULL' file qiprendp.c line 231 DC-ISIS(PM) assert after changing ISIS SYS type from level 2 to level 1+2 SM Assert when DC-ISIS entity joins twice to the same DC-RTM entity for multiple topologies (asejoifm.c line 2370) DC-ISIS problems found using Coverity Assertion failed in M-ISIS test: 'rc == AMBL_RC_OPER_STATE' amblmain.c, line 762 DC-ISIS(SDC) returns wrong value for isisISAdjProtSuppLocalSupport on MIB row if protocol is IPv6 SM assert in join FSM for BFDI join during MIB Destroy processing for DCISIS(SDC) Assertion failed: '(mt_local->mt_rc.state & QIPM_RC_FLAG_CALC_PAUSED) == 0' file ../../../../code/isis/pm/qiprapi1.c, line 111 Assertion failed: 'adjacency->stored_creation_hello != NULL' file ../../../../code/isis/sdc/qiscadj4.c, line 411 DC-ISIS restart can complete before all interfaces have finished activating. Assertion failed: '*circuit != NULL' file ../../../../code/isis/sdc/qiscadm1.c, line 177 Assertion failed: '!(NTL_BUF_REQUEST_PENDING(&level_info>dm.csnp_buf_req_cb.req_cb))' file ../../../../code/isis/pm/qipdapil.c, line 848 DC-ISIS(SDC) assert in qisc_bf_addr_find() when SESSION_DOWN crosses with SESSION_DELETE at BFDI Assertion failed: 'LOCAL.sd_join_cb.status == AMB_ISIS_MJ_JOIN_ACTIVE' file ../../../../code/isis/sdc/qischsnm.c, line 89 DC-ISIS(SDC) assert in qisc_bfdi_fsm() - session-up/session-down input in pending-add-response state Assertion failed: '(mt_local->mt_rc.state & QIPM_RC_FLAG_CALC_PAUSED) == 0' file ../../../../code/isis/pm/qiprapi1.c, line 111 ISIS set its MIN MTU size based on both L1 and L2 values even if it's only operating at one level DC-ISIS assert when activating an MT enabled passive circuit ISIS asserts if enable_igp_shortcut is set to AMB_FALSE in initial AMB_SET that creates PM component and I3 stub takes more than 3 seconds to respond to REGISTER ISIS can decide graceful restart has finished before all expected adjacencies are up DC-ISIS assert in qipm_cs_build_link_update while processing incoming LSP with zero system ID, zero age IS-IS assert if DL join configuration is deactivated while SDC is deactivating and reactivating. L2VM admin cycles VPWSs when the config MIB is not changed. 18 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL DC-L2VM DC-L2VM 456893 464219 DC-L2VM 464444 DC-L2VM DC-L2VM 464449 465724 DC-L2VM 465808 DC-L2VM DC-L2VM DC-L2VM DC-L2VM 468822 469257 471120 472262 DC-LACP 475124 DC-LACP 475703 DC-LLDP 453429 DC-LMGR 456506 DC-LMGR 462622 DC-LMGR 464194 DC-LMGR 465881 DC-LMGR 466477 DC-LMGR 466735 DC-LMGR 467172 DC-LMGR 467886 DC-LMGR 468519 DC-LMGR DC-LMP 470392 459302 DC-LMP DC-LMP DC-LMP 460344 461511 461522 DC-LMP DC-LMP DC-OAM 461759 464539 462669 DC-OAM DC-OAM 463137 463429 L2VM planned restart withdraws BGP routes Assertion Failed:'pw_cb->pw_local_ve_id != 0' file ../../../../code/temb/rrtpwver.c, line 951 DC-BGP advertises L2VPN routes with origin 'incomplete'; Juniper uses 'igp' Originated L2VPN routes have default local_pref of 0; Juniper sets 100 Assertion failed: 'INVALID BRANCH' file ../../../../code/l2vm/l2vf_rp_rpi_join_int.c, line 667 Segmentation fault: #0 0x09190471 in l2vv_wb_activation_sequence (vpws_bind_cb=0x10fc2ff8, pw_set_index=0x0) at ../../../../code/l2vm/l2vv_wb_vpws_binding_int.c:216 Typo in L2VM log 126 ('Deliver' should be 'Delivery') Configuring PW Parameters in case of BGP-AD VPWS fails to advertise local route after memory allocation failure Layer 2 Extended Community info should not be present on LDP-signaled PWs Assertion failed: 'if_cb != NULL' file ../../../../code/lacp/lacp_lm_im_api.c, line 1178 Assertion failed: 'INVALID BRANCH' file ../../../../code/lacp/lacp_nm_ent_act_fsm.c, line 521 Assertion failed: 'INVALID BRANCH' file Z:\code\lldp\lldp_hm_fsm.c, line 424 Assertion failed: 'NBB_L3QE_IN_LIST(lsp_cb->lsp_group_list_entry)' file ../../../../code/lmgr/rlmlsiu3.c, line 76 LMGR should return NO_MAPPING if the static FEC in an LPI_QUERY does not match any known static FEC Label Manager assertion if block allocation enabled but no global label space interface Assertion failed: 'label_block->ldb_lblk_rel_ips != NULL' file ../../../../code/lmgr/rlmlsil2.c, line 1603 Label Manager allows deactivation when label block actions are pending on the LSI DC-LMGR can get stuck in GOING_DOWN state, continuously resending a ATG_LSI_RELEASE_LSP_XC to the LSI stub. Assertion failed: 'lblk_descriptor->base_label.len == sizeof(NBB_ULONG)' file ../../../../code/l2vm/l2vd_lb_label_block.c, line 699 Assertion failed: 'label_block == NULL' file ../../../../code/lmgr/rlmlsil2.c, line 1389 Assert in rlm_ldb_init_lspg_fec_info(), 'avll_rc' in code/lmgr/rlmldbu9.c, line 859 DC-LMGR stuck going down after continuous start / stop sequence LMP crash during remove LMP port (without tunnel); : 'INVALID BRANCH' lmprafsm.c, line 1324 'INVALID BRANCH' assert in lmpvfsm.c; input 5 in state 0 LMP hits assert when add/remove remote-id on DBL LMP assert in lmp_vrfy_fsm(): Bad action 0XFF after input 0X06 in state 0X04 lmpDataLinkTestSent counter not incremented for OOB test messages Make LMP Graceful Restart work when anonymous verification is in use Allow DC-LSP Ping to correctly include Source and Destination TLVs in Echo requests Invalid assert in bfdl_rx_change() LSP Ping should send an Echo reply for badly formed Echo request packets 19 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL DC-OAM 463798 DC-OAM DC-OAM 464266 466550 DC-OAM DC-OAM DC-OAM DC-OAM DC-OAM DC-OAM 467724 467942 469178 470054 470984 471234 DC-OAM 472895 DC-OAM 474631 DC-OAM DC-OSPF 475362 365222 DC-OSPF 427817 DC-OSPF 430990 DC-OSPF DC-OSPF 443929 460968 DC-OSPF 461121 DC-OSPF 461913 DC-OSPF DC-OSPF 462240 462902 DC-OSPF 463111 DC-OSPF 464039 DC-OSPF 464554 DC-OSPF 464677 DC-OSPF 465029 DC-OSPF 465344 DC-OSPF DC-OSPF DC-OSPF DC-OSPF 465467 465705 465763 466196 DC-OSPF DC-OSPF 466492 466644 Report correctly whether reverse path verification failed, or was not attempted BFD session not initiated over suitable oper up interface Assert when terminating the BFD stub after rows have been created in the bfdSessionConfig table. LSP Ping does not support Nil FEC BFDL doesn't handle incoming packet with Poll bit set LSP ping reply mode is hard coded LSP Ping replies do not contain the bottom-of-stack bit on the bottom label LSP Ping Library does not encode and decode labels in the correct format bfdSessPerfTable reports times in milliseconds rather than hundredths of seconds LSP Ping does not correctly send out initial Downstream Mapping on traceroute request Assert in oam_mgr_lp_tm_tran_cancel() when cancelling an LSP Ping transaction CV-only BFD sessions fail Assert hit in qoamlsts.c at line 1218 : == ignore_rxmt_cb 0x0x1928696c rxmt_cb 0x0x1934088c DC-OSPF does not flush translated type-5 LSA when original type-7 LSA is flushed if incremental calculations are disabled OSPF incorrectly chooses a type 2 external route in preference to type 1 external OSPF assert in qopmrst1.c, line 632. If a default route is distributed to and then removed from OSPF, no default route is originated for attached NSSA DC-OSPF: Fletcher Checksum can exceed 32-bit value for LSAs bigger than 10k bytes. Crash in qodmi_nssa_lsa_lcl_fwd_add_chng when disabling OSPF on router OSPF associates neighbour with non-matching unnumbered interface DC-OSPF should preserve a neighbor's state as BDR while helping it Gracefully Restart Incorrect Aggregate LSAs (and consequently routing) can occur when optimal paths move between areas. Inter-area prefixes flap during L3VPN graceful restart with OSPF as CE-PE protocol Routing loops can result when PE-CE link goes down while sham link and back door link are up. NM must pass received Hello to PM if neighbor's view of PM's DR/BDR status conflicts with PM's view The range specified for ospfPmEntRestartAge is incorrect for read-only fields that may return zero. OSPF should run DR election if neighbors have just changed their view of our state. Tight loop seen in OSPF Codenomicon test Aggregate with mask 0x00000000, length 0 fails to match with route. Do not start interface wait timer until after GR delay timer stops Discard received packets for an interface in NM during restart until QONM_SEND_HELLO_PACKET is received. Codenomicon test: DC-OSPF propagates invalid Router LSA Adjacency not formed when OSPF P2MP interface configured with a 32 bit mask 20 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL DC-OSPF 466950 DC-OSPF DC-OSPF 467117 467118 DC-OSPF DC-OSPF 467539 467560 DC-OSPF 467679 DC-OSPF DC-OSPF 467792 468507 DC-OSPF 469992 DC-OSPF 469998 DC-OSPF DC-OSPF 470498 472335 DC-OSPF DC-OSPF 472361 472566 DC-OSPF 474046 DC-OSPF 474188 DC-OSPF 474782 DC-OSPF 475202 DC-OSPF 475553 DC-PIM 463712 DC-PIM 463988 DC-PIM DC-PIM 464406 464903 DC-PIM 465890 DC-PIM 466180 DC-PIM 466804 DC-PIM DC-PIM 466871 466933 DC-PIM 467229 DC-PIM 470556 OSPFv3 should always consider originating a new Intra-Area-Prefix-LSA if the set of addresses for an active OSPF interface is changed. ospfv3PmAreaLsdbType should have 'One of:' field in MMF ospfv3PmShamLinkHelperModePolicy defines wrong 'Combination of:' group in MMF 'Packet received was too small' error for valid OSPF packets. Assert in qopm_mib_if_update_nm_entity() while modifying ospfPmIfNmEntity NBB_ASSERT_NUM_EQ(area_cb->deact_recursion_level, 0); in qopm_area_activate() qopmmam3.c when taking an area down and up quickly Fail to flush translated LSAs after interface to NSSA node dropped Crash in DC-OSPFv2 (qodmi_originate_router_lsa) when the I3 deletes one of multiple addresses on an inactive interface. Must run full calculation when acting as NSSA translator and AS External LSA received Only translate NSSA LSA if the forwarding address is reachable through the NSSA User exit for ospfPmAreatable events NSSA LSAs with a forwarding address of a broadcast OSPF interface may end up wrongly translated by ASBRs if the interface goes down OSPF sometimes asserts due to invalid LS type bits DC-OSPFv3 assert/crash due to non-existent Network LSA when deactivating interface on which local router was DR qodm_user_database user exit is not called when a self-originated LSA is refreshed Inter-Area prefix LSA for local address flushed when a Point-to-Point link activates OSPF doesn't enter helper mode if non-routing related LSAs are on the retransmit list (preventing simultaneous GR for multiple non-DRs on a network from working) OSPF asserts when area destroyed which is associated to an interface which is changing IP address. OSPFv3 handling of Router Information LSAs is poor and can lead to asserts DC-PIM(TM) asserts in QPTM_FMWK_GRP_CXT_IS_INIT() while processing a new filter to clear group state (S,G) state never gets deleted in single-node ASM test with directly connected source and receiver Prune not attempted when RP becomes Unreachable DC-PIM asserts if MSD stub includes unknown (S,G) flow in ATG_MSDI_REMOTE_DATA_INACT DC-PIM never deletes (S,G) state because SwitchToSptDesired(S,G) remains TRUE forever in some cases DC-PIM uses Q0_INET_ADDR and ATG_INET_ADDRESS log filters incorrectly DC-PIM Neighbor filter sometimes incorrectly filters in packets that should be excluded DC-PIM: Consider reduced keepalive timer duration when restarting RLT Handle changes to PIM-TM's Register filter synchronously for connected flows DC-PIM Neighbor filters don't work with rule indices greater than 0x80000000 Unable to distribute PIM entities onto locations other than location 1 21 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL DC-PIM 471393 DC-PIM DC-PIM 471752 471910 DC-PIM 472185 DC-PIM 472204 DC-PIM 472886 DC-PIM 476908 DC-PSC 467082 DC-PSC 467784 DC-PSC DC-PSC 469109 469763 DC-PSC DC-PSC DC-PSC 470956 472235 475984 DC-PSC DC-RSM DC-RSM DC-RSM 476524 467011 475650 475945 DC-RSVP 325631 DC-RSVP 461653 DC-RSVP 461659 DC-RSVP DC-RSVP 461660 462207 DC-RSVP 462797 DC-RSVP DC-RSVP DC-RSVP 462822 462974 462982 DC-RSVP DC-RSVP 463291 463482 DC-RSVP DC-RSVP DC-RSVP 463837 464137 466596 DC-RSVP 466937 DC-PIM assert/crash in qptm_dsm_delete_s_g_i_tree() when processing SSM (S,G) filter change DC-PIM crash accessing freed Register (S,G) state CB DC-PIM assert inserting (S,G) CB into tree after S stops being local - CB already exists DC-PIM assert inserting (S,G) CB into tree when group switches from SSM to ASM - CB already exists DC-PIM assert when modifiying pimStaticRPTable row: '(gm_cb>gmap_flags & QPTM_RPM_GMAP_OVERRIDE_SUBRANGE) != 0' DC-PIM: For SSM group, send (S,G) TIB record with IIF and OIF before data is received PIM-TM: GMI message not sent if QPNM_INTERFACE_STATUS (UP) received while a buffer post is already outstanding DC-PSC behaves incorrectly if SF-working detected by both peers and cleared by one end. It is valid for PSC WTR timer to not be running if SF occurs during remote lockout PSC incorrectly handles remote LO in conjunction with local input. PSC may update local admin state based on remote input without informing user PSC incorrectly enters WTR state PSC dead lock after FS and SF-P PSC ends up in wrong state after SF-P because messages not transmitted during SF-P PSC ends up in wrong state after SF-P when there is a remote FS or MS NBB_ASSERT_TRUE(avl_rc); krs_init_tunnel_if_select, krsfrusr.c 663 FRR: Label from MP is not present in associated cross-connect Route query fails due to link not having unreserved bandwidth information even though tunnel has token_rate 0 Assert failure: parms->if_user_data_len >= sizeof(ATG_MPLS_IF_USER_DATA) Backup retry timer not started if LDB_CONNECT fails for PLR merging into crossing transit detour. rrr_proc_ps_error_input_flags() shouldn't process more flags once TC actions created Assert failure because find_rsb_from_psb() failed RSVP sends spurious RR_LRA_EVENT_TRANS_PATHTEAR after data interface down at egress Backup retry timer not started if error on transit detour into which PLR detour merges. Missing RSVP Resv from egress node after failed FS-P and rollback RSVP Path refresh timer expiring while CC recovery timer is running Inefficient looping through all PSBs when only the PSBs in the if_psb_list in the RRR_IF_INFO are relevant Crash at rrr_dec_next_hop_event_usage RSVP e2e protecting or working sometimes not refreshed after link failure and state change Change to resource class of interface not handled correctly by FRR LSPs Allow RSVP infinite neighbor recovery timers Crash handling framed objects due to confusion between sizeof structure and sizeof structure pointer DC-RSVP crash on receipt of ResvErr message containing a Style object but no ErrorSpec object 22 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL DC-RSVP 467691 DC-RSVP 468765 DC-RSVP DC-RSVP DC-RSVP 468797 469572 469630 DC-RSVP 470742 DC-RSVP DC-RSVP 471441 471888 DC-RSVP 472325 DC-RSVP DC-RSVP 472412 472656 DC-RSVP 472686 DC-RSVP DC-RSVP 473623 475074 DC-RSVP 475938 DC-RSVP 476142 DC-RTM DC-RTM 353061 436298 DC-RTM 457305 DC-RTM 462932 DC-RTM 463664 DC-RTM DC-RTM 466275 466288 DC-RTM DC-RTM DC-RTM 468883 472576 473401 DC-RTM 474898 DC-STP DC-STP 455044 455205 DC-STP 462496 DC-STP DC-STP DC-STP 462591 464293 468896 Do not use data-only links to acquire a valid source / destination address for HELLO neighbours Codenomicon test: Assert in rripobj1.c sending ResvErr in response to Resv which doesn't match session and has invalid hop object RSVP ignores updated RRO during neighbor restart for non-FRR LSPs Assert hit in release out seg RSVP Codenomicon: RESV Message containing MESSAGE_ID object with 8192 repeated octets causes crash Infinite loop in RSVP codenomicon test with malformed DIAG_RESPONSE object AMB_OID_RSVP_PROD_MAX in rr0pmib.h is not set correctly. RSVP does not use the correct error code for LSP Ping queries in the case of PHP DC-RSVP assert at egress in rrip_find_api_sess_cb() after Sender Template obj on Incoming Path msg has length > 24 RSVP assert on receipt of Bundle message with invalid sub-message NBB_ASSERT_PTR_EQ(psbp->ps_recovery_cb->in_seg_label, NULL); rrr_alloc_recovery_path_state() during graceful restart DC-RSVP FRR processing calls rrr_term_lsp_private_data() UE without corresponding init call DC-RSVP crashes in rrr_sent_ero() on receipt of truncated ERO Assertion failed NBB_ASSERT_PTR_NE(tc_ldb_parms.tc_ldb_up_psbp, NULL) in rrr_frr_initiate_local_repair() No LDB_RESERVE sent if initial RESERVE fails to be sent and then Path refresh timer pops Assert in rrrbfd.c while configuring RSVP interface after it has been previously unconfigured RTM must cope with the I3 stub going away (and not abend) Over-zealous EXCEPTION logging for re-distribution entries with equal priority DC-RTM incorrectly waits for startup timer to pop before sending routes to FT stub if partner wait time is 0 DC-RTM's new MED and LOCAL_PREF fields should be of type Unsigned32 instead of Integer32 DC-RTM rejects 2nd join from a single DC-ISIS entity joins (with 2 different MT IDs) DC-RTM assertion failure in BFD test: qcrtveri.c line 737 DC-RTM assert processing ATG_I3_GET_INET_INTERFACES response with BFD join enabled Interface route age is not set at initialization Tight loop in RTM with RPM dead timer repeatedly popping DC-RTM never sends snapshot over RPI if partner_wait_timer pops after startup_timer and after RPI is cycled DC-RTM assert in qcrs_route_check_delete() after deleting redistribution rule matching a pending deleted route STP PM under heavy load in steady state STP PM may have unpredictable behavior when deactivating with many interfaces. Unexpected CIST external cost seen in STP logs made during port role selection STP interfaces do not finish deactivation when the BDPI join goes down STP NM MIB ASN.1 has incorrect value for IF_ATG_NMI Assertion failed: 'rc == ATG_ASYNC_COMPLETION' file ../../../../code/stp/stp_pm_pe_pst_fsm.c, line 455 23 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL DC-STP 474300 DC-TPM DC-TPM 347626 448475 DC-TPM 459650 DC-TPM DC-TPM 462928 462956 DC-TPM DC-TPM DC-TPM 468509 469868 470514 DC-TPM DC-TPM 470857 470896 DC-TPM 471971 DC-TPM DLST 475200 465413 DLST 467777 DLST 470930 I3ST I3ST I3ST 462629 463261 464329 I3ST 464656 I3ST I3ST I3ST 465350 465499 465965 I3ST 467173 I3ST 467283 I3ST 467509 I3ST I3ST I3ST 467523 469092 469358 I3ST I3ST 469379 471402 I3ST I3ST 471466 474506 Assertion failed: 'INVALID BRANCH' file ../../../../code/stp/stp_nm_pe_pim.c, line 457 Different TPM assertion failures on tunnel restart timer pops DC-TPM can hang onto MIB requests changing pwEnable on entity MIB for 10s of seconds Assertion failed: 'pw_cb->pw_oper_status == rrt_pw_calc_mib_oper_status(pw_cb, admin_up NBB_CCXT)' file ../../../../code/temb/rrtpwver.c, line 819 Assert int Tunnel Manager when RSVP-TE Notify received Cannot configure a static co-routed bidirectional transit tunnel with tunnel direction AMB_MPLS_TNNL_DIRECTION_TR_BI If TPM is still going up you cannot destroy it Crash/assert in rrt_destroy_tnnl_cb() when taking TPM down Crashes/asserts and strange MIB behavior when toggling persistent tunnel row status Label Release sent incorrectly in PW admin-toggle window condition Assert in rrt_send_ldb_del_lsp_tunnel() when posting for LRAPI and LDB buffers NBB_ASSERT_NUM_EQ((*pw_cb)->pw_vif_index, 0); rrtpwldb.c when recreating a PW Assert hit: qccsqury.c, line 381 due to invalid request from TPM Check for non-null VLAN ID before setting the VLAN type in dls_lx_rcv_sck_data() DL stub does not take VLAN ID into account when performing an attachment lookup on the SCK interface An (S,G) request for one source does not stop other (S,G) streams from being forwarded using the default 'unknown group' rule Segmentation fault in i3_if_prev_advertised(), i3ind.c line 1150 Error from Linux kernel 'netlink: 16 bytes leftover after parsing attributes' Assertion failed: 'SHARED.config_poll.resched_ips == NULL' file ../../../../code/stubs/i3/i3vrfy.c, line 134 Assertion Failed:'buffer_size < 10000000' file ../../../../code/stubs/i3/unix/i3lx.c, line 764 VLAN-tagged interfaces not advertised to DC-LACP by the I3 stub Several fields not correctly replicated in I3_INTERFACE_CB I3 stub stores fault information for interfaces even if fault information is unknown Assertion failed: 'i3_join_cb->i3_status == I3_SJ_ACTIVE' file ../../../../code/stubs/i3/i3haf.c, line 443 Interface re-added to bundle is not withdrawn from components that shouldn't see aggregated interfaces Assertion failed: 'mem_not_valid_count == 0' file ../../../../code/comn/nbase/base/nbbverif.c, line 270 MC-LAG bundles are unstable I3 stub fails to close ioctl socket I3 stub does not calculate ethernet speed for bundles correctly if the bundle includes multiple links Linux kernels older than 2.6.32 do not support ethtool Exception in I3 verify proc when two FRI masters register with the same profile index Bundle with no interfaces is still advertised as oper up by the I3 stub Assertion failed: 'SHARED.config_poll.current_type != I3_POLL_TYPE_NONE' file ../../../../code/stubs/i3/i3ind2.c, line 2511 24 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL I3ST 477753 I3ST IPST IPST 477865 471442 473037 IPST MSDST 473537 464886 N-BASE 353070 N-BASE 452335 N-BASE 461514 N-BASE N-BASE N-BASE N-BASE 464431 470295 470400 470490 N-BASE N-BASE 470826 471762 N-BASE N-BASE N-BASE 471988 472243 475123 N-BASE 475440 SMS Tools 468536 470788 Tools 470791 Assertion Failed:'addr_cb->if_cb != NULL' file ../../../../code/stubs/i3/i3cbcomn.c, line 1189 Linux I3 stub stuck in tight loop with NBB_RESCHEDULE IPSs Unable to distribute IGMP and SCK on different locations Multicast sockets fail to activate on VxWorks with a little-endian CPU if the suffix (LSB) is 0xE0 Assert failure in sockets stub on attempting to delete an MD5 password Sample MSD stub crashes when it has to post for an ATG_MSDI_REMOTE_DATA_ACT/INACT buffer On removing and readding a backup card, MIBs are not unregistered, so MIB operations on the new backup fail LDP can hog the scheduler when there are large numbers of FECs pending work. VxWorks and Windows implementations of nbb_os_get_ntp_time() calculate incorrect number of fractional seconds NBB_TRACE_TEXT is not threadsafe [ALERT] DCSI hangs when pdtrc.log wraps in MT N-BASE Unable to destroy MIB row due to invalid configuration AMBL does not support asynchronous MIB Gets with full storage of configuration AMBL should delete automatically managed MOs in AMBL_TERMINATE Update PD log conversion buffers to be usable from both LOCAL and SHARED nbb_get_num_procs_of_type() is not thread safe Change nbb_os_get_mtime() to use clock_gettime() Assertion failed: 'duration < 0x80000000' file ../../../../code/comn/ntlcltim.c, line 547 Assertion failed: 'indices[iindex].min_value <= indices[iindex].max_value' file ../../../../code/comn/ambutil4.c, line 163 L2VM SMS tests intermittently fail due to timing between SMS nodes Dmptrace logs 'failed to find any input log files to decode' even when there are files in the directory Dmptrace fails to parse NBB_HANDLE64 25 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL 5 Integrating This Release This section describes how to integrate the June 2015 release. The delivery process for this release has been updated so that you can download the code from a git repository. The code can still be made available on an ftp server if necessary. Please work with your Customer Support Engineer to establish the best way to access the code. 5.1 Non-Back compatible changes in this release This section describes • any non-back compatible changes that are included in this release • the set of steps you will need to undertake in order to preserve the existing behavior of your product. Metaswitch tries to ensure that all interface changes are back compatible, however occasionally this is not possible. For example, some Metaswitch products use specific values that are defined by standards bodies (such as IANA). Occasionally, the standards bodies change these values; Metaswitch updates its products to stay in line. This may cause incompatibility with previous versions. Where a non-back compatible change is required, Metaswitch makes a concerted effort to minimize the scale of these changes and their impact on existing customers. For interface back compatibility, Metaswitch assumes that your stub code memsets all IPSs to 0 after allocation using NBB_ZERO_IPS. If this is not the case, you will have to make additional changes to ensure that new fields are correctly initialized. You must also ensure that you have updated your stubs to include any new functionality and APIs. You should merge any changes that you have made to your stubs into the version supplied with this release, as described in the Existing Users Getting Started Guide, section 5. Note that this section includes every non-back compatible change that could potentially affect you. In many cases, you will find that there is no additional integration work required. For more information about the interface changes described below, please consult the relevant interface specification manual or the Metaswitch Integrated Control Plane Management Interface Reference. 5.1.1 General Integrated Control Plane changes Change to cssFileStatusTrap structure The cssFileStatus field of the cssFileStatusTrap MIB Trap is changed from an NBB_BYTE to an NBB_ULONG. If your Management Stub makes use of this field then you must update it to use the new type. 26 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL Change to type value name for AMB_STUBS_BD_BRIDGE_DOMAIN The type value name for the AMB_STUBS_BD_BRIDGE_DOMAIN family is changed from AMB_FAM_STUBS_BD_BRDGE_DOMAIN to AMB_FAM_STUBS_BD_BRIDGE_DOMAIN. If your Management Stub makes use of this value then you must update it to use the new name. 5.1.2 BGP changes BGP Dynamic Peers DC-BGP now supports dynamic BGP peers configured as BGP peer address prefixes in the new bgpPeerRangeTable, with peer status reported in the new bgpPeerStatusTable. Previously DC-BGP only supported dynamic peers by setting bgpNmListenAcceptAll to true in the bgpNmListenTable. This function was not widely used, but if you do use it then you may need to update your Management Stub code to handle the following changes. • DC-BGP now reports dynamic BGP peers in the bgpPeerStatusTable but not in the bgpPeerTable. If you use the bgpPeerTable to report or control dynamic peers then you should update your Management Stub code to use the bgpPeerStatusTable instead. • DC-BGP no longer retains state for dynamic BGP peers indefinitely. Instead, state for dynamic BGP peers is freed when the BGP session has terminated and the graceful restart timer has expired. If you need to get end of session status and statistics then you should do so before the graceful restart timer expires. Support for generic AFI/SAFIs DC-BGP originally aimed to support generic AFI/SAFIs with NLRI as opaque data. Experience has shown that new AFI/SAFIs typically require changes to BGP function and that NLRI typically cannot be treated as opaque data. Therefore, DC-BGP no longer supports generic AFI/SAFIs. User exit updated to support decode errors The QBML_USER_DC_MP_NLRI_DEST user exit now supports decode errors. This allows the user exit to reject individual NLRI elements without rejecting an entire BGP UPDATE message and terminating the BGP session. For further details see the user exit definition in code/comn/custom/qbmluser.h. If you have not modified the QBML_USER_DC_MP_NLRI_DEST code supplied by Metaswitch you can simply use the new code supplied by Metaswitch. If you have modified the QBML_USER_DC_MP_NLRI_DEST code supplied by Metaswitch you should update the code using the Metaswitch implementation as a reference. 27 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL ECMP Routes DC-BGP’s handling of ECMP routes is improved in this release. It now uses next hop self when advertising an ECMP route to an I-BGP peer. Previously the next hop attribute of the best route was forwarded unchanged in this case. Using next hop self for ECMP routes ensures data is forwarded via the local router and via all ECMP routes, rather than just via the best route. BGP Graceful Restart DC-BGP is enhanced to support an improved Graceful Restart configuration mechanism. If you currently implement Graceful Restart for DC-BGP you must make the following changes. • To ensure DC-BGP runs Graceful Restart procedures, your Management Stub code should set bgpRmEntDoGracefulRestart instead of setting bgpRmEntRestarting. You can set this new field prior to the DC-BGP instance being restarted. • To read whether DC-BGP is restarting, your Management Stub code should use bgpRmEntRestartTimeLeft. If the value of that field is non-zero, DC-BGP is restarting. • The DC-BGP Graceful Restart exit reason field, bgpRmEntRestartExitReason is updated to add a new value, bgpRstrtExitPeerNoSupp, to indicate that one or more peers cannot help the local router to restart because they do not support Graceful Restart procedures or are themselves restarting. To handle the new exit reason in a back-compatible way, treat the new exit reason as equivalent to the existing bgpRstrtExitComplete value. For more details, see the Metaswitch Integrated Control Plane Management Interface Reference. bgpRouteMapSeLocPref Type Change The bgpRouteMapSeLocPref field has changed type from an NBB_LONG to NBB_ULONG to match similar LOCAL_PREF fields. The range of allowed values is unchanged (it was not policed before) but you may need to add casts to your Management Stub code. Change to bgpTrapData structure The bgpPeerState field of bgpTrapData is changed from an NBB_BYTE to an NBB_LONG. If your Management Stub makes use of this field then you must update it to use the new type. Performance improvements to DC-BGP regular expression handling DC-BGP is enhanced to improve regular expression handling. If you have not modified the DC-BGP regular expression handling user exit code supplied by Metaswitch, you can simply use the new DC-BGP regular expression handling user exit code supplied by Metaswitch with no further integration work required. If you have modified the DC-BGP regular expression handling user exit code supplied by Metaswitch, you should merge the following changes using the Metaswitch implementations as a reference. 28 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL • The user exit qbpm_reg_exp_compiles_ok() is now qbpm_compile_reg_exp() and the parameters are updated. The new user exit must return a pointer to the compiled version of the regular expression. It is the responsibility of the user exit to allocate any memory required to store the compiled regular expression. • You should implement the new functions qbpm_verify_reg_exp() and qbpm_free_reg_exp(). Your implementation of these user exits must verify and free any memory allocated in qbpm_compile_reg_exp(). • The user exit functions qbpm_filter_as_path(), qbpm_filter_comm() and qbpm_filter_ext_comm() now receive the compiled regular expression allocated in qbpm_compile_reg_exp() instead of the uncompiled regular expression. Your implementation of these functions no longer needs to compile the regular expression before executing it. For sample implementations, see /code/comn/custom/qbpmrex*. Additional Index Field for BGP Management Tables In order to support advertising multiple BGP paths to the same destination, the following BGP Management tables have a new path ID index field. • • • • • • • bgpNlriTable now includes bgpNlriPathId bgpNlriPrefixTable now includes bgpNlriPrefixPathId bgpPathAttrUnknownTable now includes bgpNlriPathId bgpPathAttrClusterTable now includes bgpNlriPathId bgpPathAttrCommTable now includes bgpNlriPathId bgpPathAttrExtCommTable now includes bgpNlriPathId bgpAdjRibOutTable now includes bgpAdjRibOutPathId You should update your Management Stub to fill in Management requests for these Management tables with object IDs that include the new path ID index value. If you do not support multiple BGP paths you should simply set the path ID index value to zero. If you do support multiple BGP paths you should update your Management Stub to support Management table rows with different path ID values. Also, if you have modified any of the following Management table lookup user exits you should update the code to include the following new path ID index values. • • • • • • • • • • • qbdc_mib_ue_nlri_prefix_lookup qbdc_mib_ue_find_ari_route_prfx qbdc_mib_ue_find_best_ari_route qbdc_mib_ue_find_any_ari_route qbdc_mib_nlri_lookup_ue qbdc_mib_nlpf_lookup_ue qbdc_mib_attr_unknw_lookup_ue qbdc_mib_attr_clust_lookup_ue qbdc_mib_attr_comm_lookup_ue qbdc_mib_attr_xcomm_lookup_ue qbum_mib_aro_lookup_ue 29 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL New BGP NLRI Formats In order to support advertising multiple BGP paths to the same destination, the following BGP user exits now have to handle the modified NLRI format including a Path ID value. • • • • • qbml_user_parse_all_mp_nlri qbml_user_parse_std_mp_nlri qbml_user_dc_mp_nlri_dest qbml_user_ec_add_mp_nlri_dest qbml_user_ec_nlri_size If you have modified these user exits you should update the code using the Metaswitch implementation as a reference. QBRM_USER_INIT_AFI_SAFI_CB User Exit In order to support advertising multiple BGP paths to the same destination paths, the qbrm_user_init_afi_safi_cb user exit now initializes additional fields in the QBRM_AFI_SAFI_CB structure. If you have modified this user exit you should update the code to initialize the new fields using the Metaswitch implementation as a reference. Customizable Regular Expression Lengths The length of regular expressions used on the BGP Management interface is now customizable using the new QB_BGP_MAX_REG_EXP_LEN constant. In addition, the default length is increased to 300. If you require this value to remain constant across releases you will need to change the constant back to 127. bgpRouteMapIndex Zero DC-BGP no longer accepts configuration of route maps with bgpRouteMapIndex = 0. Previously such route maps could be configured but not used, so valid configurations without unusable route map entries are not affected. If your MIB stub uses an index value of zero you should update it to use a non-zero index. 5.1.3 Multicast changes DC-VLAN Manager integration IGMP/MLD Snooping is now fully integrated with the new DC-VLAN Manager component, allowing an IGMP/MLD Snooping instance to run over the active topology for a VLAN. By default, DC-IGMP will attempt to use the BDII join to learn the active topology. Previously, this information was learned over the I3 join. To retain the I3 join, you must set mgmdRouterEntSnoopDisableBdii to AMB_TRUE. For more information, see the IGMP Proxy and Snooping Cookbook and the DC-IGMP Configuration and Management Guide. 30 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL 5.1.4 Layer 2 changes Changes to names of some DC-LLDP management objects DC-LLDP is now able to transmit several optional Organizationally Specific TLV types (see section 2.11, Link Layer Discovery Protocol: DC-LLDP), which you enable using the object lldpIfConfigTLVsTxEnable. The default behavior is unchanged – DC-LLDP transmits all the optional TLV types from the Basic Management TLV set, as defined in 802.1AB-2009 s6.3a, but does not transmit any Organizationally Specific TLV types. To improve clarity, the #defined default value is renamed from AMB_LLDP_TLV_ENABLE_ALL to AMB_LLDP_TLV_ENABLE_ALL_B_MGMT. Also, in addition to lldpV2RemTablesChange management notifications, DC-LLDP can now be configured to generate lldpRemDeviceChange management notifications, which you enable using the objects lldpEntRemDeviceChgNtfyEnable and lldpIfConfigRemDeviceChgNtfyEnable. To improve clarity, the management objects that enable the lldpV2RemTablesChange management notifications are renamed, from lldpEntNotificationEnable and lldpIfConfigNotificationEnable to lldpEntRemTablesChgNtfyEnable and lldpIfConfigRemTablesChgNtfyEnable, respectively. Similarly, the associated C fields, textnames and #defined OID names are renamed, from notification_enable to rem_tables_notification_enable, notification-enable to rem-tables-notification-enable, and AMB_OID_LLDP_ENT_NOTIFY_ENABL and AMB_OID_LLDP_IF_CFG_NOTIFY_EN to AMB_OID_LLDP_ENT_REM_TBL_NFY_EN and AMB_OID_LLDP_IF_CFG_REM_TB_N_EN. The default behavior is unchanged – DC-LLDP does not generate management notifications. If your management code uses the listed management objects then you must update it to use the new names. 5.1.5 MPLS changes Disabling DC-TPM’s support for Pseudowires deactivates Pseudowires Previously, disabling DC-TPM’s support for Pseudowires, either by deactivating DC-TPM or by setting dcMplsTeMibPwEnable to AMB_FALSE, caused all Pseudowires and all rows in the pwTable to be destroyed. That behavior is modified so that now all Pseudowires and pwTable rows are deactivated rather than destroyed. If you wish to destroy all rows then your management code should manually destroy each pwTable row when dcMplsTeMibPwEnable is set to AMB_FALSE. DC-RSVP now rejects an updated UNI Call-ID for UNI LSPs The UNI Call-ID must not change over the lifetime of an LSP. Previously, DC-RSVP allowed the UNI Call-ID to be updated on a received Path message, and propagated the new value downstream. Now, it rejects the Path with a PathErr. 31 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL The new behavior is essential to prevent two unrelated LSPs being merged into one. For example, if a user deletes an LSP at ingress, and quickly creates another LSP using the same RSVP tunnel identifiers but a different UNI Call-ID, the new LSP must not accidentally merge with an existing fragment of the old LSP that may still exist downstream. Activation/deactivation of cross connects based on interface state If mplsXCAutoStaticXC in code/comn/intface/rl0mib.h is set to “no”, cross connects are always programmed irrespective of interface state. Previously with this setting a static cross connect would only be programmed if its underlying interface was up when the cross connect was created. DC-LDP supports MAC Address Withdraw messages for Generalized PWid FECs Support is added to DC-LDP for MAC Address Withdraw messages for Generalized PWid FECs. MAC Address Withdraw messages can be generated by sending an ATG_L2M_MAC_ADDR_IND IPS to DC-LDP in the same way as for PWid FECs. This enhancement makes a minor non-back-compatible change to the rcp_vc_maybe_send_mac_addr_wdrw() user exit. Any implementation of this function that references vc_id will need to be updated to check the fec_def.fec_type and fec_def.fec_vc_id parameters. 5.1.6 OAM changes DC-LSP Ping now uses SHARED data The DC-LSP Ping code that acts as the DC-LSP Ping Library user is changed to act like a stub component and use SHARED data. This means integration of receive APIs can use stub entry points to directly enter the required context. If you have customized the DC LSP Ping code you may need to change your code to take this change into account. Modify BFDL to report times in hundredths of seconds The BFD Library interface is modified to report times in the BFDL_SESSION_STATS structure in hundredths of a second rather than milliseconds, to match the definitions of time fields in the bfdSessPerfTable. DC-BFD Hardware Assist Modification DC-BFD hardware assist is enhanced to close a window when bringing down a BFD session. To integrate this feature, you will need to modify the BFDL_START_RX_DETECT callback to take a new parameter (detect_mult). You should use the value of this parameter to calculate the Detection Time for BFD Control packets. The Detection Time is the rx_interval multiplied by detect_mult. If a BFD packet is not received on this session within this Detection Time, the DC-BFD Library user must call BFDL_RX_CHANGE. A value of 0 means the DC-BFD Library user should not time out received packets but should continue to handle receipt of BFD packets and check for changes in the packets received. 32 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL 5.1.7 RTM changes rtmRedistNwMed and rtmRedistNwLocalPref type change The DC-RTM rtmRedistNwMed and rtmRedistNwLocalPref fields are changed from NBB_LONG to NBB_ULONG to match similar MED and LOCAL_PREF fields in DC-BGP. The range of allowed values is unchanged (it was not policed before) but you may need to add casts to your Management Stub code to resolve compiler warnings. These fields are passed over the Routing Protocol Interface, so the types of the multi_exit_disc and local_pref fields in ATG_QCRP_BGP_INFO have also changed. Note that this change affects routes redistributed from DC-RTM into DC-BGP and routes passed to DC-RTM from DC-BGP. If you have written your own RPM or AFM that uses ATG_QCRP_BGP_INFO then you may need to add casts to this code. 5.1.8 CSS changes DC-CSS performance improvement DC-CSS no longer calculates or validates a checksum for CSS snapshot files, as a performance optimization. This means that up-level CSS snapshots will not be able to be read by back-level DC-CSS. Please contact your support representative if you would like to use Hot Software Downgrade with DC-CSS. 5.2 Enabling the new features in this release This section describes how to enable the new features listed in chapters 2 and 3 of this document. If the feature is in chapter 2, please consult your Metaswitch Sales Contact if you want to use it. 5.2.1 General Integrated Control Plane features Extensions to the HAF library The HAF library is extended to provide a simplified API for replicating state. See the HAF Interface Specification and HAF Cookbook for information on how to use this function. Notification for number of prefixes in BGP RIB exceeding a configurable value You can now receive a bgpEntRibSizeWarnTrap MIB notification when the number of prefixes in BGP’s RIB exceeds or drops below a configured value. To configure the value, use the new MIB field bgpRmEntRibSizeWarning. The field bgpRmEntOverLimit in the TRAP is set to ATG_YES to announce the RIB going above the limit, and ATG_NO to announce falling beneath it again. For further information see the Integrated Control Plane Management Interface Reference. 33 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL Performance Improvement for Management Table Walks The Metaswitch Management Interface is enhanced to allow your management code to request multiple Management Table rows in a single AMB_GET request. You can use this feature to improve the performance of large table walks for all the Layer 2 solutions and Layer 3 routing solutions. Please see section 2.3.1 of the N-BASE Version 2.0 MIB Management Interface Specification for details of how to use this feature. 5.2.2 L2VPN Manager features BGP Autodiscovery and Signaling for VPWS DC-L2VPN Manager is enhanced to support BGP-auto-discovery and signaling of VPWS Pseudowires as defined by RFC 4761. This feature allows network administrators to provision a VPWS with much reduced configuration. See the DC-MPLS Layer 2 VPN Cookbook for details. VPLS support DC-L2VPN Manager is extended to support the complete management of VPLSs as defined by RFC 4762. VPLS allows network operators to offer multipoint Ethernet VPN services over their IP/MPLS networks by providing the equivalent of a distributed Ethernet Switch across their IP/MPLS core. See the DC-MPLS Layer 2 VPN Cookbook for details. 5.2.3 Layer 2 Features DC-STP BPDU Guard DC-STP now allows you to enable BPDU Guard on any interface that is administratively configured to be at the edge of an STP network. If a BPDU is received on an interface with BPDU Guard enabled, DC-STP will attempt to disable the interface by reporting a fault over the Fault Reporting Interface (FRI). For details of how to integrate the BPDU Guard feature please refer to the DC-STP Integration Guide. For details of how to enable the BPDU Guard feature on an interface please refer to the DC-STP Configuration and Management Guide. Link aggregation: DC-LACP DC-LACP is a new Metaswitch product that supports both static aggregation and the Link Aggregation Control Protocol, as standardized by the IEEE in 802.1AX (2008). For details of how to use DC-LACP, see the DC-LACP Configuration and Management Guide. Multi-Chassis Link Aggregation (MC-LAG) DC-LACP is enhanced to support a proprietary form of Multi-Chassis Link Aggregation. This is similar to mLACP as defined by the Inter-Chassis Communication Protocol (ICCP) standardized by the IETF in RFC 7275. For details of how to enable MC-LAG, see the DC-LACP Configuration and Management Guide. 34 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL Ethernet Ring Protection Switching: DC-ERPS DC-ERPS is a new Metaswitch product that supports the Ethernet Ring Protection Switching protocol, as standardized by the ITU in G.8032 (2012). For details of how to use DC-ERPS, see the DC-ERPS Configuration and Management Guide. VLAN Management: DC-VLAN Manager DC-VLAN Manager is a new Metaswitch product that supports the management of VLANs, as standardized by the IEEE in 802.1Q (2011). For details of how to use DC-VLAN Manager, see the DC-VLAN Manager Configuration and Management Guide. DC-ERPS High Availability Support DC-ERPS is enhanced to support high availability based on the replication of operational state to a backup instance. See the DC-ERPS Integration Guide and DC-ERPS Configuration and Management Guide for the integration steps required to implement this feature. DC-Traffic Classification Management DC-TCM is a new Metaswitch product that that allows network administrators to configure traffic classification. For details of how to integrate and use DC-TCM, see the DC-TCM Integration Guide and DC-TCM Configuration and Management Guide. Link Layer Discovery Protocol: DC-LLDP DC-LLDP now provides explicit support for the following Organizationally Specific TLVs. • Several of the optional 802.1 Organizationally Specific TLVs defined in 802.1AB-2009 Annex E: specifically, the Port VLAN ID TLV, Port and Protocol VLAN ID TLV, VLAN Name TLV, Protocol Identity TLV and Link Aggregation TLV. • All of the 802.3 Organizationally Specific TLVs defined in 802.1AB-2009 Annex F. • All of the mandatory and conditionally mandatory TIA (LLDP-MED) Organizationally Specific TLVs defined in ANSI/TIA-1057-2006. DC-LLDP validates and displays received TLVs of these types, and optionally transmits them. For details of how to enable transmission of this information and to display received information, see sections 4.7-4.9 of the DC-LLDP Configuration and Management Guide. To transmit the following TLVs, you will need to enhance your I3 Stub code to provide DC-LLDP with the information to transmit. For details of the new fields used to provide this information, see code/comn/intface/a0i3if.h. • • • • • • • 802.1 Port ID TLV, when used for LLDP-MED by devices that do not have a permanent unique MAC address. 802.1 Organizationally Specific Port VLAN ID TLV. 802.1 Organizationally Specific Port and Protocol VLAN ID TLV. 802.1/802.3 Organizationally Specific Link Aggregation TLV. 802.3 Organizationally Specific MAC/PHY Configuration/Status TLV. 802.3 Organizationally Specific Power via MDI TLV. 802.3 Organizationally Specific Maximum Frame Size TLV. 35 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL The geolocation information for LLDP-MED uses new user exit functions, defined in code/comn/custom/a0_geolocn_parse_api.*, to support the configuration and display of geolocation coordinates in a text string format. You can modify the supplied implementation of these user exit functions to support different or additional character sets, to modify the format of allowable strings, or to perform additional validity checks on the coordinates. 5.2.4 ISIS features IS-IS policy control using administrative tags DC-ISIS is enhanced to support addition of administrative tags to routes as defined in RFC 5130. • The new isisCircAdminTag field allows you to add a tag to the routes generated in topology 0 for the subnets for a local interface. • The new isisMtCircManAdminTag field allows you to add a tag to the routes generated in other topologies for the subnets for a local interface. • The new isisSummAddrAdminTag field allows you to add a tag to a summary address. See the DC-ISIS Configuration and Management Guide for details. In addition, DC-ISIS is enhanced to support redistribution policy based on administrative tags. Policy can be configured using the new isisTagPolicyTable to control redistribution from level 1 to level 2 and from level 2 to level 1. See the DC-ISIS Configuration and Management Guide for details. In addition, if you are using DC-RTM, you can use the new rtmRedistNwIsisTag field to add tags to routes redistributed into DC-ISIS from DC-RTM and the rtmRedistIsisTag field to filter routes from DC-ISIS. See the DC-RTM Configuration and Management Guide for details. 5.2.5 BGP features BGP Dynamic Peers DC-BGP now supports dynamic BGP peers configured as BGP peer address prefixes with associated peer groups. A new bgpPeerRangeTable table configures this feature, and the new bgpPeerStatusTable reports both configured and dynamic peers. See the DC-BGP Configuration and Management Guide for further information. Extra information reported for selected local addresses for iBGP peers In addition to reporting the selected local address and local port, DC-BGP now reports the selected local address scope ID chosen by the TCP stack for BGP peers configured without a local address and port. The scope ID is reported in a new field, bgpPeerSelectedLocalAddrScopeId, in the bgpPeerTable; for further information see code/comn/intface/qb0mib.h. 36 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL BGP AS-Path multipath-relax DC-BGP is enhanced to support an option to treat two BGP routes as equal cost even if they travel through different Autonomous Systems (as recorded in AS_PATH). Routes with different AS_PATHs can now be programmed into the forwarding table as equal cost multipath (ECMP) routes, as long as their AS_PATH lengths (and other relevant BGP attributes) are the same. A new bgpRmEntAsPathMultipathRelax field in the bgpRmEntTable MIB enables this option. See the DC-BGP Configuration and Management Guide for further information. Disable programming of Reject route to AFM for aggregate routes By default, DC-BGP will program a Reject route to the AFM for active aggregate routes. This ensures that any traffic not routed by the more specific routes is black-holed. If there is traffic in your network that uses the default route and would be aggregated by the aggregate prefix then this behavior is undesirable, because the traffic will be black-holed before reaching the default route. You can disable programming of the Reject route by setting bgpAggrProgramRejectRoute to AMB_FALSE for the aggregate route. For more details, please see code/comn/intface/qb0mib.h. New BGP user exit to report session state changes A new BGP user exit, QBDC_USER_SESSION_STATE_CHANGE, is added to report changes in the state of BGP sessions. See code/comn/custom/qbdcuser.h for further details. Improved error handling A new BGP user exit, QBNM_USER_IGNORE_BAD_UPDATE(), is added to allow your code to decide what DC-BGP should do when it has received a malformed BGP_UPDATE from a peer. The existing behavior (defined by RFC 4271) is to tear down the session to the peer. The user exit can decide, instead, that the BGP_UPDATE should be ignored and the session left intact. See the files code/comn/custom/qbnmuser.h and code/comn/custom/qbnmuser.c for further information. BGP Send Community DC-BGP is enhanced to support configuration options to enable or disable sending BGP community and extended community attributes to specific BGP peers and peer groups. New bgpPeerSendComm and bgpPeerSendExtComm fields in the bgpPeerTable and bgpPeergrTable MIBs specify the new configuration options. See the DC-BGP Configuration and Management Guide for further information. BGP Additional Paths DC-BGP is enhanced to support advertising multiple BGP paths for the same destination to BGP peers. Route programming to Address Family Managers is unchanged. New fields in the bgpRmAfiSafiTable, bgpPeerAfiSafiTable and bgpPeergrAfiSafiTable tables configure this feature. See the DC-BGP Configuration and Management Guide for further information. 37 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL Additional per-peer group configuration for DC-BGP DC-BGP is enhanced to support the option of configuring peer level fields on a peer group basis. Fields that are configured in the bgpPeerTable and bgpPeerAfiSafiTable are added to the bgpPeergrTable or bgpPeergrAfiSafiTable. Please see code/comn/intface/qb0mib.h for the full list of fields. The bgpPeerConfigUsage and bgpPeerConfigUsage2 fields in the bgpPeerTable are used to decide if the peer group or peer configuration values should be used for a peer that belongs to a peer group. See the DC-BGP Configuration and Management Guide for further information. DC-BGP AS number checking DC-BGP supports configuration of peer level checking for the first AS on routes received from external peers (neighbors). If this option is configured for a peer in the bgpPeerCheckFirstAsNum field, DC-BGP checks the first AS number in the AS_PATH attribute in UPDATES received from the peer. If it is not the same as the AS number of the peer, DC-BGP drops the UPDATE and sends a NOTIFCATION indicating an error in the UPDATE. New fields bgpRmEntCheckFirstAsNum and bgpPeergrCheckFirstAsNum now also support entity level and peer group level configuration of first AS checking. See the Metaswitch Integrated Control Plane Management Interface Reference for more details, including a description of when a change to the value of these fields takes effect and how to set whether the entity, peer group or peer configuration applies. DC-BGP Peer Statistics The peer state and statistics counters for BGP Peers are now reported in a separate Peer Status Table. This table contains fields equivalent to all the peer state and statistics counters, and the fields that control those counters, currently present in the Peer Table (that is, bgpPeerStatusClearCnts, bgpPeerStatusRtRefresh, bgpPeerStatusFlapStatsClearStat and bgpPeerStatusFlapStatsClearMap). New peer state and statistics counters are added to the Peer Status Table in this release. • DC-BGP now counts the number of messages received per peer for all types of message. The counts for all message types are in the Peer Status Table. These counts are enabled automatically. • DC-BGP now reports the number of prefix denials by the reason for denial in the Prefix Counters Table. These counts are enabled automatically. To access the new fields you will need to migrate your management code to use the new table. See the DC-BGP Configuration and Management Guide for information on these tables. Martian Prefixes DC-BGP now supports rejection of martian prefixes. For information on using the new bgpRmAfiSafiCheckMartians field to configure support, and on reporting the number of martian prefixes denied in the Prefix Counters Table, see the DC-BGP Configuration and Management Guide, section 6.15. 38 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL DC-BGP best path selection algorithm configuration DC-BGP is enhanced to allow configuration of different behavior in the best path selection algorithm. You can configure BGP to • ignore the AS-path length of received BGP routes when determining the best path • reduce route flapping when determining the best path from routes received from external BGP peers that are essentially equal in priority by always preferring the existing best path • use the highest possible value (least preferred) multi-exit discriminator (MED), if a received route has no MED • not carry out MED comparison for BGP routes originating from the local confederation. For further information see the DC-BGP Configuration and Management Guide. Support for additional show commands DC-BGP now supports the reporting of all routes advertised by a neighbor regardless of whether or not the route was accepted by policy. Routes are reported in the bgpRcvdNlriTable. The path attributes for these routes are reported in the bgpRcvdPathAttrUnknownTable, bgpReceivedPathAttrClusterTable, bgpReceivedPathAttrCommTable, and bgpReceivedPathAttrExtCommTable. The bgpRcvdNlriTable displays all routes as they were received from the peer and prior to the application of policy. A MIB field indicates whether a route has been accepted by policy. Filtered MIB Get is supported, to allow a user to limit the set of routes returned. DC-BGP now supports the reporting of information on routes recently withdrawn and for which dampening is being applied, known as history routes, alongside those routes currently advertised by a neighbor. New fields, bgpNlriHistory and bgpNlriPrefixHistory, are added to the bgpNlriTable and bgpNlriPrefixTable respectively that show whether a particular route is a history route or not. Filtered MIB Gets are supported to allow a user to limit the set of routes returned so the set does not include history routes. For further information about these changes see section 7 of the DC-BGP Configuration and Management Guide. For further information on filtering MIB Gets see section 8.4 of the DC-BGP Integration Guide. DC-BGP metric and weight configuration DC-BGP is enhanced to support additional configuration of route metrics and weights. You can configure a default metric to be applied to all routes redistributed into DC-BGP from DC-RTM without a MED value and, in DC-RTM, can set the weight of an individual route redistributed into DC-BGP. You can also set a default weight to be applied to all routes received from a BGP peer (on a per-peer or per-peer group basis). See the DC-BGP Configuration and Management Guide for more details. 39 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL DC-BGP peer fallover DC-BGP is enhanced to support peer fallover. You can configure fallover at the peer or peer group level. If this option is configured for a peer, DC-BGP tracks the route to that peer and closes the session if that route fails. See the Metaswitch Integrated Control Plane Management Interface Reference for more details. DC-BGP Import / Export Policy DC-BGP is enhanced to support configuration of import route maps and export route maps at the peer AFI/SAFI level, and also to support separate import / export IP prefix lists in addition to import / export route maps. New fields in the bgpPeerAfiSafiTable and bgpPeergrAfiSafiTable MIBs specify the route maps and IP prefix lists. See the DC-BGP Configuration and Management Guide for further information. DC-BGP Route Flap Dampening DC-BGP is enhanced to support AFI/SAFI level configuration for route flap dampening. New bgpRmAfiSafiFlapConfigIndex and bgpRmAfiSafiFlapConfigMap fields in the bgpRmAfiSafiTable MIB specify the new configuration options. See the DC-BGP Configuration and Management Guide for further information. BGP Graceful Restart DC-BGP is enhanced to provide a better Graceful Restart configuration mechanism. This feature is available when Graceful Restart is enabled. To enable Graceful Restart, set the bgpRmEntRestartSupported field. See Graceful Restart Cookbook for more information. 5.2.6 MPLS features Allow user to specify RSVP error code and value when deleting an LSP through the MIB at transit or egress When a user deletes an RSVP-signaled LSP through the mplsTunnelTable at transit and egress nodes they can now specify user data for RSVP to use in the RRR_DEFINE_USER_ERROR_SPEC and RRR_RC_MAP_TO_RSVP_ERR user exits. The user configures the data using the new mplsTunnelRsvpDelUserErrorSpec field. For more information, see the description of this object in the Metaswitch Integrated Control Plane Management Interface Reference and the DC-MPLS Advanced Users Guide. DC-RSVP now provides complete LSP information in the user exit that determines whether a NOTIFY message may be sent The existing RRR_SET_NOTIFY_RECIP() user exit parameters RRR_SET_NOTIFY_RECIP_PARAMS now include a pointer to the Path State Control Block, allowing full access to all parameters for the LSP that the user might wish to use to determine whether a Notify message will be sent. See the DC-MPLS Integration Guide for details. 40 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL DC-RSVP: Allow user to not send an Ack to a Notify if the notify did not match an RSVP session A new user exit, RRR_UE_ACK_UNKNOWN_NOTIFY(), allows DC-RSVP to choose not to send an Acknowledgement for a Notify that could not be matched to an existing RSVP session. See code/comn/custom/rr0user.h for more details. DC-RSVP: New User Exit called to allow modification of private data before ATG_NHR_QUERY_ROUTE() request New user exits RRR_QUERY_ROUTE_PRIV_DATA_SIZE() and RRR_QUERY_ROUTE_PRIV_DATA() are added to DC-RSVP. You can use these user exits to modify the private data in an ATG_NHR_QUERY_ROUTE to allow extra RSVP information to be considered for route selection. For more details, see code/comn/intface/rr0pousr.c and code/comn/intface/rr0pousr.h. DC-TPM: New User Exit called when a Tunnel MIB row is modified A new user exit RRT_UE_TUNNEL_MIB_UPDATE is added to DC-TPM, called when an mplsTunnel MIB row is added or updated. For more details, see code/comn/custom/rrtuser.c and code/comn/custom/rrtuser.h. DC-LDP Fast Label deprogramming for LDP-signaled Pseudowires DC-LDP now supports a mode of operation for LDP-signaled Pseudowires where a label that has been distributed to a peer will be deprogrammed immediately when the Pseudowire is deleted or disabled locally. Previously, DC-LDP would have waited for an LDP Label release message from the peer before deprogramming the label. See the new management field dccrldpPmPwFastUpstreamRelease in the Metaswitch Integrated Control Plane Management Interface Reference for further details. More flexible LDP distribution support DC-LDP Session Controller now enables distribution of the Session Sontroller out to line cards while the interface manager resides on a central controller card. Set the new dccrldpSigTable field, dccrldpSigI3ProviderIndex to • zero, to maintain the current behavior of using the DC-LDP Session Controller’s Entity Index to identify the I3 Stub to join to • non-zero, to specify the I3 Stub that the distributed LDP Session Controller should join to. Reporting CC and CV types supported by LDP peers DC-MPLS now reports the Control Channel and Connectivity Verification types that an LDP peer has advertised support for over a Pseudowire, in an extension to the pwTable MIB table and the pwUnexpectedPwRcvd MIB trap. See the new fields pwRemoteCCTypes and pwRemoteCVTypes in code/comn/intface/rr0pwmib.h for more details. 41 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL DC-LDP option to prevent distribution of labels for Prefix FECs over targeted LDP peer sessions DC-LDP is enhanced to provide a configuration option, using a new field dccrldpPmDistPrefixTargetSess, to disable distribution of Prefix FECs over targeted peer sessions. This allows interoperation with LDP implementations that do not expect to receive these labels, and in particular those that never respond to Label Withdraw messages. New DC-LDP Management tables showing received/sent labels DC-LDP now supports three new management tables – mplsLdpFecPrefixTable, mplsLdpUpLabelTable and mplsLdpDownLabelTable. See code/comn/intface/rc0mib.h for further details. DC-LDP Peer Support for Graceful Restart DC-LDP is enhanced to allow you to determine the LDP peer’s support for Graceful Restart on an LDP session using three new read-only fields: mplsLdpSessionPeerRestartSupp, mplsLdpSessionPeerReconnectTime and mplsLdpSessionPeerRecoveryTime in the mplsLdpSessionTable table. In addition, you can determine whether the local LDP router is using Graceful Restart procedures on an LDP session using another new read-only field in the same table: mplsLdpSessionLocalRestartSupp. See the mplsLdpSessionTable table in the Metaswitch Integrated Control Plane Management Interface Reference. Flow control for static LSP programming in DC-LMGR DC-LMGR is enhanced to use the dcLmgrLsrEntityMaxLsiBuffers field to configure the size of a fixed size buffer pool for LSI messages. Read-only TE information available at Transit Nodes DC-TPM now supports the mplsTunnelResourceTable at transit nodes when using the TEMIB at transit feature. This enhancement is always available when using TE-MIB at Transit. See the DC-MPLS Advanced User Guide, section 2.6, for more information. New DC-RSVP user exits to track RSVP process creation and destruction A new set of RSVP user exits, RRR_UE_CREATED and RRR_UE_DESTROYED, report when the RSVP N-BASE process is created or destroyed. For more details see the definition of the user exit in the header file code/comn/custom/rr0user.h. New User Exit to disable label shuffling for the mplsTunnelARHopTable If you want the mplsTunnelARHopTable to report the RRO hops and labels in the same order as the received RRO, customize the new user exit RRR_LABEL_SHUFFLING_REQD() to return TRUE. In particular, if you have previously directly modified DC-RSVP source code to disable this feature, then do not apply the same modifications to the new version of DC-RSVP. Instead, customize this new user exit to obtain the required behavior. See the files code/comn/custom/rr0user.h and code/comn/custom/ rr0user.c for further information. 42 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL User control of how AC faults affect VPLS status and fault signaling A new user exit, L2VM_UE_VPLS_CE_STATUS(), is added to DC-Layer 2 VPN Manager to control how AC fault status affects the overall status of the VPLS and whether corresponding faults are signaled. For more details, please see code/comn/custom/l2vm_ue.c and code/comn/custom/l2vm_ue.h. Notification for auto-discovered Pseudowires A new MIB trap, pwAutoCreated, is added for notifying management when an auto-created Pseudowire has been discovered by BGP-AD for LDP signaling. The existing MIB trap pwDeleted is also extended with the field pwWasAutoCreated to allow management correlation between these traps and the pwAutoCreated traps. Both types of traps can be enabled in the DC-TPM Entity MIB and can be used for automatic management of LDP sessions, avoiding implementing a full mesh across all PE routers. For more details, please see code/comn/intface/rr0pwmib.h. 5.2.7 Multicast features DC-IGMP Static DC-IGMP now supports static configuration of multicast group membership on downstream interfaces, allowing you to provide multicast streams to hosts that do not support the IGMP/MLD protocol. To integrate with static IGMP configuration, update your management code to configure the two new MIB tables: mgmdRouterCacheCfgTable and mgmdRouterSrcListCfgTable. Statically configured memberships are displayed in the existing mgmdRouterCacheTable, mgmdRouterInverseCacheTable and mgmdRouterSrcListTable MIB tables, indicated as static by the new mgmdRouterCacheType, mgmdRouterInverseCacheType and mgmdRouterSrcListType fields. For full details, see the IGMP/MLD Proxy and Snooping Cookbook and the DC-IGMP Configuration and Management Guide. IGMP and MLD Proxy and Snooping Graceful Restart The Metaswitch Integrated Control Plane now supports Graceful Restart of IGMP Proxy and Snooping function. To implement this function you must • enhance your MPF stub to support audit over the TIBI • configure DC-PIM-TM to support Graceful Restart by setting the new fields pimTmEntGRBackstopDuration and pimTmEntGRJoinStartupDuration to non-zero values. For more information, see the IGMP Proxy and Snooping Cookbook. DC-VLAN Manager integration IGMP/MLD Snooping is now fully integrated with the new DC-VLAN Manager component, allowing an IGMP/MLD Snooping instance to run over the active topology for a VLAN. This feature is enabled by default and DC-IGMP will attempt to create a BDII join to an instance of DC-VLAN Manager with the entity index specified in mgmdRouterEntBdiiIndex. 43 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL For more information, see the IGMP Proxy and Snooping Cookbook and the DC-IGMP Configuration and Management Guide. 5.2.8 OAM features DC-ETH OAM Manager This release contains a new product, DC-ETH OAM Manager, which provides complete management of OAM for Layer 2. To integrate and use DC-ETH OAM Manager, see the DC-ETH OAM Manager Integration Guide and the DC-ETH OAM Manager Configuration and Management Guide. Source and Destination TLVs in LSP Ping Packets DC-MPLS OAM Manager is updated to provide the local Global ID and Node ID to DC-LSP Ping as part of the ATG_LPI_TRANSACTION_ADD request. This allows DC-LSP Ping to construct the Source and Destination TLVs for MPLS Echo Requests, as defined in RFC 6426. To use this feature, you must ensure that your I3 Stub fills in the local_global_id and local_node_id fields of the ATG_I3_INET_INTERFACE_ENTRY sent to DC-MPLS OAM Manager for each Maintenance Point. For further information, please see the DC-OAM Integration Guide. Reporting faults detected by OAM protocols DC-MPLS OAM Manager is extended to report faults on interfaces learned by the BFD network protocol. These failures are reported to your code over a new IPS interface, the Fault Reporting Interface (FRI). The DC-OAM Integration Guide describes how you can integrate the FRI with your code. Configuration instructions for adding the FRI join are given in the DC-OAM Configuration and Management Guide. Details of the FRI itself are in the header file (code/comn/intface/a0fri.h). Report remote diagnostic code in BFD session down trap DC-BFD and DC-MPLS OAM Manager are enhanced to report the diagnostic code (also known as Remote Defect Indication (RDI)) received in a BFD Down packet to the user in the bfdSessDown trap. The diagnostic code is present in the new bfdSessRemoteDiag field. Reporting local state updates because of remote input DC-PSC is enhanced to report the local admin state in the PSC_MP_PROT_STATE_IND_PROC() callback and the ATG_PSCI_SESSION_STATE_IND IPS. This allows the user to update its record of the current admin state in the event of the state changing due to a remote input. Modifications to DC-BFD use of hardware assist DC-BFD is modified to allow use of hardware assist when the session is down and to pass the expected packet receipt rate to hardware. 44 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL Allow LSP Ping reply mode to be configured DC-MPLS OAM Manager is updated to allow the reply mode in an LSP Ping packet to be specified in the new mplsCvTrMpCvReplyMode field in the mplsCvTrMpTable. 5.2.9 OSPF features Local Interface Identifiers in OSPF Neighbor Tables The new fields ospfPmNbrLocalIfAddress and ospfPmNbrLocalIfIndex are added to DC-OSPF’s ospfPmNbrTable. They identify the local IP address and the local interface index of the OSPF interface the adjacency to the neighbor is running over. The new field ospfPmMultiAreaNbrLocalIfIndex is added to the ospfPmMultiAreaNbrTable to identify the local interface index the Multi-Area adjacency is running over. See code/comn/intface/qo0pmib.h for details. New OSPF user exit to report OSPF Area status A new OSPF user exit reports when OSPF areas are created or destroyed, or go active or inactive. For more details, see the definition of QOAM_USER_AREA_EVENT() in code/comn/custom/qopmuser.h. LSA Throttling DC-OSPF is enhanced to support LSA throttling. This is a mechanism to slow down LSA updates in OSPF during times of network instability and is configured using the new ospfPmEntHoldLsInterval and ospfPmEntMaxLsInterval fields. See the Configuring LSA Throttling section in the DC-OSPF Configuration and Management Guide for more details. Filtering of OSPF LSAs Two new user exits, qodm_filter_received_lsa() and qodm_filter_sent_lsa() are added to DC-OSPF to allow the user to filter the LSAs that are sent and received over a given interface. To filter LSAs you should add code to these user exits to implement your filtering criteria. See code/comn/custom/qopmuser.h for more details. 5.2.10 L3VPN Manager features New value added to MplsVpnMjStatus A new value, mjNotAvailable, is added to the group MplsVpnMjStatus. This group can be returned in the read-only fields mplsVpnLmgrJoinStatus and mplsVpnI3JoinStatus. Please see the Metaswitch Integrated Control Plane Management Interface Reference for more details. 45 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107 CONFIDENTIAL Expose L2VPN Route Distinguisher when programming L3VPN LSPs A new field, bvm_remote_route_distinguisher, is added to the ATG_MPLS_BGP_VPN_FEC_XC_INFO structure passed on ATG_LSI_ASSOCIATE_FEC_XC and ATG_LSI_DISSOCIATE_FEC_XC signals by DC-Label Manager when setting up Layer 3 VPNs. This allows your LSI Stub to determine the route distinguisher assigned by the remote BGP peer for the VPN route. That route distinguisher may, for example, be used to issue an LSP Ping request on a Layer 3 VPN route. 5.2.11 RTM features Redistribute routes using custom match criteria DC-RTM is updated to allow you to specify custom match criteria for rules in the rtmRedistTable. To use this function you need to set the new rtmRedistUserMatch field and update the new user exit QCRT_USER_REDIST_MATCH(). For more information, see the DC-RTM Configuration and Management Guide. Defining the weight of a Route DC-RTM is updated to allow you to set the weight of an individual route redistributed into DC-BGP. See the DC-RTM Configuration and Management Guide for more details. 5.2.12 LMP features Extended LMP Hello Dead Interval DC-LMP now allows you to configure an LMP Hello Dead interval greater than 65 seconds. Use the new MIB field, dcLmpProductExtendedHelloDeadIvl, to configure a Hello Dead Interval bigger than the protocol-limited times configured using dcLmpProductHelloDeadIvlDflt and lmpCcHelloDeadInterval. For further details, please refer to the DC-LMP Configuration and Management Guide. Additional statistics in lmpControlChannelPerfTable The DC-LMP implementation of the lmpControlChannelPerfTable is extended to provide read-only packet statistics for BeginVerify, BeginVerifyAck, BeginVerifyNack, LinkSummaryAck and LinkSummaryNack messages sent and received on a particular control channel. You can now display these statistics in your user interface. For more information on the new fields, see the definition in code/comn/intface/lmpmib.h or the lmpControlChannelPerfTable entry in the Metaswitch Integrated Control Plane Management Interface Reference. 46 Metaswitch Integrated Control Plane Update Guide : AKE-021-0107
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.6 Linearized : No Author : Nicky Adams Category : AKE-021-0107 Company : Metaswitch Networks Create Date : 2015:06:16 17:45:34+01:00 DCDATE : June 2015 DCLASTDATE : June 2014 Keywords : AKE-021-0107 Modify Date : 2015:06:16 17:48:47+01:00 Source Modified : D:20150616164420 Subject : Language : EN-US Tagged PDF : Yes XMP Toolkit : Adobe XMP Core 5.4-c005 78.147326, 2012/08/23-13:03:03 Metadata Date : 2015:06:16 17:48:47+01:00 Creator Tool : Acrobat PDFMaker 11 for Word Document ID : uuid:4596a00d-b441-4b35-a065-16dc4e17a878 Instance ID : uuid:901e4b12-3dec-4909-9662-3ac9878fe3b3 Format : application/pdf Title : Metaswitch Integrated Control Plane Update Guide Description : Creator : Nicky Adams Producer : Adobe PDF Library 11.0 Dcdate : June 2015 Dclastdate : June 2014 Page Layout : OneColumn Page Mode : UseOutlines Page Count : 51EXIF Metadata provided by EXIF.tools