Subject: Re: Tc filtering: broken 802_3 classifier?

From: Patrick McHardy <[email-masked]>
Date: Wed, 25 Jul 2007 02:31:31 +0200

Waskiewicz Jr, Peter P wrote:
> [...]
> Now I add a filter for ethernet (802.3), and things aren't as happy:
> 
> # tc filter add dev eth0 protocol 802_3 parent 1: prio 2 u32 match u32
> <first 4 bytes of dst mac address> 0xffffffff at 0 match u32 <last 2
> bytes of dst mac address> 0xffff0000 at 4 flowid 1:1
> 
> This should match the destination MAC address of outgoing packets, and
> put it into flowid 1:1.  For pings, using the normal priomap, they go
> into 1:2, so ping should be a good candidate for seeing if it goes into
> 1:1.  In this case, it does not filter into 1:1.

The protocol match is on skb->protocol, so it case of ethernet its
on the ethernet protocol, which is ETH_P_IP or "ip" for IPv4.