<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in tc_skbmod.h</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>73dfe93e - headers: Remove some left-over license text</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/uapi/linux/tc_act/tc_skbmod.h#73dfe93e</link>
        <description>headers: Remove some left-over license textRemove some left-over from commit e2be04c7f995 (&quot;License cleanup: add SPDXlicense identifier to uapi header files with a license&quot;)When the SPDX-License-Identifier tag has been added, the correspondinglicense text has not been removed.Signed-off-by: Christophe JAILLET &lt;christophe.jaillet@wanadoo.fr&gt;Acked-by: Alexander Duyck &lt;alexanderduyck@fb.com&gt;Reviewed-by: Jiri Pirko &lt;jiri@nvidia.com&gt;Acked-by: Jamal Hadi Salim &lt;jhs@mojatatu.com&gt;Link: https://lore.kernel.org/r/88410cddd31197ea26840d7dd71612bece8c6acf.1663871981.git.christophe.jaillet@wanadoo.frSigned-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux-6.15/include/uapi/linux/tc_act/tc_skbmod.h</description>
        <pubDate>Thu, 22 Sep 2022 18:41:40 +0000</pubDate>
        <dc:creator>Christophe JAILLET &lt;christophe.jaillet@wanadoo.fr&gt;</dc:creator>
    </item>
<item>
        <title>56af5e74 - net/sched: act_skbmod: Add SKBMOD_F_ECN option support</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/uapi/linux/tc_act/tc_skbmod.h#56af5e74</link>
        <description>net/sched: act_skbmod: Add SKBMOD_F_ECN option supportCurrently, when doing rate limiting using the tc-police(8) action, theeasiest way is to simply drop the packets which exceed or conform theconfigured bandwidth limit.  Add a new option to tc-skbmod(8), so thatusers may use the ECN [1] extension to explicitly inform the receiverabout the congestion instead of dropping packets &quot;on the floor&quot;.The 2 least significant bits of the Traffic Class field in IPv4 and IPv6headers are used to represent different ECN states [2]:	0b00: &quot;Non ECN-Capable Transport&quot;, Non-ECT	0b10: &quot;ECN Capable Transport&quot;, ECT(0)	0b01: &quot;ECN Capable Transport&quot;, ECT(1)	0b11: &quot;Congestion Encountered&quot;, CEAs an example:	$ tc filter add dev eth0 parent 1: protocol ip prio 10 \		matchall action skbmod ecnDoing the above marks all ECT(0) and ECT(1) packets as CE.  It does NOTaffect Non-ECT or non-IP packets.  In the tc-police scenario mentionedabove, users may pipe a tc-police action and a tc-skbmod &quot;ecn&quot; actiontogether to achieve ECN-based rate limiting.For TCP connections, upon receiving a CE packet, the receiver will respondwith an ECE packet, asking the sender to reduce their congestion window.However ECN also works with other L4 protocols e.g. DCCP and SCTP [2], andour implementation does not touch or care about L4 headers.The updated tc-skbmod SYNOPSIS looks like the following:	tc ... action skbmod { set SETTABLE | swap SWAPPABLE | ecn } ...Only one of &quot;set&quot;, &quot;swap&quot; or &quot;ecn&quot; shall be used in a single tc-skbmodcommand.  Trying to use more than one of them at a time is consideredundefined behavior; pipe multiple tc-skbmod commands together instead.&quot;set&quot; and &quot;swap&quot; only affect Ethernet packets, while &quot;ecn&quot; only affectsIPv{4,6} packets.It is also worth mentioning that, in theory, the same effect could beachieved by piping a &quot;police&quot; action and a &quot;bpf&quot; action using thebpf_skb_ecn_set_ce() helper, but this requires eBPF programming from theuser, thus impractical.Depends on patch &quot;net/sched: act_skbmod: Skip non-Ethernet packets&quot;.[1] https://datatracker.ietf.org/doc/html/rfc3168[2] https://en.wikipedia.org/wiki/Explicit_Congestion_NotificationReviewed-by: Cong Wang &lt;cong.wang@bytedance.com&gt;Signed-off-by: Peilin Ye &lt;peilin.ye@bytedance.com&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/include/uapi/linux/tc_act/tc_skbmod.h</description>
        <pubDate>Wed, 28 Jul 2021 01:33:15 +0000</pubDate>
        <dc:creator>Peilin Ye &lt;peilin.ye@bytedance.com&gt;</dc:creator>
    </item>
<item>
        <title>257eeded - net: Move all TC actions identifiers to one place</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/uapi/linux/tc_act/tc_skbmod.h#257eeded</link>
        <description>net: Move all TC actions identifiers to one placeMove all the TC identifiers to one place, to the same enum that definesthe identifier of police action. This makes it easier choose numbers fornew actions since they are now defined in one place. We preserve theoriginal values for binary compatibility. New IDs should be added insidethe enum.Signed-off-by: Eli Cohen &lt;eli@mellanox.com&gt;Acked-by: Jiri Pirko &lt;jiri@mellanox.com&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/include/uapi/linux/tc_act/tc_skbmod.h</description>
        <pubDate>Sun, 10 Feb 2019 12:24:59 +0000</pubDate>
        <dc:creator>Eli Cohen &lt;eli@mellanox.com&gt;</dc:creator>
    </item>
<item>
        <title>e2be04c7 - License cleanup: add SPDX license identifier to uapi header files with a license</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/uapi/linux/tc_act/tc_skbmod.h#e2be04c7</link>
        <description>License cleanup: add SPDX license identifier to uapi header files with a licenseMany user space API headers have licensing information, which is eitherincomplete, badly formatted or just a shorthand for referring to thelicense under which the file is supposed to be.  This makes it hard forcompliance tools to determine the correct license.Update these files with an SPDX license identifier.  The identifier waschosen based on the license information in the file.GPL/LGPL licensed headers get the matching GPL/LGPL SPDX licenseidentifier with the added &apos;WITH Linux-syscall-note&apos; exception, which isthe officially assigned exception identifier for the kernel syscallexception:   NOTE! This copyright does *not* cover user programs that use kernel   services by normal system calls - this is merely considered normal use   of the kernel, and does *not* fall under the heading of &quot;derived work&quot;.This exception makes it possible to include GPL headers into non GPLcode, without confusing license compliance tools.Headers which have either explicit dual licensing or are just licensedunder a non GPL license are updated with the corresponding SPDXidentifier and the GPLv2 with syscall exception identifier.  The formatis:        ((GPL-2.0 WITH Linux-syscall-note) OR SPDX-ID-OF-OTHER-LICENSE)SPDX license identifiers are a legally binding shorthand, which can beused instead of the full boiler plate text.  The update does not removeexisting license information as this has to be done on a case by casebasis and the copyright holders might have to be consulted. This willhappen in a separate step.This patch is based on work done by Thomas Gleixner and Kate Stewart andPhilippe Ombredanne.  See the previous patch in this series for themethodology of how this patch was researched.Reviewed-by: Kate Stewart &lt;kstewart@linuxfoundation.org&gt;Reviewed-by: Philippe Ombredanne &lt;pombredanne@nexb.com&gt;Reviewed-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/include/uapi/linux/tc_act/tc_skbmod.h</description>
        <pubDate>Wed, 01 Nov 2017 14:09:13 +0000</pubDate>
        <dc:creator>Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;</dc:creator>
    </item>
<item>
        <title>86da71b5 - net_sched: Introduce skbmod action</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/uapi/linux/tc_act/tc_skbmod.h#86da71b5</link>
        <description>net_sched: Introduce skbmod actionThis action is intended to be an upgrade from a usability perspectivefrom pedit (as well as operational debugability).Compare this:sudo tc filter add dev $ETH parent 1: protocol ip prio 10 \u32 match ip protocol 1 0xff flowid 1:2 \action pedit munge offset -14 u8 set 0x02 \munge offset -13 u8 set 0x15 \munge offset -12 u8 set 0x15 \munge offset -11 u8 set 0x15 \munge offset -10 u16 set 0x1515 \pipeto:sudo tc filter add dev $ETH parent 1: protocol ip prio 10 \u32 match ip protocol 1 0xff flowid 1:2 \action skbmod dmac 02:15:15:15:15:15Also try to do a MAC address swap with pedit or worsetry to debug a policy with destination mac, source mac andetherype. Then make few rules out of those and you&apos;ll get my point.In the future common use cases on pedit can be migrated to this action(as an example different fields in ip v4/6, transports like tcp/udp/sctpetc). For this first cut, this allows modifying basic ethernet header.The most important ethernet use case at the moment is when redirecting ormirroring packets to a remote machine. The dst mac address needs a re-writeso that it doesnt get dropped or confuse an interconnecting (learning) switchor dropped by a target machine (which looks at the dst mac). And at timeswhen flipping back the packet a swap of the MAC addresses is needed.Signed-off-by: Jamal Hadi Salim &lt;jhs@mojatatu.com&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/include/uapi/linux/tc_act/tc_skbmod.h</description>
        <pubDate>Tue, 13 Sep 2016 00:13:09 +0000</pubDate>
        <dc:creator>Jamal Hadi Salim &lt;jhs@mojatatu.com&gt;</dc:creator>
    </item>
</channel>
</rss>
