[P4] Byte ordering

Tejfel Máté matej at caesar.elte.hu
Wed Nov 14 11:50:46 CET 2018


Sziasztok!

   Amire eddig jutottunk byte forgatás témában:

     -     a codegen.sugar.py file-an a 219-es sorban a <32-t jó 
eséllyel <=-re kell cserélni

             de ez csal LittleEndian-on jó

    -    a dataplane.c.py 100-105 sor is csak LittleEndian-ban jó

    - ezeket a beégetett byte sorrendeket jó lenne átnézni...

                    M.


2018. 11. 07. 18:06 keltezéssel, Sándor Laki írta:
> Hi,
>
> Amennyire látom a kulcsok esetén egyedül az lpm-nél alkalmazunk 
> bájtsorrend cserét (_apply) és ez is a generált kódban van nem túl 
> szépen megvalósítva. A régi controllertől is BE-ben jön az ip és az 
> entry beszúrás során a generált kódban történik meg a LE konverzió. Ez 
> is hasonlóan csúnya módon (CAVIUMnál ez probléma lehet).
>
> Az action paraméterek esetén a helyzet az, hogy
>
> 1. néha MODIFY_BYTEBUF_BYTEBUF_PACKET módosítja a fieldet, amiben 
> nincs bytesorrend csere.
>
> 2. néha pedig a set_field, amikor dst_width < 32 (BTW itt nem <=32 
> kellene???). A set_field lényegében egy MODIFY_INT32_INT32_AUTO hívás, 
> ami meta mezők esetén nem csinál bájtsorrend konverziót, míg a többire 
> csinál.
>
> Ezt majd érdemes lenne átgondolni, hogy nem lenne-e érdemesebb minden 
> action paramétert is BE-ben tartani addig, amíg nem kell műveletet 
> végezni vele, stb...
>
> Üdv.
> S
>


More information about the P4 mailing list