openwrt/package/network/utils
Kevin Darbyshire-Bryant 021a9b4cb9 iproute2: add tc action ctinfo support
Add the userspace control portion of the backported kernelspace
act_ctinfo.

ctinfo is a tc action restoring data stored in conntrack marks to
various fields.  At present it has two independent modes of operation,
restoration of DSCP into IPv4/v6 diffserv and restoration of conntrack
marks into packet skb marks.

It understands a number of parameters specific to this action in
additional to the usual action syntax.  Each operating mode is
independent of the other so all options are optional, however not
specifying at least one mode is a bit pointless.

Usage: ... ctinfo [dscp mask [statemask]] [cpmark [mask]] [zone ZONE]
		  [CONTROL] [index <INDEX>]

DSCP mode

dscp enables copying of a DSCP stored in the conntrack mark into the
ipv4/v6 diffserv field.  The mask is a 32bit field and specifies where
in the conntrack mark the DSCP value is located.  It must be 6
contiguous bits long. eg. 0xfc000000 would restore the DSCP from the
upper 6 bits of the conntrack mark.

The DSCP copying may be optionally controlled by a statemask.  The
statemask is a 32bit field, usually with a single bit set and must not
overlap the dscp mask.  The DSCP restore operation will only take place
if the corresponding bit/s in conntrack mark ANDed with the statemask
yield a non zero result.

eg. dscp 0xfc000000 0x01000000 would retrieve the DSCP from the top 6
bits, whilst using bit 25 as a flag to do so.  Bit 26 is unused in this
example.

CPMARK mode

cpmark enables copying of the conntrack mark to the packet skb mark.  In
this mode it is completely equivalent to the existing act_connmark
action.  Additional functionality is provided by the optional mask
parameter, whereby the stored conntrack mark is logically ANDed with the
cpmark mask before being stored into skb mark.  This allows shared usage
of the conntrack mark between applications.

eg. cpmark 0x00ffffff would restore only the lower 24 bits of the
conntrack mark, thus may be useful in the event that the upper 8 bits
are used by the DSCP function.

Usage: ... ctinfo [dscp mask [statemask]] [cpmark [mask]] [zone ZONE]
		  [CONTROL] [index <INDEX>]
where :
	dscp MASK is the bitmask to restore DSCP
	     STATEMASK is the bitmask to determine conditional restoring
	cpmark MASK mask applied to restored packet mark
	ZONE is the conntrack zone
	CONTROL := reclassify | pipe | drop | continue | ok |
		   goto chain <CHAIN_INDEX>

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2019-06-07 12:05:32 +01:00
..
adb-enablemodem Move enablemodem from ramips to new package adb-enablemodem and make it used also by TL-MR6400 2017-05-27 07:54:40 +02:00
arptables treewide: switch git.netfilter.org to HTTPS 2017-10-08 21:10:36 +03:00
comgt uqmi: inherit firewall zone membership to virtual sub interfaces 2019-03-05 13:19:43 +01:00
curl curl: bump to 7.65.0 2019-05-26 21:51:04 +02:00
dante treewide: revise library packaging 2019-01-24 10:39:30 +01:00
ebtables ebtables: update to latest git 2018-06-27 2018-07-02 17:33:55 +02:00
ethtool ethtool: bump to 5.1 2019-05-25 13:44:43 +02:00
iftop iftop: bump to latest 2018-04-27 09:59:28 +02:00
iperf iperf: Update to version 2.0.13 2019-05-14 20:28:18 +02:00
iperf3 iperf3: update to 3.6 2018-06-26 08:57:25 +02:00
iproute2 iproute2: add tc action ctinfo support 2019-06-07 12:05:32 +01:00
ipset ipset: size optimizations 2019-03-17 22:17:48 +01:00
iptables treewide: revise library packaging 2019-01-24 10:39:30 +01:00
iputils iputils: install ping, ping6, traceroute6 with setuid root 2019-01-22 09:05:59 +01:00
iw mac80211: backport the txq scheduling / airtime fairness API 2019-03-16 19:59:02 +01:00
iwcap iwcap: fix handling kill signal during dump 2017-03-14 13:29:03 +01:00
iwinfo iwinfo: update to latest git HEAD 2019-05-21 14:24:18 +02:00
layerscape/restool layerscape: update restool to LSDK 19.03 2019-06-06 15:40:08 +02:00
linux-atm linux-atm: Fix compile problem with kernel 4.20 2019-03-10 19:04:30 +01:00
maccalc network/utils/maccalc: drop Build/Prepare rule in favor of default one 2016-10-15 11:36:52 +02:00
nftables nftables: Fix compilation with uClibc-ng 2019-05-15 13:34:23 +02:00
owipcalc network/utils/owipcalc: drop Build/Prepare rule in favor of default one 2016-10-15 11:36:52 +02:00
resolveip network/utils/resolveip: drop Build/Prepare rule in favor of default one 2016-10-15 11:36:52 +02:00
rssileds rssileds: Fix build with external toolchains 2017-03-01 17:19:52 -08:00
tcpdump tcpdump: explicitly disable libcap-ng support 2018-07-30 23:27:55 +03:00
umbim umbim: update to latest git HEAD 2019-04-15 00:01:57 +02:00
uqmi uqmi: inherit firewall zone membership to virtual sub interfaces 2019-03-05 13:19:43 +01:00
wireless-tools treewide: revise library packaging 2019-01-24 10:39:30 +01:00
wpan-tools wpan-tools: clean up Makefile 2019-04-06 19:14:06 +02:00
wwan wwan: Fix teardown for sierra_net driver 2018-07-27 11:17:20 +02:00