<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Sziasztok!</p>
    <p>Megtaláltam a hibát. Ez az én hülyeségem volt, csak valami
      megmagyarázhatatlan oknál fogva volt olyan eset amikor működött a
      totál rossz kód.</p>
    <p>Kijavítottam és kipróbálva elvileg most már jól lekezelődik a
      hit/miss.</p>
    <p>Marci<br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 2018-05-28 13:23, Péter Vörös wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAD-BF=WmOCF2C8AbagQO=9JGACm1xzpu1=43UTrZFWdHhyCdaA@mail.gmail.com">
      <div dir="ltr">
        <div>
          <div>
            <div>
              <div>
                <div>
                  <div>
                    <div>Sziasztok,<br>
                      <br>
                    </div>
                    Az l2fwd jól működik!!!<br>
                  </div>
                  Az l3fwd-nél a hit belseje viszont még nem jó.<br>
                  <br>
                  control ingress {<br>
                         apply(macfwd) {<br>
                            hit {<br>
                                 apply(ipv4_lpm); //EZEK A TÁBLÁK NEM
                  KERÜLNEK ELŐ<br>
                                 apply(nexthops); //EZEK A TÁBLÁK NEM
                  KERÜLNEK ELŐ<br>
                            }<br>
                         }<br>
                  }<br>
                  <br>
                  <br>
                  [CORE 0@0] (  dataplane.c@547) HANDLING PACKET (port
                  0, 64 bytes) : cc cc cc cc 00 00 30 9c 23 5f 2e 4c 08
                  00 45 00 00 14 00 01 00 00 40 00 81 da c0 a8 00 65 32
                  00 06 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <br>
                  [CORE 0@0] (     parser.c@073) entering parser state
                  start...<br>
                  [CORE 0@0] (     parser.c@037) entering parser state
                  parse_ethernet...<br>
                  [CORE 0@0] (     parser.c@059) entering parser state
                  parse_ipv4...<br>
                  [CORE 0@0] (     parser.c@080) entering parser state
                  accept...<br>
                  [CORE 0@0] (  dataplane.c@534) Parsed packet<br>
                  [CORE 0@0] (  dataplane.c@537)  :::: Header ethernet
                  (14 bytes): cc cc cc cc 00 00 30 9c 23 5f 2e 4c 08 00
                  <br>
                  [CORE 0@0] (  dataplane.c@537)  :::: Header     ipv4
                  (20 bytes): 45 00 00 14 00 01 00 00 40 00 81 da c0 a8
                  00 65 32 00 06 02 <br>
                  [CORE 0@0] (  dataplane.c@387) entering control
                  verifyChecksum...<br>
                  [CORE 0@0] (  dataplane.c@396) entering control
                  ingress...<br>
                  [CORE 0@0] (  dataplane.c@078)   :::: EXECUTING TABLE
                  macfwd<br>
                  [CORE 0@0] (  dataplane.c@089)     :: EXECUTING ACTION
                  _nop_0... #### EZ ITT MÉG JÓ<br>
                  [CORE 0@0] (  dataplane.c@144)   :::: EXECUTING TABLE
                  tbl_act        #### ITT KELLENE HOGY LEGYEN A HIT RÉSZ<br>
                  [CORE 0@0] (  dataplane.c@153)     :: EXECUTING ACTION
                  act...<br>
                  [CORE 0@0] (  dataplane.c@429) entering control
                  egress...<br>
                  [CORE 0@0] (  dataplane.c@438) entering control
                  computeChecksum...<br>
                  [CORE 0@0] (  dataplane.c@447) entering control
                  DeparserImpl...<br>
                  [CORE 0@0] (  dataplane.c@525)  :::: Reordering emit<br>
                  [CORE 0@0] (  dataplane.c@483)    :: Preparing 3
                  header instances for storage...<br>
                  [CORE 0@0] (  dataplane.c@492)     : Storing  14 bytes
                  (ethernet)  : cc cc cc cc 00 00 30 9c 23 5f 2e 4c 08
                  00 <br>
                  [CORE 0@0] (  dataplane.c@489)     : Skipping header  
                  (     arp)  : (invalid header)<br>
                  [CORE 0@0] (  dataplane.c@492)     : Storing  20 bytes
                  (    ipv4)  : 45 00 00 14 00 01 00 00 40 00 81 da c0
                  a8 00 65 32 00 06 02 <br>
                  [CORE 0@0] (  dataplane.c@497)    :: Stored   34
                  bytes             : cc cc cc cc 00 00 30 9c 23 5f 2e
                  4c 08 00 45 00 00 14 00 01 00 00 40 00 81 da c0 a8 00
                  65 32 00 06 02 <br>
                  [CORE 0@0] (  dataplane.c@514)    :: To emit 34 bytes
                  (no resize)<br>
                  [CORE 0@0] (  dataplane.c@519)    :: Packet:  34 bytes
                  from storage : cc cc cc cc 00 00 30 9c 23 5f 2e 4c 08
                  00 45 00 00 14 00 01 00 00 40 00 81 da c0 a8 00 65 32
                  00 06 02 <br>
                  [CORE 0@0] (  main_loop.c@323)   :::: EGRESSING<br>
                  [CORE 0@0] (  main_loop.c@331)     :: sending packet
                  on port 0 (lcore 0)<br>
                  <br>
                </div>
                Így lehet futtatni:<br>
              </div>
              dpdk-switch:<br>
            </div>
            P4_GCC_OPTS="-DP4DPDK_DEBUG" ./t4p4s.sh launch ctrl
            dpdk_l3fwd_controller ctrcfg examples/l3fwd_table.txt
            examples/l3fwd-wo-chksm.p4<br>
          </div>
          pktgen:<br>
        </div>
        a run_pktgen-ben át kell írni a pcap foldert.<br>
        PCAP_FOLDER=/home/jenkins/t4p4s/examples/l3fwd_traffic.pcap<br>
        <div>
          <div><br>
          </div>
          <div>Üdv,<br>
          </div>
          <div>Peti<br>
          </div>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">2018. május 27. 13:25 Brunner Márton
          írta, <span dir="ltr"><<a
              href="mailto:brmarci@caesar.elte.hu" target="_blank"
              moz-do-not-send="true">brmarci@caesar.elte.hu</a>></span>:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div text="#000000" bgcolor="#FFFFFF">
              <p>Sziasztok!</p>
              <p><b>A field_standard_metadata_t_<wbr>checksum_error
                  hibáról:</b></p>
              <p>Ennek elvileg a $P4C/build/p4include/v1model.<wbr>p4
                fájlban szereplő struct standard_metadata_t definíció
                checksum_error mezőjéből automatikusan kellene
                generálódnia. Robi meg tudnád nézni, hogy nálad ez a
                fájl tartalmazza-e a field-et? (Kis furcsaság ehhez
                kapcsolódóan, hogy az @alias annotációval ellátott 
                mezők nem generálódnak nálunk le. Erre tud esetleg
                valaki valami magyarázatot?)</p>
              <p><b>examples.cfg és <a href="http://dpdk_backend.mk"
                    target="_blank" moz-do-not-send="true">dpdk_backend.mk</a>
                  hibák:</b></p>
              <p>Két további apróbb hibát találtam. Az examples.cfg
                legutóbbi felcommitolt változatában az l2fwd-hoz
                kapcsoló sorban no-nic opció szerepelt (gondolom ez nem
                volt szándékos, úgyhogy ezt visszaírtam dpdk_default-os
                változatra). Valamint amikor a <a
                  href="http://dpdk_backend.mk" target="_blank"
                  moz-do-not-send="true">dpdk_backend.mk</a> fájl végére
                írjuk az opcionális include-okat, akkor a régi makefájlt
                használjuk, így újra és újra bekerülnek az includok,
                amik fordítási hibához vezettek. Egyelőre azzal
                orvosoltam, hogy minden fordításkor kitöröljük a <a
                  href="http://dpdk_backend.mk" target="_blank"
                  moz-do-not-send="true">dpdk_backend.mk</a> fájlt, de
                ennél biztosan lehetne szebben is.</p>
              <p><b>Esetlegesen más branchen javított hibák:</b><br>
              </p>
              <p>A benti gépen (a p4 user home-ban) levő t4p4s-16
                lokális változtatásai alapján úgy látom, hogy van egy
                pár hiba, ami úgy rémlik máshol már javítva lett, de itt
                szerintem csak a Sanyi javította őket ideiglenesen a
                múltkori teszteléskor. Az egyik egyik az volt, hogy a
                reset_headers meghívása azután történik, hogy a bejövő
                portot már beállítottuk és így az rögtön kinullázódik. A
                másik meg mintha valami port mérethez kapcsolódna (1
                bájtosként van commit-olva, 2 bájtosra van javítva).
                (Ezt csak azért írom le, mert ezeket érdemes lenne itt
                is javítani, illetve a további tesztelés folyamán
                figyelembe venni.)</p>
              <p><b>Ezek után én sikeresen futtattam az l2fwd példát a
                  benti gépen.</b></p>
              <p>Arról fogalmam sincs, hogy pontosan mi történik,
                helyes-e a feldolgozás/kiküldés, mert ehhez kéne még egy
                tutoriál, hogy pontosan mit kéne figyelni az adatok
                közül. De a t4p4s-16 fordul, fut és nem száll el. Nálam
                van smac és dmac tábla is, látszódik, hogy mindkettőbe
                bekerülnek bejegyzések. Amikor elindítom a packet
                generation-t is, látszik, hogy jönnek a csomagok (azt
                már nem tudom eldönteni, hogy mit csinál velük
                pontosan). De nem kapok semmi segfault-ot vagy ilyesmit.</p>
              <br>
              <p>Marci<br>
              </p>
              <div>
                <div class="h5"> <br>
                  <div class="m_-2656047098212589758moz-cite-prefix">On
                    2018-05-25 12:50, Péter Vörös wrote:<br>
                  </div>
                  <blockquote type="cite">
                    <div dir="ltr">
                      <div>
                        <div>Szia,<br>
                          <br>
                          A field_standard_metadata_t_chec<wbr>ksum_error
                          hiba nálam előjött, de a komment megoldotta.<br>
                          <br>
                        </div>
                        Futtattam most az újjal is, de nemúgy tűnik hogy
                        létrejön a dmac tábla, created table logja
                        például egyáltalán nincs. Később pedig ezt írja
                        ha fel akarjuk tölteni ([NO-CORE] Table
                        setdefault: table name mismatch (dmac), expected
                        one of (smac).) Full log ismét alul.<br>
                      </div>
                      A config tényleg nem volt rossz, csak a programot
                      a ${DPDK_OPTS}-szal nem a ${DPDK_OPTS_TEXT}-tel
                      akarta elindítani, ennyi volt csak a baj.<br>
                      <br>
                      A mostani config generálásnál viszont a sok
                      kötőjel szerintem picit bekavar. Így ugyanis nem
                      indul el a program.<br>
                      sudo -E ./build/l2fwd/build/l2fwd  - - - -c 0x3 -n
                      1 -- -p 0x3 --config "\"(0,0,0),(1,0,1)\"" - - -
                      -c 0x3 -n 1 -- -p 0x3 --config
                      "\"(0,0,0),(1,0,1)\""<br>
                      <br>
                      DPDK options  : v1model dpdk_default  l2fwd  
                      2cores 2x1ports<br>
                      DPDK params   :  - - - -c 0x3 -n 1 -- -p 0x3
                      --config "\"(0,0,0),(1,0,1)\"" - - - -c 0x3 -n 1
                      -- -p 0x3 --config "\"(0,0,0),(1,0,1)\""<br>
                      <br>
                      <div><br>
                      </div>
                      <div>Kézzel javítva erre: sudo -E
                        ./build/l2fwd/build/l2fwd  -c 0x3 -n 1 -- -p 0x3
                        --config "\"(0,0,0),(1,0,1)\"" -- -p 0x3
                        --config "\"(0,0,0),(1,0,1)\"" már fut.<br>
                        <br>
                      </div>
                      <div>Üdv,<br>
                      </div>
                      <div>Peti<br>
                      </div>
                      <div>
                        <div><br>
                          [CORE 0@0] (   dpdk_lib.c@581) Initializing
                          stateful memories...<br>
                          [CORE 0@0] (   dpdk_lib.c@481) Initializing
                          tables on socket 0...<br>
                          [CORE 0@0] (   dpdk_lib.c@485) Creating
                          instances for table smac on socket 0 (2
                          copies)<br>
                          [CORE 0@0] (   dpdk_lib.c@474) Created table
                          smac on socket 0.<br>
                          [CORE 0@0] (   dpdk_lib.c@474) Created table
                          smac on socket 0.<br>
                          [CORE 0@0] (   dpdk_lib.c@510) Initializing
                          counters on socket 0...<br>
                          [CORE 0@0] (   dpdk_lib.c@533) Initializing
                          registers...<br>
                          [CORE 0@0] (   dpdk_lib.c@603) Configuring
                          lcore structs...<br>
                          [CORE 0@0] (controlplane.c@096) Creating
                          control plane connection...<br>
                          [CTRL]  :::: SET_DEFAULT_ACTION<br>
                          [CTRL]    :: rval=0<br>
                          [NO-CORE] MSG from controller 103 smac<br>
                          [NO-CORE] Action name: mac_learn<br>
                          [NO-CORE] Message from the control plane
                          arrived.<br>
                          [NO-CORE] Set default action for smac with
                          action mac_learn<br>
                          [NO-CORE] Default value set for table smac (on
                          socket 0).<br>
                          [NO-CORE] Default value set for table smac (on
                          socket 0).<br>
                          [CTRL] Handle msg: 0<br>
                          [CTRL]  :::: SET_DEFAULT_ACTION<br>
                          [CTRL]    :: rval=0<br>
                          [NO-CORE] MSG from controller 103 dmac<br>
                          [NO-CORE] Table setdefault: table name
                          mismatch (dmac), expected one of (smac).<br>
                          [CTRL] Handle msg: 0<br>
                          [CTRL]  :::: ADD_TABLE_ENTRY<br>
                          [CTRL]    :: rval=0<br>
                          [NO-CORE] MSG from controller 104 dmac<br>
                          [NO-CORE] Table add entry: table name mismatch
                          (dmac), expected one of (smac).<br>
                          [CTRL] Handle msg: 0<br>
                          [CTRL]  :::: ADD_TABLE_ENTRY<br>
                          [CTRL]    :: rval=0<br>
                          [NO-CORE] MSG from controller 104 smac<br>
                          [NO-CORE] Reply from the control plane
                          arrived.<br>
                          [NO-CORE] Adding new entry to smac with action
                          _nop_0<br>
                          [NO-CORE] EXACT: Added key:
                          aa:cc:dd:cc:00:01             <wbr>                  
                          0 (0x7fd484000900)<br>
                          [NO-CORE] EXACT: Added key:
                          aa:cc:dd:cc:00:01             <wbr>                  
                          0 (0x7fd484000920)<br>
                          [CTRL] Handle msg: 0<br>
                          [CTRL]  :::: ADD_TABLE_ENTRY<br>
                          [CTRL]    :: rval=0<br>
                          [NO-CORE] MSG from controller 104 dmac<br>
                          [NO-CORE] Table add entry: table name mismatch
                          (dmac), expected one of (smac).<br>
                          <br>
                        </div>
                      </div>
                    </div>
                    <div class="gmail_extra"><br>
                      <div class="gmail_quote">2018. május 25. 12:31
                        Kitlei Róbert írta, <span dir="ltr"><<a
                            href="mailto:kitlei@elte.hu" target="_blank"
                            moz-do-not-send="true">kitlei@elte.hu</a>></span>:<br>
                        <blockquote class="gmail_quote" style="margin:0
                          0 0 .8ex;border-left:1px #ccc
                          solid;padding-left:1ex">
                          <div text="#000000" bgcolor="#FFFFFF">
                            <p><br>
                            </p>
                            Sziasztok,<br>
                            <br>
                            <br>
                            <blockquote type="cite"><span>
                                <div>[NO-CORE] Table add entry: table
                                  name mismatch (dmac).<br>
                                </div>
                              </span> Nincs dmac nevű táblánk?</blockquote>
                            <br>
                            Futtasd a legújabb committal, kiírja majd,
                            hogy szerinte milyen táblák érhetőek el.<span><br>
                              <br>
                              <blockquote type="cite">
                                <div dir="ltr">
                                  <div>
                                    <div>
                                      <div>1. dolog amibe belefutottam:
                                        a t4p4s nem jól oldja fel az
                                        examples.cfg-ben a
                                        dpdk_paramétereket.<br>
                                      </div>
                                    </div>
                                  </div>
                                </div>
                              </blockquote>
                              <br>
                            </span> Épp most frissítettem a konfig
                            szerkezetét és felolvasását.<span><br>
                              <br>
                              <blockquote type="cite">
                                <div dir="ltr">
                                  <div>
                                    <div>
                                      <div>
                                        <div>Futtatásnál látszik is.<br>
                                            - DPDK options  :
                                          2cores,2x1ports<br>
                                            - DPDK params   :  -c 0x3 -n
                                          1 -- -p 0x3 --config
                                          "\"(0,0,0),(1,0,1)\""<br>
                                        </div>
                                      </div>
                                    </div>
                                  </div>
                                </div>
                              </blockquote>
                              <br>
                            </span> A t4p4s.sh itt jó adatokat vesz fel
                            a dpdk_parameters.cfg-ből, ezek a
                            paraméterek felelnek meg a 2cores,2x1ports
                            opcióknak. (Az új változatban szóközzel
                            lesznek elválasztva.) Nem ezeknek kellene
                            jönniük?<span><br>
                              <br>
                              <blockquote type="cite">
                                <div class="gmail_extra">
                                  <div class="gmail_quote">
                                    <blockquote class="gmail_quote"
                                      style="margin:0 0 0
                                      .8ex;border-left:1px #ccc
                                      solid;padding-left:1ex">
                                      <div text="#000000"
                                        bgcolor="#FFFFFF">
                                        <p>A kód azért nem megy, mert
                                          gondolom a Robi nem v1model-es
                                          kódot fordított, viszont a
                                          v1model-es externeket
                                          tartalmazó fájl is be volt
                                          include-olva. Mivel ott
                                          hivatkozunk olyan elemre, ami
                                          csak v1model-es p4 fájl esetén
                                          generálódik le, így ez hibához
                                          vezetett. </p>
                                      </div>
                                    </blockquote>
                                  </div>
                                </div>
                              </blockquote>
                              <br>
                            </span> Megnéztem, mindegyik példánk
                            v1model-es. Nálam mégsem generálódik a
                            field_standard_metadata_t_chec<wbr>ksum_error,
                            amit annyira hiányol a rendszer, nálad igen?<span><br>
                              <br>
                              <blockquote type="cite">
                                <div class="gmail_extra">
                                  <div class="gmail_quote">
                                    <blockquote class="gmail_quote"
                                      style="margin:0 0 0
                                      .8ex;border-left:1px #ccc
                                      solid;padding-left:1ex">
                                      <div text="#000000"
                                        bgcolor="#FFFFFF">
                                        <p>Viszont az emiatt bevezetett
                                          int abban az esetben okoz
                                          hibát, ha v1model-es példát
                                          fordítanánk. Én a megoldást
                                          abban látom (és ez már
                                          többször is felmerült), hogy
                                          nem kéne minden extern
                                          deklarációkat tartalmazó fájlt
                                          include-olni, csak az
                                          aktuálisan használt
                                          architektúrának megfelelőt.
                                          (Workaroundként elegendő a
                                          src/hardware_dep/dpdk/data_pla<wbr>ne/dpdk_v1model_extern.c
                                          fájlban kicommentezni a
                                          checksum_error-os int-et.)<br>
                                        </p>
                                      </div>
                                    </blockquote>
                                  </div>
                                </div>
                              </blockquote>
                              <br>
                            </span> Így van, a hack-et nem is akartam
                            feltölteni, de saját akarata van. :)<br>
                            Mostanra lett elég okos a konfigurációk
                            kiválasztása.<br>
                            <br>
                            <blockquote type="cite">
                              <div class="gmail_extra">
                                <div class="gmail_quote">
                                  <blockquote class="gmail_quote"
                                    style="margin:0 0 0
                                    .8ex;border-left:1px #ccc
                                    solid;padding-left:1ex">
                                    <div text="#000000"
                                      bgcolor="#FFFFFF">
                                      <p> </p>
                                      <div
class="m_-2656047098212589758m_-4473156891489526950m_-8485115735240349856moz-forward-container">
                                        <p>... A másik felében ezek
                                          között jön egy "PANIC in
                                          rte_free():", majd "Fatal
                                          error: Invalid memory", ami
                                          aztán valami szép
                                          hibaüzenettel elszáll:</p>
                                      </div>
                                    </div>
                                  </blockquote>
                                </div>
                              </div>
                            </blockquote>
                            <br>
                            Ilyen néha nálam is jelentkezik, még nem
                            tudom, miért. Az érdekes, hogy egy
                            setdefault kellős közepén történik...<br>
                            <br>
                            Robi<br>
                            <br>
                          </div>
                          <br>
                          ______________________________<wbr>_________________<br>
                          P4 mailing list<br>
                          <a href="mailto:P4@plc.inf.elte.hu"
                            target="_blank" moz-do-not-send="true">P4@plc.inf.elte.hu</a><br>
                          <a
                            href="https://plc.inf.elte.hu/mailman/listinfo/p4"
                            rel="noreferrer" target="_blank"
                            moz-do-not-send="true">https://plc.inf.elte.hu/mailma<wbr>n/listinfo/p4</a><br>
                          <br>
                        </blockquote>
                      </div>
                      <br>
                    </div>
                    <br>
                    <fieldset
                      class="m_-2656047098212589758mimeAttachmentHeader"></fieldset>
                    <br>
                    <pre>______________________________<wbr>_________________
P4 mailing list
<a class="m_-2656047098212589758moz-txt-link-abbreviated" href="mailto:P4@plc.inf.elte.hu" target="_blank" moz-do-not-send="true">P4@plc.inf.elte.hu</a>
<a class="m_-2656047098212589758moz-txt-link-freetext" href="https://plc.inf.elte.hu/mailman/listinfo/p4" target="_blank" moz-do-not-send="true">https://plc.inf.elte.hu/<wbr>mailman/listinfo/p4</a>
</pre>
                  </blockquote>
                  <br>
                </div>
              </div>
            </div>
            <br>
            ______________________________<wbr>_________________<br>
            P4 mailing list<br>
            <a href="mailto:P4@plc.inf.elte.hu" moz-do-not-send="true">P4@plc.inf.elte.hu</a><br>
            <a href="https://plc.inf.elte.hu/mailman/listinfo/p4"
              rel="noreferrer" target="_blank" moz-do-not-send="true">https://plc.inf.elte.hu/<wbr>mailman/listinfo/p4</a><br>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>