Allocation of ingress internal TCAM resources

In previous releases, the system statically allocated ingress TCAM resources for use by SAP ingress QoS classification, SAP ingress access control list (ACLs), identifying and sending CFM OAM packets to CPU for local processing, and so on. The resource allocation is not user-configurable. With the introduction of new capabilities including IPv6 classification, UP MEP support, and G8032-fast-flood, the static allocation of resources by software does not meet requirements of customers who typically want to use different features.

The user can allocate a fixed amount of resources per system (or per card on 7210 SAS-R6 and 7210 SAS-R12 devices) for QoS, ACLs, CFM/Y.1731 MEPs and other features. Of these, some parameters are boot-time parameters and others are run-time. A change in the current value of a boot-time parameter needs a node reboot or, on 7210 SAS-R6 and 7210 SAS-R12 devices, a card reset using the reset command, before the new value takes effect. Change in the current value of a parameter that is designated run-time takes effect immediately if the software determines that resources are available for use to accommodate the change.

On the 7210 SAS-Mxp, 7210 SAS-Sx/S 1/10GE, 7210 SAS-Sx 10/100GE, and 7210 SAS-T, the system resource profile parameters are available using the config>system>resource-profile CLI context and the defined parameters are applicable to the entire node. On the 7210 SAS-R6 and 7210 SAS-R12, the parameters are defined as a system resource profile policy that the user must configure and associate with the IMM. The software reads the configured policy and allocates resources appropriately per IMM, allowing users to allocate resources to different features per IMM. On the 7210 SAS-R6 and 7210 SAS-R12, some system resource profile parameters apply to the entire node and not just the IMM. For more information, see System resource-profile router commands for 7210 SAS-Mxp, 7210 SAS-Sx 1/10GE, 7210 SAS-Sx 10/100GE, and 7210 SAS-T.

During bootup, the system reads the resource profile parameters and allocates resources to features in the order they appear in the configuration file.

Note:

The order in which the command appears in the configuration file is important.

Because resources are shared, the user must ensure that the sum total of such resources does not exceed the limit supported by the IMM or node. If the system determines that it cannot allocate the requested resources, the feature is disabled. For example, if the system determines that it cannot allocate resources for g8032-fast-flood, it disables the feature from use and G8032 eth-rings will not be able to use fast-flood mechanisms). Another example is the case where the system determines that it cannot allocate resources for IPv4-based SAP Ingress ACL classification, the system will not allow users to use IPv4-based SAP ingress ACL classification feature and fails the configuration when it comes upon the first SAP in the configuration file that uses an IPv4-based SAP ingress ACL policy.

For boot-time parameters, such as g8032-fast-flood-enable, the user must ensure that the configured services match the resources allocated. If the system determines that it cannot allocate resources to services, it fails the configuration file at the first instance where it encounters a command to which resources cannot be allocated. The available resources can be allocated to different features.

For ACL and QoS resources, the user has the option to allocate resources to limit usage per feature, regardless of the match criteria used. The sum of all resources used for different SAP ingress classification match-criteria is limited by the amount of resources allocated for SAP ingress classification. The user can also allocate resources by specific match criteria. The user can enable any supported match criteria and associate a fixed amount of resources with each match criteria in fixed sizes; the chunk size is dependent on the platform.

The system allocates resources based on the order of appearance in the configuration file, and fails any match criteria if the system does not have any more resources to allocate. In addition, the max keyword can be used to indicate that the system needs to allocate resources when they are first required, as long as the maximum amount of resources allocated for that feature is not exceeded or the maximum amount of resources available in the system is not exceeded. The 7210 SAS platforms allocate resources to each feature and match-criteria in fixed-size chunks.

The no form of the resource-profile command disables the use of the corresponding match criteria or feature by deallocating all the resources allocated to the criteria or feature. For example:

  1. Configuring the system resource-profile internal-ingress-tcam qos-sap-ingress-resource no mac-match-enable command deallocates all the resources allocated to SAP ingress QoS classification MAC match criteria. After this command is run, users cannot associate a SAP ingress policy with MAC match criteria defined to a SAP. Resources allocated to other criteria are unaffected and can continue to be used.

  2. Configuring the system resource-profile internal-ingress-tcam eth-cfm no up-mep command deallocates all the resources allocated to CFM UP MEP. After this command is run, user cannot configure UP MEP.

If the system successfully runs the no command, it frees up resources used by the chunk or slice and make the resources, or the entire chunk/slice, available for use by other features. Before deallocating resources, the software checks if a service object is using the resource and fails the command if the object is in use. If resources are in use, they can be freed up by deleting a SAP, removing a policy association with a SAP, deleting a MEP, and so on. Some commands under the system resource-profile context do not take effect immediately and require a system reboot before the change occurs and resources are freed. The following is the handling of freed resources:

For more information about specific CLI commands and features that use system resource allocation, see the CLI command and feature descriptions in the appropriate 7210 SAS software user manual.