base-files: Reapply fixed "Ignore exit code of uci.sh inclusion"
[openwrt/openwrt.git] / target / linux / generic / backport-5.10 / 610-v5.13-30-dsa-slave-add-support-for-TC_SETUP_FT.patch
diff --git a/target/linux/generic/backport-5.10/610-v5.13-30-dsa-slave-add-support-for-TC_SETUP_FT.patch b/target/linux/generic/backport-5.10/610-v5.13-30-dsa-slave-add-support-for-TC_SETUP_FT.patch
deleted file mode 100644 (file)
index e7a33ce..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-From: Pablo Neira Ayuso <pablo@netfilter.org>
-Date: Wed, 24 Mar 2021 02:30:51 +0100
-Subject: [PATCH] dsa: slave: add support for TC_SETUP_FT
-
-The dsa infrastructure provides a well-defined hierarchy of devices,
-pass up the call to set up the flow block to the master device. From the
-software dataplane, the netfilter infrastructure uses the dsa slave
-devices to refer to the input and output device for the given skbuff.
-Similarly, the flowtable definition in the ruleset refers to the dsa
-slave port devices.
-
-This patch adds the glue code to call ndo_setup_tc with TC_SETUP_FT
-with the master device via the dsa slave devices.
-
-Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
----
-
---- a/net/dsa/slave.c
-+++ b/net/dsa/slave.c
-@@ -1237,14 +1237,32 @@ static int dsa_slave_setup_tc_block(stru
-       }
- }
-+static int dsa_slave_setup_ft_block(struct dsa_switch *ds, int port,
-+                                  void *type_data)
-+{
-+      struct dsa_port *cpu_dp = dsa_to_port(ds, port)->cpu_dp;
-+      struct net_device *master = cpu_dp->master;
-+
-+      if (!master->netdev_ops->ndo_setup_tc)
-+              return -EOPNOTSUPP;
-+
-+      return master->netdev_ops->ndo_setup_tc(master, TC_SETUP_FT, type_data);
-+}
-+
- static int dsa_slave_setup_tc(struct net_device *dev, enum tc_setup_type type,
-                             void *type_data)
- {
-       struct dsa_port *dp = dsa_slave_to_port(dev);
-       struct dsa_switch *ds = dp->ds;
--      if (type == TC_SETUP_BLOCK)
-+      switch (type) {
-+      case TC_SETUP_BLOCK:
-               return dsa_slave_setup_tc_block(dev, type_data);
-+      case TC_SETUP_FT:
-+              return dsa_slave_setup_ft_block(ds, dp->index, type_data);
-+      default:
-+              break;
-+      }
-       if (!ds->ops->port_setup_tc)
-               return -EOPNOTSUPP;