[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