[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