# Packet Trimming

The `nv unset` commands remove the configuration you set with the equivalent `nv set` commands. This guide only describes an `nv unset` command if it differs from the `nv set` command.

## nv set interface <interface-id> packet-trim egress-eligibility traffic-class <tc-id>

Configures the port eligibility by setting the egress port and traffic class from which to trim and recirculate dropped traffic. You can only configure physical ports; if we want to trim packets egressing bonds, specify the bond slave ports. You can specify a traffic class value between 0 and 7.

### Command Syntax

Syntax | Description
--- | ---
`<interface-id>` | The name of the interfaces.
`<tc-id>` | The traffic class.

### Version History

Introduced in Cumulus Linux 5.14.0

### Example

    cumulus@switch:~$ nv set interface swp1-32 packet-trim egress-eligibility traffic-class 1

## nv set system forwarding packet-trim profile packet-trim-default

Configures packet trimming to use the default profile called `packet-trim-default`.

### Version History

Introduced in Cumulus Linux 5.14.0

### Example

    cumulus@switch:~$ nv set system forwarding packet-trim packet-trim-default

## nv set system forwarding packet-trim remark dscp

Configures the DSCP value you want to mark on trimmed packets. You can specify a value between 0 and 63 or `port-level` for port level packet trimming.

### Version History

Introduced in Cumulus Linux 5.14.0

### Example

    cumulus@switch:~$ nv set system forwarding packet-trim remark dscp 10

## nv set system forwarding packet-trim service-port <port-id>

Configures the service port to use for packet trimming.

When you enable packet trimming, one service port is used. By default, this is the last service port on the switch. You can change the service port you want to use.

On a switch that supports two service ports, you can configure a bond on the service ports, then use the bond for the packet trimming service port.

Do not configure packet trimming port eligibility, port security, adaptive routing, QoS, ACLs, PTP, VRR, PBR, telemetry, or histograms on the packet trimming service port.

### Command Syntax

Syntax | Description
--- | ---
`<port-id>` | The service port you want to use for packet trimming.

### Version History

Introduced in Cumulus Linux 5.14.0

### Example

    cumulus@switch:~$ nv set system forwarding packet-trim service-port bond1

## nv set system forwarding packet-trim size

Configures the maximum size of the trimmed packet in bytes. You can specify a value between 256 and 1024; the value must be a multiple of 4. If the packet is smaller than the trimming size, the switch does not trim the packet but forwards the packet based on the configured switch priority for trim-eligible packets.

### Version History

Introduced in Cumulus Linux 5.14.0

### Example

    cumulus@switch:~$ nv set system forwarding packet-trim size 528

## nv set system forwarding packet-trim state

Enables and disables packet trimming. You can specify `enabled` or `disabled`.

### Version History

Introduced in Cumulus Linux 5.14.0

### Example

    cumulus@switch:~$ nv set system forwarding packet-trim state enabled

## nv set system forwarding packet-trim switch-priority

Configures the switch priority of the trimmed packet. You can specify a value between 0 and 7. The traffic class of the trimmed packet is internally derived from the switch priority.

### Version History

Introduced in Cumulus Linux 5.14.0

### Example

    cumulus@switch:~$ nv set system forwarding packet-trim switch-priority 2