Dear list,
I have some problems with u32 classifier. I use a board based on Motorola MPC8245 processor (ppc based). I noticed that when the u32_classify function
(in /net/sched/cls_u32.c) is called, it returns an error. Making some printk-based debug I found that the critical point in the code is the following:
#if !defined(__i386__) && !defined(__mc68000__)
if ((unsigned long)ptr & 3)
return -1;
#endif
The problem is that when I have a packet to be forwarded the classification fails at this point (return -1, default class). This is not the case when the packet is generated locally. The question is: what is the meaning of this code, what happens if this check is removed in architectures other then i386 and mc68000?
Thank's in advance,
Luca Andreani.