{
    "mode": "man",
    "parameter": "tc-fw",
    "section": "8",
    "url": "https://www.chedong.com/phpMan.php/man/tc-fw/8/json",
    "generated": "2026-08-16T17:51:22Z",
    "synopsis": "tc filter ... fw [ classid CLASSID ] [ action ACTIONSPEC ]",
    "sections": {
        "NAME": {
            "content": "fw - fwmark traffic control filter\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "tc filter ... fw [ classid CLASSID ] [ action ACTIONSPEC ]\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "the  fw  filter  allows one to classify packets based on a previously set fwmark by iptables.\nIf the masked value of the fwmark matches the filter's masked handle, the filter matches.  By\ndefault,  all  32  bits of the handle and the fwmark are masked.  iptables allows one to mark\nsingle packets with the MARK target, or whole connections using CONNMARK.  The benefit of us‐\ning this filter instead of doing the heavy-lifting with tc itself is  that  on  one  hand  it\nmight be convenient to keep packet filtering and classification in one place, possibly having\nto  match  a  packet just once, and on the other users familiar with iptables but not tc will\nhave a less hard time adding QoS to their setups.\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "classid CLASSID\nPush matching packets to the class identified by CLASSID.\n\naction ACTIONSPEC\nApply an action from the generic actions framework on matching packets.\n",
            "subsections": []
        },
        "EXAMPLES": {
            "content": "Take e.g. the following tc filter statement:\n\ntc filter add ... handle 6 fw classid 1:1\n\nwill match if the packet's fwmark value is 6.  This is a sample  iptables  statement  marking\npackets coming in on eth0:\n\niptables -t mangle -A PREROUTING -i eth0 -j MARK --set-mark 6\n\nSpecific  bits  of  the  packet's fwmark can be set using the skbedit action. For example, to\nonly set one bit of the fwmark without changing any other bit:\n\ntc filter add ... action skbedit mark 0x8/0x8\n\nThe fw filter can then be used to match on this bit by masking the handle:\n\ntc filter add ... handle 0x8/0x8 fw action drop\n\nThis is useful when different bits of the fwmark are assigned different meanings.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "tc(8), iptables(8), iptables-extensions(8), tc-skbedit(8)\n\niproute2                                     21 Oct 2015           Firewall mark classifier in tc(8)",
            "subsections": []
        }
    },
    "summary": "fw - fwmark traffic control filter",
    "flags": [],
    "examples": [
        "Take e.g. the following tc filter statement:",
        "tc filter add ... handle 6 fw classid 1:1",
        "will match if the packet's fwmark value is 6.  This is a sample  iptables  statement  marking",
        "packets coming in on eth0:",
        "iptables -t mangle -A PREROUTING -i eth0 -j MARK --set-mark 6",
        "Specific  bits  of  the  packet's fwmark can be set using the skbedit action. For example, to",
        "only set one bit of the fwmark without changing any other bit:",
        "tc filter add ... action skbedit mark 0x8/0x8",
        "The fw filter can then be used to match on this bit by masking the handle:",
        "tc filter add ... handle 0x8/0x8 fw action drop",
        "This is useful when different bits of the fwmark are assigned different meanings."
    ],
    "see_also": [
        {
            "name": "tc",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/tc/8/json"
        },
        {
            "name": "iptables",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/iptables/8/json"
        },
        {
            "name": "iptables-extensions",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/iptables-extensions/8/json"
        },
        {
            "name": "tc-skbedit",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/tc-skbedit/8/json"
        },
        {
            "name": "tc",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/tc/8/json"
        }
    ]
}