Troubleshooting a CoS Classifier Configuration for a TCAM Space Error

 

Problem

Description: When a CoS classifier configuration exceeds the amount of available ternary content addressable memory (TCAM) space, the switch returns the following system log message:

The switch returns this message during the commit operation if the number of classifiers defined in the CoS configuration or the number of bind points (interfaces) to which classifiers are bound causes the CoS configuration to exceed the amount of available TCAM space. However, the commit operation for the CoS configuration is completed in the CLI module.

Solution

When a CoS configuration exceeds the amount of available TCAM table space, you must either define fewer classifiers or bind them to fewer interfaces, or both, so that the space requirements for the CoS configuration do not exceed the available space in TCAM.

To delete classifier definitions and bind points in a CoS configuration, and to apply a new CoS classifier definition to fewer bind points:

  1. Delete either the CoS classifier definition or the bind points:
    • To delete the CoS classifier definition:

      • For behavioral classifiers:

        [edit class-of-service]

        user@switch# delete classifier dscp d1
      • For multifield classifiers:

        [edit]

        user@switch# delete interfaces ge-3/0/2 unit 0 family ethernet-switching filter input ipacl

        This command deletes a multifield classifier defined for a port. Similarly, you can delete a multifield classifier defined for a VLAN or router.

        You can also delete terms defined in a single multifield classifier:

        [edit]

        user@switch# delete firewall family inet filter f1 term t1

      In both these examples (for behavioral and multifield classifiers), the assumption is that too many classifier definitions resulted in the error message.

    • To delete the bind points:

      [edit class-of-service]

      user@switch# delete class-of-service interfaces ge-0/0/0

      user@switch# delete class-of-service interfaces ge-0/0/1

      user@switch# delete class-of-service interfaces ge-0/0/2

      user@switch# delete class-of-service interfaces ge-0/0/3

      user@switch# delete class-of-service interfaces ge-0/0/4

      user@switch# delete class-of-service interfaces ge-0/0/5

      user@switch# delete class-of-service interfaces ge-0/0/6

      user@switch# delete class-of-service interfaces ge-0/0/7

      user@switch# delete class-of-service interfaces ge-0/0/8

      Here the assumption is that too many bind points (nine) in the configuration resulted in the error message.

  2. Commit the operation:
    [edit]

    user@switch# commit
  3. Define fewer classifiers in the CoS configuration or bind classifiers to fewer interfaces, or both, so that the CoS classifier configuration does not exceed the amount of available TCAM space on the switch:
    • To define CoS classifiers:

      • For behavioral classifiers:

        [edit]

        user@switch# set class-of-service classifiers dscp d2 forwarding-class fc1 loss-priority low code-points 000001

        user@switch# set class-of-service classifiers dscp d2 forwarding-class fc2 loss-priority low code-points 000010

        user@switch# set class-of-service classifiers dscp d2 forwarding-class fc3 loss-priority low code-points 000011

        user@switch# set class-of-service classifiers dscp d2 forwarding-class fc4 loss-priority low code-points 000100

        user@switch# set class-of-service classifiers dscp d2 forwarding-class fc5 loss-priority low code-points 000101

        user@switch# set class-of-service classifiers dscp d2 forwarding-class fc6 loss-priority low code-points 000110

        user@switch# set class-of-service classifiers dscp d2 forwarding-class fc7 loss-priority low code-points 000111
      • For multifield Classifiers:

        [edit]

        user@switch# set firewall family inet filter f1 term t1 from protocol tcp

        user@switch# set firewall family inet filter f1 term t1 then loss-priority high

        user@switch# set firewall family inet filter f1 term t1 then forwarding-class best-effort

        user@switch# set firewall family inet filter f1 term t2 from protocol udp

        user@switch# set firewall family inet filter f1 term t2 then loss-priority high

        user@switch# set firewall family inet filter f1 term t2 then forwarding-class assured-forwarding

        user@switch# set firewall family inet filter f1 term t3 from source-port ssh

        user@switch# set firewall family inet filter f1 term t3 then loss-priority low

        user@switch# set firewall family inet filter f1 term t3 then forwarding-class fc8

        user@switch#set class-of-service forwarding-classes best-effort, assured-forwarding, fc8
    • To bind classifiers to fewer interfaces:

      [edit]

      user@switch# set class-of-service interfaces ge-0/0/0 unit 0 classifiers dscp d2

      user@switch# set class-of-service interfaces ge-0/0/1 unit 0 classifiers dscp d2

      user@switch# set class-of-service interfaces ge-0/0/2 unit 0 forwarding-class best-effort

      user@switch# set class-of-service interfaces ge-0/0/3 unit 0 forwarding-class assured-forwarding

      user@switch# set class-of-service interfaces ge-0/0/4 unit 0 forwarding-class fc8
  4. Commit the operation:
    [edit]

    user@switch# commit
  5. Check system log for an error message. If an error message is not logged, then your classifier configuration has not exceeded the TCAM space limit.

    If an error message is logged, then repeat this procedure by defining fewer classifiers or binding classifiers to fewer bind points.