Flower filter in tc(8) Linux Flower filter in tc(8) (NAME) tc-flower - (flow) (SYNOPSIS) tc filter ... flower [ MATCH_LIST ] [ action ACTION_SPEC ] [ classid CLASSID ] [ hw_tc TCID ] MATCH_LIST := [ MATCH_LIST ] MATCH MATCH := { indev ifname | verbose | skip_sw | skip_hw | { dst_mac | src_mac } MASKED_LLADDR | vlan_id VID | vlan_prio PRIORITY | vlan_ethtype { ipv4 | ipv6 | ETH_TYPE } | cvlan_id VID | cvlan_prio PRIORITY | cvlan_ethtype { ipv4 | ipv6 | ETH_TYPE } | pppoe_sid PSID | ppp_proto { ip | ipv6 | mpls_uc | mpls_mc | PPP_PROTO } | mpls LSE_LIST | mpls_label LABEL | mpls_tc TC | mpls_bos BOS | mpls_ttl TTL | l2tpv3_sid LSID | ip_proto { tcp | udp | sctp | icmp | icmpv6 | l2tp | IP_PROTO } | ip_tos MASKED_IP_TOS | ip_ttl MASKED_IP_TTL | { dst_ip | src_ip } PREFIX | { dst_port | src_port } { MASKED_NUMBER | min_port_number-max_port_number } | tcp_flags MASKED_TCP_FLAGS | type MASKED_TYPE | code MASKED_CODE | { arp_tip | arp_sip } IPV4_PREFIX | arp_op { request | reply | OP } | { arp_tha | arp_sha } MASKED_LLADDR | enc_key_id KEY-ID | { enc_dst_ip | enc_src_ip } { ipv4_address | ipv6_address } | enc_dst_port port_number | enc_tos TOS | enc_ttl TTL | { geneve_opts | vxlan_opts | erspan_opts | gtp_opts | pfcp_opts } OPTIONS | ip_flags IP_FLAGS | l2_miss L2_MISS | cfm CFM_OPTIONS | enc_flags ENCFLAG-LIST } LSE_LIST := [ LSE_LIST ] LSE LSE := lse depth DEPTH { label LABEL | tc TC | bos BOS | ttl TTL } CFM := cfm mdl LEVEL | op OPCODE ENCFLAG-LIST := [ ENCFLAG-LIST/ ] ENCFLAG ENCFLAG := { [no]tuncsum | [no]tundf | [no]tunoam | [no]tuncrit } (DESCRIPTION) flower (flows) (class ID) . ( ) (action) . (OPTIONS) action ACTION_SPEC (action) . classid CLASSID . CLASSID X:Y X Y () . hw_tc TCID . TCID . indev ifname . (forwarded) . ifname tc . verbose (verbose) (offloading) skip_sw . skip_sw . TC . skip_hw . dst_mac MASKED_LLADDR src_mac MASKED_LLADDR MAC . . . LLADDR (bitwise) . . num_of_vlans NUM VLAN . NUM . vlan_id VID VLAN. VID . vlan_prio PRIORITY VLAN. PRIORITY . vlan_ethtype VLAN_ETH_TYPE . VLAN_ETH_TYPE ipv4 ipv6 . QinQ 802.1Q 802.1AD . cvlan_id VID VLAN QinQ. VID . cvlan_prio PRIORITY VLAN QinQ. PRIORITY . cvlan_ethtype VLAN_ETH_TYPE QinQ. VLAN_ETH_TYPE ipv4 ipv6 . pppoe_sid PSID (session id) PPPoE. PSID . ppp_proto PPP_PROTO PPP. PPP_PROTO ip ipv6 mpls_uc mpls_mc . mpls LSE_LIST MPLS. LSE_LIST (Label Stack Entries) lse . mpls_label mpls_tc mpls_bos mpls_ttl . lse LSE_OPTIONS MPLS. LSE_OPTIONS LSE . depth DEPTH . ( ). . . DEPTH . label LABEL MPLS depth . LABEL . tc TC (Traffic Class) MPLS depth . TC . bos BOS (Bottom Of Stack) MPLS depth . BOS . ttl TTL (Time To Live) MPLS depth . TTL . mpls_label LABEL MPLS. LABEL . mpls_tc TC TC MPLS ( ) MPLS. TC . mpls_bos BOS (Bottom Of Stack) MPLS. BOS . mpls_ttl TTL (Time To Live) MPLS. TTL . l2tpv3_sid LSID L2TPv3 IPv4 IPv6 . LSID . ip_proto IP_PROTO . IP_PROTO tcp udp sctp icmp icmpv6 l2tp . ip_tos MASKED_IP_TOS TOS IPv4 IPv6 - . . . . ip_ttl MASKED_IP_TTL TTL IPv4 (hop-limit) IPv6 - . . ip_tos . dst_ip PREFIX src_ip PREFIX IP . PREFIX protocol tc IPv4 IPv6 . tc . dst_port { MASKED_NUMBER | MIN_VALUE-MAX_VALUE } src_port { MASKED_NUMBER | MIN_VALUE-MAX_VALUE } . . udp tcp sctp ip_proto . tcp_flags MASKED_TCP_FLAGS TCP . . . . type MASKED_TYPE code MASKED_CODE (type) (code) ICMP. . . . . icmp icmpv6 ip_proto . arp_tip IPV4_PREFIX arp_sip IPV4_PREFIX IP ARP RARP. IPV4_PREFIX IPv4 . tc . arp_op ARP_OP ARP RARP. ARP_OP request reply . . . . . arp_sha MASKED_LLADDR arp_tha MASKED_LLADDR MAC ARP RARP. . . LLADDR . . enc_key_id NUMBER enc_dst_ip PREFIX enc_src_ip PREFIX enc_dst_port NUMBER enc_tos NUMBER enc_ttl NUMBER ct_state CT_STATE ct_zone CT_MASKED_ZONE ct_mark CT_MASKED_MARK ct_label CT_MASKED_LABEL (connection tracking) CT_STATE [{+|-}flag] flag : trk - (Tracked). new - (New). est - (Established). rpl - (reply) . inv - . rel - . : +trk+est CT_MASKED_ZONE . CT_MASKED_MARK (connection mark) . CT_MASKED_LABEL (connection label) . geneve_opts OPTIONS vxlan_opts OPTIONS erspan_opts OPTIONS gtp_opts OPTIONS pfcp_opts OPTIONS IP. (Key id) NUMBER ( VNI VXLAN). PREFIX IPv4 IPv6 . tc . (Dst port) NUMBER UDP . NUMBER enc_tos tos ( dscp+ecn) NUMBER enc_ttl (time-to-live) . OPTIONS geneve_opts geneve . tc . CLASS:TYPE:DATA/CLASS_MASK:TYPE_MASK:DATA_MASK CLASS TYPE DATA . vxlan_opts OPTIONS . tc . GBP/GBP_MASK GBP . erspan_opts OPTIONS . tc . VERSION:INDEX:DIR:HWID/VERSION:INDEX_MASK:DIR_MASK:HWID_MASK VERSION INDEX DIR HWID . . INDEX/INDEX_MASK VERSION DIR/DIR_MASK HWID/HWID_MASK VERSION . gtp_opts OPTIONS . tc . PDU_TYPE:QFI/PDU_TYPE_MASK:QFI_MASK PDU_TYPE QFI . pfcp_opts OPTIONS . tc . TYPE:SEID/TYPE_MASK:SEID_MASK TYPE SEID . TYPE SEID . ip_flags IP_FLAGS IP_FLAGS frag nofrag firstfrag nofirstfrag frag nofrag . firstfrag nofirstfrag . firstfrag . nofirstfrag . l2_miss L2_MISS (layer 2 miss) FDB / MDB . L2_MISS . . FDB / MDB . (broadcast) . cfm CFM_OPTIONS (Connectivity Fault Management CFM). CFM_OPTIONS CFM . mdl LEVEL (Maintenance Domain MD). LEVEL . op OPCODE (opcode) CFM. OPCODE . enc_flags ENCFLAG-LIST . ENCFLAG-LIST : [no]tuncsum [no]tundf [no]tunoam [no]tuncrit '/' . (NOTES) . (indev dst_mac src_mac enc_flags) MPLS (mpls mpls_label mpls_tc mpls_bos mpls_ttl ip_proto dst_ip src_ip arp_tip arp_sip arp_op arp_tha arp_sha ip_flags) protocol tc (dst_port src_port) ip_proto tcp udp sctp ICMP (code type) ip_proto icmp icmpv6 . (prio) . prio . (SEE ALSO) tc(8), tc-flow(8) iproute2 22 Oct 2015 Flower filter in tc(8)