[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