[Click] click-fastclassifier breaks alignment alignment

Eddie Kohler kohler at cs.ucla.edu
Fri Apr 23 10:54:55 EDT 2010


Hi Matteo,

I think there is something else going on.  Click-fastclassifier is 
designed to handle alignment correctly, but this requires that the input 
configuration has been passed through click-align.  Do you pass your 
config through click-align BEFORE passing it to click-fastclassifier?  I 
think the answer is Yes.  In that case, then, can you confirm whether 
the alignment click-align produces is correct?  Can you send your 
configuration both before & after click-align?

E


On 4/23/10 5:36 AM, rootkit85 at yahoo.it wrote:
> click-fastclassier generates code which produces _lots_ of unaligned
> accesses on MIPS platform.
> For example this code snippet:
>
> FastClassifier_a_aeth::length_unchecked_push(Packet *p)
> {
>   const unsigned *data = (const unsigned *)(p->data() - 2);
>   step_0:
>   if ((data[3]&  0xffff) != 0x800)
>     goto step_4;
> [...]
>
> is wrong even if the packet is properly aligned, as it starts reading
> double words from a pointer which address %4 != 0
> this could be easily fixed by using uint8 in the byte matching code.
> As the fastclassifier tool is quite a lot of code, do you know any
> fast way to change it in order to fix?
>
> Thanks a lot,
> Matteo Croce
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click


More information about the click mailing list