diff -ur linux-2.6.33.2.orig/include/linux/filter.h linux-2.6.33.2/include/linux/filter.h --- linux-2.6.33.2.orig/include/linux/filter.h 2010-04-02 00:02:33.000000000 +0100 +++ linux-2.6.33.2/include/linux/filter.h 2010-04-20 22:40:25.000000000 +0100 @@ -123,7 +123,8 @@ #define SKF_AD_NLATTR_NEST 16 #define SKF_AD_MARK 20 #define SKF_AD_QUEUE 24 -#define SKF_AD_MAX 28 +#define SKF_AD_HATYPE 28 +#define SKF_AD_MAX 32 #define SKF_NET_OFF (-0x100000) #define SKF_LL_OFF (-0x200000) diff -ur linux-2.6.33.2.orig/net/core/filter.c linux-2.6.33.2/net/core/filter.c --- linux-2.6.33.2.orig/net/core/filter.c 2010-04-02 00:02:33.000000000 +0100 +++ linux-2.6.33.2/net/core/filter.c 2010-04-20 22:41:01.000000000 +0100 @@ -309,6 +309,9 @@ case SKF_AD_QUEUE: A = skb->queue_mapping; continue; + case SKF_AD_HATYPE: + A = skb->dev->type; + continue; case SKF_AD_NLATTR: { struct nlattr *nla;