--- linux.orig/net/sched/cls_u32.c 2004-10-19 00:53:45.000000000 +0300 +++ linux/net/sched/cls_u32.c 2004-11-05 12:14:31.000000000 +0200 @@ -27,6 +27,7 @@ * JHS: We should remove the CONFIG_NET_CLS_IND from here * eventually when the meta match extension is made available * + * nfmark match added by Catalin(ux aka Dino) BOIE */ #include @@ -139,6 +140,11 @@ next_knode: n->pf->rcnt +=1; j = 0; #endif + if ((n->sel.mark > 0) && (n->sel.mark != skb->nfmark)) { + n = n->next; + goto next_knode; + } + for (i = n->sel.nkeys; i>0; i--, key++) { if ((*(u32*)(ptr+key->off+(off2&key->offmask))^key->val)&key->mask) { --- linux.orig/include/linux/pkt_cls.h 2004-10-19 00:53:07.000000000 +0300 +++ linux/include/linux/pkt_cls.h 2004-11-05 11:00:27.000000000 +0200 @@ -208,6 +208,7 @@ struct tc_u32_sel unsigned char flags; unsigned char offshift; unsigned char nkeys; + u32 mark; __u16 offmask; __u16 off;