[P4] P4 Checksums

Brunner Márton brmarci at caesar.elte.hu
Thu Sep 15 16:07:32 CEST 2016


Sziasztok,

@LDani: A specifikáció szerint az ellenőrzésnek a parse-olás után 
automatikusan meg kell történnie. (Amennyiben az ellenőrzés sikertelen, 
úgy "p4_pe_checksum" kivétel váltódik ki.) A valid-ság eldöntése elvileg 
egy ettől független dolog.

Viszont a TCP-s checksum-al probléma lesz, mert több olyan dologra is 
szükség van hozzá amit még nem támogatunk. (Szükséges a konstans érték 
is és a PAYLOAD element is a field_list-en belül.) Remélem, hogy 
hétvégén be tudom fejezni.

Itt szerepel olyan P4 kód, ami elvileg jól leírja a TCP checksum 
számítást: 
https://github.com/p4lang/p4c-bm/blob/master/tests/p4_programs/tcp_checksum.p4

Marci

On 2016-09-13 07:46, Leskó Dániel wrote:
> Szia!
>
>  Az ellenőrzés szerintem nem kell, hogy automatikusan történjen, csak 
> ha a beépített valid actiont hívjuk meg. Ez jelenleg csak az 
> vizsgálja, hogy a header pointer fieldje NULL-e.
>
>  A NAT-os példához tartozó no_nic-es fájlban lévő fake csomagok 
> esetében szinte biztos, hogy hibát kell adnia a valid kérdésnek, mert 
> ip címet, port-ot módosítgaunk, de a checksum beégetett konstant 
> jelenleg.
>  Én nem néztem utána, hogy a csum16 kell-e nekünk, de egy példában ezt 
> láttam, ezért ezt írtam a kódba. Ezt Sanyi tudhatja, vagy utána kell 
> olvasni.
>
>  Dani
>
> 2016.09.13. 0:16 keltezéssel, Brunner Márton írta:
>> Sziasztok,
>>
>> Haladtam a checksum-ok kezelésének megvalósításával. Jelenleg 
>> 'csum16' típusú checksum-ot tudunk előállítani, amit az IPv4 és a TCP 
>> is használ. A számított mező frissítése (update) kiküldés előtt meg 
>> is történik automatikusan, de az ellenőrzés (verify) még nincs kész. 
>> (Még keresem, hogy pontosan hova tudnám beilleszteni az ellenőrző 
>> hívást és, hogy mit kell tenni abban az esetben, ha helytelen a 
>> checksum.) A P4 szerint a field_list-ek tartalmazhatnak a p4_field-en 
>> kívül konstans értékeket és PAYLOAD elemet is, ezeket jelenleg nem 
>> támogatjuk. Az IPv4-es checksum-on ki tudtam próbálni a kódot, az 
>> elvileg helyesen működik, de a NAT-os példában szereplő TCP 
>> checksum-ot még nem teszteltem le.
>>
>> Próbálom a verificationt megvalósítani, ha esetleg kellene másik 
>> checksum típus támogatása is, akkor szóljatok.
>>
>> Marci
>>
>> _______________________________________________
>> P4 mailing list
>> P4 at plc.inf.elte.hu
>> https://plc.inf.elte.hu/mailman/listinfo/p4
>
>
> _______________________________________________
> P4 mailing list
> P4 at plc.inf.elte.hu
> https://plc.inf.elte.hu/mailman/listinfo/p4

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://plc.inf.elte.hu/pipermail/p4/attachments/20160915/ee1bc556/attachment.html>


More information about the P4 mailing list