[P4] Fwd: Re: SmartNIC - T4P4S vEPG counter issue

Sándor Laki lakis at inf.elte.hu
Wed Jul 15 15:25:28 CEST 2020




-------- Továbbított üzenet --------
Tárgy: 	Re: SmartNIC - T4P4S vEPG counter issue
Dátum: 	Wed, 15 Jul 2020 14:24:18 +0200
Feladó: 	Jonatan Langlet <jonatanlanglet at gmail.com>
Címzett: 	LAKI Sandor <lakis at inf.elte.hu>
CC: 	Andreas Kassler <andreas.kassler at kau.se>, Gergely Pongracz 
<Gergely.Pongracz at ericsson.com>



Hi Sándor,

I have updated to the latest T4P4S version, and the program can now 
compile with counters.
There are now two issues.

The first one is that the direct counter appears to be counted in each 
table?
I followed the test-smem example program, where I bind the counter to 
the vEPG_DL table, but it appears to be applied to all tables.
tapas_directCounter.png


The second issue is a bit more severe.
T4P4S is now running into segmentation fault while processing traffic. 
This happens both with and without docker

Unfortunately T4P4S refuses to work while running through gdb.
While attempting gdb it attaches to the controller, but doesn't register 
the inserted rules and never enters the main loop.
(this is with the autodbg option for t4p4s.sh)

T4P4S throws segfault during the deparser. It looks like it tries to 
emit a header which is not parsed?
segfault_nondocker.png

Do you have any advice?

If you need them, I attach the project files.
The controller is the same as before, no changes.

Thanks,
Jonatan

On Tue, Jul 14, 2020 at 11:21 AM Jonatan Langlet 
<jonatanlanglet at gmail.com <mailto:jonatanlanglet at gmail.com>> wrote:

    Hi,

    I am currently running the commit 0a9e803 from May 5th.

    There are similar errors with the test-smem profile:

        dv at intel8:~/docker_playground/tapas/docker/tapas2/t4p4s$
        ./t4p4s.sh :test-smem at test c p4 run
        [COMPILE  P4-16] ./examples/test/test-smem.p4 @std
        Exception: 'components'
        Traceback (most recent call last):
           File "src/compiler.py", line 315, in generate_code
             exec(code, localvars, localvars)
           File "<string>", line 194, in <module>
           File
        "/home/dv/docker_playground/tapas/docker/tapas2/t4p4s/src/hlir16/p4node.py",
        line 230, in __getattr__
             return self.__dict__[key]
        KeyError: 'components'
        Error during the compilation of {'to':
        './build/test-smem at std/srcgen/dataplane.c', 'from':
        'src/hardware_indep/dataplane.c.py <http://dataplane.c.py>'}
        Traceback (most recent call last):
           File "src/compiler.py", line 471, in <module>
             main()
           File "src/compiler.py", line 466, in main
             print_with_backtrace(sys.exc_info(),
        current_compilation['from'] if current_compilation else "(no
        compiled file)")
           File "src/compiler.py", line 453, in main
             generate_files()
           File "src/compiler.py", line 442, in generate_files
             generate_desugared_c(filename, os.path.join(base, filename))
           File "src/compiler.py", line 363, in generate_desugared_c
             code = generate_code(filepath, genfile, {'hlir16': hlir})
           File "src/compiler.py", line 315, in generate_code
             exec(code, localvars, localvars)
           File "<string>", line 194, in <module>
           File
        "/home/dv/docker_playground/tapas/docker/tapas2/t4p4s/src/hlir16/p4node.py",
        line 230, in __getattr__
             return self.__dict__[key]
        KeyError: 'components'

        Error: P4 to C compilation failed (error code: 1)



    Later commits appear to fix this issue, so I think updating tapas is
    the best approach if we want counters to work

    /Jonatan


    On Tue, Jul 14, 2020 at 10:42 AM Gergely Pongracz
    <Gergely.Pongracz at ericsson.com
    <mailto:Gergely.Pongracz at ericsson.com>> wrote:

        Sandor, this is the problem I was talking about.
        Jonatan, can you tell Sandor which t4p4s version you used?
        Thx!

        Gergely


        ------------------------------------------------------------------------
        *From:* Jonatan Langlet <jonatanlanglet at gmail.com
        <mailto:jonatanlanglet at gmail.com>>
        *Sent:* Monday, July 13, 2020 2:22 PM
        *To:* Gergely Pongracz <Gergely.Pongracz at ericsson.com
        <mailto:Gergely.Pongracz at ericsson.com>>
        *Cc:* Andreas Kassler <andreas.kassler at kau.se
        <mailto:andreas.kassler at kau.se>>
        *Subject:* SmartNIC - T4P4S vEPG counter issue
        Hi Gergely,

        I am currently finalizing the SmartNIC-T4P4S vEPG system in
        preparation for final measurements.

        There is one issue with the T4P4S version we built it around.
        Apparently counters and registers are broken.
        I am attempting to get the setup to work in the latest t4p4s
        version, but because of significant changes it seems to take
        more time than I was hoping for.

        Unless you think it's important to include the performance
        impact of a direct counter in the measurements, perhaps we
        should omit it and mention in paper how this is the logical
        place to include them?

        If not, my estimate is that it will take a few days to migrate
        everything to the latest T4P4S version, which should make
        counters possible.


        What do you think?

        Regards,
        Jonatan

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://plc.inf.elte.hu/pipermail/p4/attachments/20200715/52c908fa/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tapas_directCounter.png
Type: image/png
Size: 83826 bytes
Desc: not available
URL: <https://plc.inf.elte.hu/pipermail/p4/attachments/20200715/52c908fa/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: segfault_nondocker.png
Type: image/png
Size: 131329 bytes
Desc: not available
URL: <https://plc.inf.elte.hu/pipermail/p4/attachments/20200715/52c908fa/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: opts_dpdk.cfg
Type: application/octet-stream
Size: 2735 bytes
Desc: not available
URL: <https://plc.inf.elte.hu/pipermail/p4/attachments/20200715/52c908fa/attachment-0003.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: examples.cfg
Type: application/octet-stream
Size: 6736 bytes
Desc: not available
URL: <https://plc.inf.elte.hu/pipermail/p4/attachments/20200715/52c908fa/attachment-0004.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vEPG.p4
Type: application/octet-stream
Size: 21029 bytes
Desc: not available
URL: <https://plc.inf.elte.hu/pipermail/p4/attachments/20200715/52c908fa/attachment-0005.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3995 bytes
Desc: S/MIME Cryptographic Signature
URL: <https://plc.inf.elte.hu/pipermail/p4/attachments/20200715/52c908fa/attachment-0001.bin>


More information about the P4 mailing list