TC-SKBEDIT(8)

๐Ÿ“ฆ
version 7.3.0 ยท 2 versions
  • 7.3.0 ยท alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, centos-stream 10, centos-stream 9, debian bookworm, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 5.15.0 ยท ubuntu jammy
, in alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, centos-stream 10, centos-stream 9, debian bookworm, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

๐Ÿ’– NAME ๐Ÿ’–

okay so the manual name is skbedit, which is the SKB editing action in tc(8) ๐ŸŽ€ bestie this one is lowkey iconic

โœจ SYNOPSIS โœจ

tc ... action skbedit [ queue_mapping QUEUE_MAPPING ] [ priority
        PRIORITY ] [ mark MARK[/MASK] ] [ ptype PTYPE ] [ inheritdsfield
        ]

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

okay so the skbedit action lets you change a packet's associated meta data ๐Ÿ’… it's the sidekick to the pedit action, which is the one that changes parts of the packet data itself. they're a whole duo, no cap

the most unique feature of skbedit is that it can decide which queue of an interface with multiple transmit queues the packet gets sent out on ๐Ÿ”ฅ the number of available transmit queues shows up as sysfs entries in /sys/class/net/<interface>/queues named tx-N, where N is the actual queue number. it's giving main character energy โœจ

๐Ÿ‘‘ OPTIONS ๐Ÿ‘‘

  • queue_mapping QUEUE_MAPPING โ€” overrides the packet's transmit queue ๐Ÿซถ it's especially useful when it's applied to packets going out over MQ-capable network interfaces. QUEUE_MAPPING is an unsigned 16bit value in decimal format
  • priority PRIORITY โ€” overrides the packet classification decision ๐Ÿ’œ PRIORITY is either root, none, or a hexadecimal major class ID, optionally followed by a colon (:) and a hexadecimal minor class ID
  • mark MARK[/MASK] โ€” changes the packet's firewall mark value โœจ MARK is an unsigned 32bit value in automatically detected format (so prefix with 0x for hexadecimal, and so on). MASK defines the 32-bit mask that selects the bits of the mark value. the default is 0xffffffff ๐ŸŒˆ
  • ptype PTYPE โ€” overrides the packet's type ๐Ÿงš this is super handy when you need to set the packet type to host so ingressing packets with the wrong MAC address but the correct IP address still get through. PTYPE is one of: host, otherhost, broadcast, multicast ๐Ÿ“
  • inheritdsfield โ€” overrides the packet classification decision, and any value specified with priority, using the info stored in the Differentiated Services Field of the IPv6/IPv4 header (RFC2474) ๐ŸŒธ okay the way this one just takes over the vibe ๐Ÿ˜ญ

๐ŸŽ€ SEE ALSO ๐ŸŽ€

tc(8), tc-pedit(8) ๐Ÿซถ


bestie that's the whole tea ๐Ÿต this page came from iproute2, dated 12 Jan 2015 ๐Ÿ’…๐Ÿ”ฅ stay iconic, periodt ๐Ÿ’–

๐Ÿ“ฆ where this page comes from