jamal wrote:
Remus seems to have got it working with iptables earlier than
1.3.0 works fine.
Unfortunately i am not close to my machines and wont be for a while.
Can you try not to pass mirred in the command line and see if that
works?
cheers,
jamal
If I just do -
....
$TC filter add dev eth0 parent ffff: protocol ip prio 10 u32 \
match u32 0 0 flowid 1:1 \
action ipt -j MARK --set-mark 1
It still gives memory error with 1.3.1 , with 1.2.11 it parses OK but I
get bogus stats - hit count is OK
[root@amd /home/andy/Qos]# tc -s filter ls dev eth0 parent ffff:
filter protocol ip pref 10 u32
filter protocol ip pref 10 u32 fh 800: ht divisor 1
filter protocol ip pref 10 u32 fh 800::800 order 2048 key ht 800 bkt 0
flowid 1:1 (rule hit 12 success 12)
match 00000000/00000000 at 0 (success 12 )
action order 1: tablename: mangle hook: NF_IP_PRE_ROUTING
target MARK set 0x1
index 1 ref 1 bind 1 installed 251 sec expires 1 sec
Action statistics:
Sent 7630953 bytes 0 pkt
rate 3146Kbit 1095565348pps
If I try with the lines below added
action egress redirect dev dummy0 or
action redirect dev dummy0
I just get errors on whatever is after action - or memory errors with 1.3.1.
Using tc iproute2-ss050112 + patch for these tests.
I don't know if it's relevant but I am using gcc-2.95.3, which meant I
had to change the dummy patch a bit as it doesn't (for me) like variable
declarations in the middle of functions.
drivers/net/dummy.c: In function `dummy_xmit':
drivers/net/dummy.c:218: parse error before `from'
drivers/net/dummy.c:219: `from' undeclared (first use in this function)
So I changed to
static int dummy_xmit(struct sk_buff *skb, struct net_device *dev)
{
struct dummy_private *dp = ((struct net_device *)dev)->priv;
struct net_device_stats *stats = &dp->stats;
int ret = 0;
__u32 from;
{
stats->tx_packets++;
stats->tx_bytes+=skb->len;
}
#ifdef CONFIG_NET_CLS_ACT
from = G_TC_FROM(skb->tc_verd);
Is there a switch for this? - or am I the only one who actually does
kernel stuff with 2.95.3 (using LFS 5.1, which uses 3.3 by default but
keeps 2.95.3 in /opt specially for kernels)
I am using it for iptables and tc aswell (though I tried 3.3 - but not
for kernel yet)
I have manually loaded modules
dummy 3972 0
mirred 6400 0
pedit 6624 0
gact 5984 0
ipt_MARK 2432 0
ipt 6944 0
ip_tables 19728 2 ipt_MARK,ipt
sch_tbf 5120 1
sch_ingress 3136 1
cls_fw 3904 2
sch_sfq 5184 2
sch_prio 4736 1
cls_u32 6916 0
Andy.
|