* tc match MAC destination
@ 2011-06-10 14:18 Andrei Popa
0 siblings, 0 replies; 6+ messages in thread
From: Andrei Popa @ 2011-06-10 14:18 UTC (permalink / raw)
To: netdev; +Cc: pdoru.kernel
Hello,
I want to shape PVSTP+ traffic (traffic that has MAC destination
01:00:0c:cc:cc:cd) and it doesn't work.
I've tried
filter parent 1: protocol 802_3 pref 2 u32 fh 802::11 order 17 key ht
802 bkt 0 flowid 1:3
match 01000ccc/ffffffff at 0
but it doesn't work.
With
filter parent 1: protocol arp pref 1 u32
filter parent 1: protocol arp pref 1 u32 fh 801: ht divisor 1
filter parent 1: protocol arp pref 1 u32 fh 801::7 order 7 key ht 801
bkt 0 flowid 1:3
match 00000000/00000000 at 0
filter parent 1: protocol 802_3 pref 2 u32
filter parent 1: protocol 802_3 pref 2 u32 fh 802: ht divisor 1
filter parent 1: protocol 802_3 pref 2 u32 fh 802::3 order 3 key ht 802
bkt 0 flowid 1:3
match 00000000/00000000 at 0
action order 1: mirred (Egress Mirror to device ifb1) pipe
index 1923 ref 1 bind 1
I see arp trafic with tcpdump on ifb1, but no STP traffic or any kind of
traffic except arp, because I've matched all MAC addreses.
Can somebody verify that this match works ?
I use kernel 2.6.39.1.
Thank you,
--
Andrei Popa
0760 683 280
^ permalink raw reply [flat|nested] 6+ messages in thread
* tc match MAC destination
@ 2011-06-15 8:12 Andrei Popa
2011-06-15 9:43 ` Eric Dumazet
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Andrei Popa @ 2011-06-15 8:12 UTC (permalink / raw)
To: linux-kernel; +Cc: pdoru.kernel, netdev
Hello,
I want to shape PVSTP+ traffic (traffic that has MAC destination
01:00:0c:cc:cc:cd) and it doesn't work.
I've tried
filter parent 1: protocol 802_3 pref 2 u32 fh 802::11 order 17 key ht
802 bkt 0 flowid 1:3
match 01000ccc/ffffffff at 0
but it doesn't work.
With
filter parent 1: protocol arp pref 1 u32
filter parent 1: protocol arp pref 1 u32 fh 801: ht divisor 1
filter parent 1: protocol arp pref 1 u32 fh 801::7 order 7 key ht 801
bkt 0 flowid 1:3
match 00000000/00000000 at 0
filter parent 1: protocol 802_3 pref 2 u32
filter parent 1: protocol 802_3 pref 2 u32 fh 802: ht divisor 1
filter parent 1: protocol 802_3 pref 2 u32 fh 802::3 order 3 key ht 802
bkt 0 flowid 1:3
match 00000000/00000000 at 0
action order 1: mirred (Egress Mirror to device ifb1) pipe
index 1923 ref 1 bind 1
I see arp trafic with tcpdump on ifb1, but no STP traffic or any kind of
traffic except arp, because I've matched all MAC addreses.
Can somebody verify that this match works ?
I use kernel 2.6.39.1.
Thank you,
--
Andrei Popa
0760 683 280
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: tc match MAC destination
2011-06-15 8:12 Andrei Popa
@ 2011-06-15 9:43 ` Eric Dumazet
2011-06-15 13:23 ` Thomas Graf
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Eric Dumazet @ 2011-06-15 9:43 UTC (permalink / raw)
To: ierdnah; +Cc: linux-kernel, pdoru.kernel, netdev
Le mercredi 15 juin 2011 à 11:12 +0300, Andrei Popa a écrit :
> Hello,
>
> I want to shape PVSTP+ traffic (traffic that has MAC destination
> 01:00:0c:cc:cc:cd) and it doesn't work.
> I've tried
> filter parent 1: protocol 802_3 pref 2 u32 fh 802::11 order 17 key ht
> 802 bkt 0 flowid 1:3
> match 01000ccc/ffffffff at 0
> but it doesn't work.
>
> With
> filter parent 1: protocol arp pref 1 u32
> filter parent 1: protocol arp pref 1 u32 fh 801: ht divisor 1
> filter parent 1: protocol arp pref 1 u32 fh 801::7 order 7 key ht 801
> bkt 0 flowid 1:3
> match 00000000/00000000 at 0
> filter parent 1: protocol 802_3 pref 2 u32
> filter parent 1: protocol 802_3 pref 2 u32 fh 802: ht divisor 1
> filter parent 1: protocol 802_3 pref 2 u32 fh 802::3 order 3 key ht 802
> bkt 0 flowid 1:3
> match 00000000/00000000 at 0
> action order 1: mirred (Egress Mirror to device ifb1) pipe
> index 1923 ref 1 bind 1
>
> I see arp trafic with tcpdump on ifb1, but no STP traffic or any kind of
> traffic except arp, because I've matched all MAC addreses.
> Can somebody verify that this match works ?
>
> I use kernel 2.6.39.1.
>
> Thank you,
Hi Andrei
Since you refer to a very complex network setup, it would really help if
you provide a self contained script so that we can take a look.
We netdev guys saw your first mail days ago but are a bit busy, so the
7th point listed in "REPORTING-BUGS" would be nice :
[7.] A small shell script or example program which triggers the problem
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: tc match MAC destination
2011-06-15 8:12 Andrei Popa
2011-06-15 9:43 ` Eric Dumazet
@ 2011-06-15 13:23 ` Thomas Graf
2011-06-15 13:29 ` Stephen Hemminger
2011-06-15 14:51 ` jamal
3 siblings, 0 replies; 6+ messages in thread
From: Thomas Graf @ 2011-06-15 13:23 UTC (permalink / raw)
To: Andrei Popa; +Cc: pdoru.kernel, netdev
On Wed, Jun 15, 2011 at 11:12:01AM +0300, Andrei Popa wrote:
> I want to shape PVSTP+ traffic (traffic that has MAC destination
> 01:00:0c:cc:cc:cd) and it doesn't work.
> I've tried
> filter parent 1: protocol 802_3 pref 2 u32 fh 802::11 order 17 key ht
> 802 bkt 0 flowid 1:3
> match 01000ccc/ffffffff at 0
> but it doesn't work.
u32 offset 0 corresponds to the network layer and thus will
match the first byte of the ip layer or whatever protocol
is found on that layer.
You can use the cmp ematch to match on the mac layer:
Use something like this:
filter add basic match 'cmp(0x01000ccc at 0 layer link mask 0xffffffff)'
... cmp(>>help<<)...
Usage: cmp(ALIGN at OFFSET [ ATTRS ] { eq | lt | gt } VALUE)
where: ALIGN := { u8 | u16 | u32 }
ATTRS := [ layer LAYER ] [ mask MASK ] [ trans ]
LAYER := { link | network | transport | 0..2 }
Example: cmp(u16 at 3 layer 2 mask 0xff00 gt 20
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: tc match MAC destination
2011-06-15 8:12 Andrei Popa
2011-06-15 9:43 ` Eric Dumazet
2011-06-15 13:23 ` Thomas Graf
@ 2011-06-15 13:29 ` Stephen Hemminger
2011-06-15 14:51 ` jamal
3 siblings, 0 replies; 6+ messages in thread
From: Stephen Hemminger @ 2011-06-15 13:29 UTC (permalink / raw)
To: ierdnah; +Cc: linux-kernel, pdoru.kernel, netdev
On Wed, 15 Jun 2011 11:12:01 +0300
Andrei Popa <ierdnah@gmail.com> wrote:
> Hello,
>
> I want to shape PVSTP+ traffic (traffic that has MAC destination
> 01:00:0c:cc:cc:cd) and it doesn't work.
> I've tried
> filter parent 1: protocol 802_3 pref 2 u32 fh 802::11 order 17 key ht
> 802 bkt 0 flowid 1:3
> match 01000ccc/ffffffff at 0
> but it doesn't work.
>
> With
> filter parent 1: protocol arp pref 1 u32
> filter parent 1: protocol arp pref 1 u32 fh 801: ht divisor 1
> filter parent 1: protocol arp pref 1 u32 fh 801::7 order 7 key ht 801
> bkt 0 flowid 1:3
> match 00000000/00000000 at 0
> filter parent 1: protocol 802_3 pref 2 u32
> filter parent 1: protocol 802_3 pref 2 u32 fh 802: ht divisor 1
> filter parent 1: protocol 802_3 pref 2 u32 fh 802::3 order 3 key ht 802
> bkt 0 flowid 1:3
> match 00000000/00000000 at 0
> action order 1: mirred (Egress Mirror to device ifb1) pipe
> index 1923 ref 1 bind 1
>
> I see arp trafic with tcpdump on ifb1, but no STP traffic or any kind of
> traffic except arp, because I've matched all MAC addreses.
> Can somebody verify that this match works ?
>
> I use kernel 2.6.39.1.
>
> Thank you,
If you use current iproute tools it is possible to use:
tc filter ... match ether dst 01:00:0c:cc:cc:cd
which generates the necessary offset.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: tc match MAC destination
2011-06-15 8:12 Andrei Popa
` (2 preceding siblings ...)
2011-06-15 13:29 ` Stephen Hemminger
@ 2011-06-15 14:51 ` jamal
3 siblings, 0 replies; 6+ messages in thread
From: jamal @ 2011-06-15 14:51 UTC (permalink / raw)
To: ierdnah; +Cc: pdoru.kernel, netdev
On Wed, 2011-06-15 at 11:12 +0300, Andrei Popa wrote:
> Hello,
>
> I want to shape PVSTP+ traffic (traffic that has MAC destination
> 01:00:0c:cc:cc:cd) and it doesn't work.
> I've tried
> filter parent 1: protocol 802_3 pref 2 u32 fh 802::11 order 17 key ht
> 802 bkt 0 flowid 1:3
> match 01000ccc/ffffffff at 0
> but it doesn't work.
>
MAC addresses are at -ve offsets.
dst MAC starts at -14
src MAC at -8
ethertype at -2
Example:
#match my laptops MAC address ( 00:0b:97:97:4d:6a)
#for incoming packets on eth0 and count arp packets...
#
tc filter add dev eth0 parent ffff: protocol arp prio 10 u32 \
match u16 0x000B 0xffff at -14 \
match u32 0x97974D6A 0xffffffff at -12 \
match u16 0x0806 0xffff at -2 \
flowid 1:12 \
action ok
cheers,
jamal
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-06-15 14:52 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-10 14:18 tc match MAC destination Andrei Popa
-- strict thread matches above, loose matches on Subject: below --
2011-06-15 8:12 Andrei Popa
2011-06-15 9:43 ` Eric Dumazet
2011-06-15 13:23 ` Thomas Graf
2011-06-15 13:29 ` Stephen Hemminger
2011-06-15 14:51 ` jamal
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox