---
name: "tc-tcindex"
section: "8"
platform: "linux"
package: "iproute2"
version: "6.1.0-3"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/tc-tcindex"
---

# tc-tcindex(8)

traffic control index filter

## NAME

tcindex - traffic control index filter

## SYNOPSIS

**tc** **filter** ... **tcindex** \[ **hash** *SIZE* \] \[  **mask** *MASK* \] \[  **shift** *SHIFT* \] \[  **pass\_on** \| **fall\_through** \] \[ **classid** *CLASSID* \] \[  **action** **ACTION\_SPEC** \]

## DESCRIPTION

This filter allows one to match packets based on their **tcindex** field value, i.e. the combination of the DSCP and ECN fields as present in IPv4 and IPv6 headers.

## OPTIONS

- **action** *ACTION\_SPEC*

  Apply an action from the generic actions framework on matching packets.

- **classid** *CLASSID*

  Push matching packets into the class identified by *CLASSID*.

- **hash** *SIZE*

  Hash table size in entries to use. Defaults to 64.

- **mask** *MASK*

  An optional bitmask to binary **AND** to the packet's **tcindex** field before use.

- **shift** *SHIFT*

  The number of bits to right-shift a packet's **tcindex** value before use. If a **mask** has been set, masking is done before shifting.

- **pass\_on**

  If this flag is set, failure to find a class for the resulting ID will make the filter fail and lead to the next filter being consulted.

- **fall\_through**

  This is the opposite of **pass\_on** and the default. The filter will classify the packet even if there is no class present for the resulting class ID.

## SEE ALSO

[**tc**(8)](/tc/8.md)
