[LARTC] U32 port matching trouble
Jörg Lübbert
j.luebbert@kaladix.org
Fri Feb 4 18:29:59 CET 2005
Hello,
I'm having some trouble with the u32 port match and that is when
specifying a mask.
tc filter add prio 1 dev ppp1 parent 2:0 protocol ip u32 match ip dst
0.0.0.0/0 match ip protocol 17 0xff match ip dport 27015 0xffff flowid 2:4
Using 27015 0xffff works just fine, all packets to dport 27015 go to 2:4
tc filter add prio 1 dev ppp2 parent 2:0 protocol ip u32 match ip dst
0.0.0.0/0 match ip protocol 17 0xff match ip dport 27015 0xFFD2 flowid 2:4
Using 27015 0xffd2, no packets go to 2:4. What should happen if my
theory below is right is putting ports 27015 - 27050 in 2:4
The way I calculate the mask is:
- Convert lowest boundary of port range to binary (27015)
- Convert highest boundary of port range to binary (27050)
- XOR every bit of the low port with the negated bit of the high port
- Convert calculated value to base 16 and use as 0x$MASK
So basically I assume that:
[ ] I have no idea how the mask field works
[ ] There is an error in the implementation
Can anyone confirm my understanding of the mask calculation?
Can anyone confirm an error in the implementation?
I'm running iproute2-ss050112 on a 2.4.28 kernel (with several patches)
More information about the LARTC
mailing list