To "classid x:y" = "mark=mark&x|y" ("classid :y" = "-j MARK --set-mark y", etc).

--- linux-2.6.23-gentoo-r2/net/sched/Kconfig
+++ linux-2.6.23-gentoo-r2.fixed/net/sched/Kconfig
@@ -222,6 +222,16 @@
          To compile this code as a module, choose M here: the
          module will be called sch_ingress.

+config NET_SCH_INGRESS_TC2MARK
+       bool "ingress classify -> mark"
+       depends on NET_SCH_INGRESS && NET_CLS_ACT
+       ---help---
+         This enables access to "mark" value via "classid"
+         Example: set "tc filter ... flowid|classid 1:2"
+         eq "netfilter mark" mark=mark&1|2
+       
+         But classid may be undefined (?) - use "flowid :0".
+
 comment "Classification"

 config NET_CLS
--- linux-2.6.23-gentoo-r2/net/sched/sch_ingress.c
+++ linux-2.6.23-gentoo-r2.fixed/net/sched/sch_ingress.c
@@ -161,2 +161,5 @@
                        skb->tc_index = TC_H_MIN(res.classid);
+#ifdef CONFIG_NET_SCH_INGRESS_TC2MARK
+                       skb->mark = 
(skb->mark&(res.classid>>16))|TC_H_MIN(res.classid);
+#endif
                default:


--
WBR,
Denis Kaganovich,  [EMAIL PROTECTED]  http://mahatma.bspu.unibel.by
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to