testing packet marks from the mangle table doesn't seem to work

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I am not sure if this is a bug or a feature or if I am just confused,
but is seems that attempting to test for packet marks from the mangle
table does not work. I have the following rules:

 [root@cap-x2100m2-01 ~]# iptables -t filter -L -n -v
Chain INPUT (policy ACCEPT 1192 packets, 111K bytes)
 pkts bytes target     prot opt in     out     source
destination

Chain FORWARD (policy ACCEPT 75 packets, 9652 bytes)
 pkts bytes target     prot opt in     out     source
destination
   41  4540 LOG        all  --  eth2.11 eth1.111  0.0.0.0/0
0.0.0.0/0           mark match !0x0/0xfff LOG flags 0 level 3 prefix
`marked_filter'
   34  5112 LOG        all  --  eth1.111 eth2.11  0.0.0.0/0
0.0.0.0/0           mark match !0x0/0xfff LOG flags 0 level 3 prefix
`marked_filter'
   82  9080 NFQUEUE    all  --  eth2.11 eth1.111  0.0.0.0/0
0.0.0.0/0           mark match 0x0/0xfff NFQUEUE num 10
   68 10224 NFQUEUE    all  --  eth1.111 eth2.11  0.0.0.0/0
0.0.0.0/0           mark match 0x0/0xfff NFQUEUE num 10

Chain OUTPUT (policy ACCEPT 654 packets, 127K bytes)
 pkts bytes target     prot opt in     out     source
destination
[root@cap-x2100m2-01 ~]#
[root@cap-x2100m2-01 ~]# iptables -t mangle -L -n -v
Chain PREROUTING (policy ACCEPT 1304 packets, 124K bytes)
 pkts bytes target     prot opt in     out     source
destination

Chain INPUT (policy ACCEPT 1206 packets, 111K bytes)
 pkts bytes target     prot opt in     out     source
destination

Chain FORWARD (policy ACCEPT 75 packets, 9652 bytes)
 pkts bytes target     prot opt in     out     source
destination
    0     0 LOG        all  --  eth2.11 eth1.111  0.0.0.0/0
0.0.0.0/0           mark match !0x0/0xfff LOG flags 0 level 3 prefix
`marked_mangle'
    0     0 LOG        all  --  eth1.111 eth2.11  0.0.0.0/0
0.0.0.0/0           mark match !0x0/0xfff LOG flags 0 level 3 prefix
`marked_mangle'

Chain OUTPUT (policy ACCEPT 653 packets, 128K bytes)
 pkts bytes target     prot opt in     out     source
destination

Chain POSTROUTING (policy ACCEPT 728 packets, 138K bytes)
 pkts bytes target     prot opt in     out     source
destination
[root@cap-x2100m2-01 ~]#

I also have an application that reads NFQUEUE 10 and calls
nfq_set_verdict_mark() to set a non-zero value in the packet mark with
NF_REPEAT.

When I look at the output of the above LOG targets. I see logs prefixed
with "marked_filter" but none with "marked_mangle".

[root@cap-x2100m2-01 ~]# grep marked_filter /var/log/kernel_log.txt
Jul 28 18:34:23 cap-x2100m2-01 kernel: marked_filterIN=eth2.11
OUT=eth1.111 SRC=192.168.11.2 DST=192.168.3.101 LEN=64 TOS=0x00
PREC=0x00 TTL=63 ID=2269 DF PROTO=TCP SPT=51213 DPT=22 WINDOW=32850
RES=0x00 SYN URGP=0 MARK=0x46c0c046
Jul 28 18:34:23 cap-x2100m2-01 kernel: marked_filterIN=eth1.111
OUT=eth2.11 SRC=192.168.3.101 DST=192.168.11.2 LEN=64 TOS=0x00 PREC=0x00
TTL=59 ID=24577 DF PROTO=TCP SPT=22 DPT=51213 WINDOW=49232 RES=0x00 ACK
SYN URGP=0 MARK=0x46c0c046
Jul 28 18:34:23 cap-x2100m2-01 kernel: marked_filterIN=eth2.11
OUT=eth1.111 SRC=192.168.11.2 DST=192.168.3.101 LEN=52 TOS=0x00
PREC=0x00 TTL=63 ID=2270 DF PROTO=TCP SPT=51213 DPT=22 WINDOW=33304
RES=0x00 ACK URGP=0 MARK=0x46c0c046
...

[root@cap-x2100m2-01 ~]# grep marked_mangle /var/log/kernel_log.txt
[root@cap-x2100m2-01 ~]#

This is happening in RHEL6.0.

[root@cap-x2100m2-01 proc]# cat /proc/version
Linux version 2.6.32-71.el6.x86_64
(mockbuild@xxxxxxxxxxxxxxxxxxxxxxxxxxxx) (gcc version 4.4.4 20100726
(Red Hat 4.4.4-13) (GCC) ) #1 SMP Wed Sep 1 01:33:01 EDT 2010
[root@cap-x2100m2-01 proc]#

It would seem that using the match extension "mark match !0x0/0xfff"
works in the filter table but not in the mangle table. I expected it to
work the same in both.

Is this by design, is this a bug, or I am missing something more
fundamental here?

Thanks,

Jeff Haran



--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux