<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">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">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">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">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><b></b>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">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">P4@plc.inf.elte.hu</a><br>
            <a href="https://plc.inf.elte.hu/mailman/listinfo/p4" rel="noreferrer" target="_blank">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">P4@plc.inf.elte.hu</a>
<a class="m_-2656047098212589758moz-txt-link-freetext" href="https://plc.inf.elte.hu/mailman/listinfo/p4" target="_blank">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">P4@plc.inf.elte.hu</a><br>
<a href="https://plc.inf.elte.hu/mailman/listinfo/p4" rel="noreferrer" target="_blank">https://plc.inf.elte.hu/<wbr>mailman/listinfo/p4</a><br>
<br></blockquote></div><br></div>