<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Sziasztok,</p>
    <p>@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.</p>
    <p>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.</p>
    <p>Itt szerepel olyan P4 kód, ami elvileg jól leírja a TCP checksum
      számítást: <a
href="https://github.com/p4lang/p4c-bm/blob/master/tests/p4_programs/tcp_checksum.p4">https://github.com/p4lang/p4c-bm/blob/master/tests/p4_programs/tcp_checksum.p4</a><br>
    </p>
    Marci<br>
    <br>
    <div class="moz-cite-prefix">On 2016-09-13 07:46, Leskó Dániel
      wrote:<br>
    </div>
    <blockquote cite="mid:a1d02d20-349b-e959-c61a-0f3a742824d3@elte.hu"
      type="cite">Szia! <br>
      <br>
       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. <br>
      <br>
       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. <br>
       É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. <br>
      <br>
       Dani <br>
      <br>
      2016.09.13. 0:16 keltezéssel, Brunner Márton írta: <br>
      <blockquote type="cite">Sziasztok, <br>
        <br>
        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. <br>
        <br>
        Próbálom a verificationt megvalósítani, ha esetleg kellene másik
        checksum típus támogatása is, akkor szóljatok. <br>
        <br>
        Marci <br>
        <br>
        _______________________________________________ <br>
        P4 mailing list <br>
        <a class="moz-txt-link-abbreviated"
          href="mailto:P4@plc.inf.elte.hu">P4@plc.inf.elte.hu</a> <br>
        <a class="moz-txt-link-freetext"
          href="https://plc.inf.elte.hu/mailman/listinfo/p4">https://plc.inf.elte.hu/mailman/listinfo/p4</a>
        <br>
      </blockquote>
      <br>
      <br>
      _______________________________________________ <br>
      P4 mailing list <br>
      <a class="moz-txt-link-abbreviated"
        href="mailto:P4@plc.inf.elte.hu">P4@plc.inf.elte.hu</a> <br>
      <a class="moz-txt-link-freetext"
        href="https://plc.inf.elte.hu/mailman/listinfo/p4">https://plc.inf.elte.hu/mailman/listinfo/p4</a>
      <br>
    </blockquote>
    <br>
  </body>
</html>