Hello,

After another look with gdb the problem is actually fairly obvious.

In examples_zc/zutils.c, function max_packet_len:
 - ring is opened (but never enabled)
 - after getting card settings, the ring is closed

This leads into segfault because looking at Myricom module, ring enable initializes most variables in myricom struct (in ring->priv_data). Ultimately this leads into snf_ring_close, snf_close, snf_inject_close calls with null pointer parameter. Checking for those nulls before passing them fixes the issue for me.

I created a gist of the fix I made: https://gist.github.com/anonymous/559ed44fab935bafa72c

BR, Antti

On 2015-12-02 01:00, Alfredo Cardigliano wrote:
Hi Antti
Myricom already works in 1-copy mode with ZC, are you able to provide some 
trace with some more info in order to figure out what’s happening?

Thank you
Alfredo

On 01 Dec 2015, at 18:16, Antti Tönkyrä <[email protected]> wrote:

Hello,

I am testing an older generation Myricom card which only supports up to SNFv3. 
I was able to get the v3 API working with PF_RING without any problem for 
non-ZC utilities. Only thing I ran into is that ZC functionality seems to be 
very limited, for example if I open device myri0 with zcount I get segmentation 
fault (SEGV_MAPERR). Maybe this is due to the API differences?

Normal pfcount tool works without any trouble but I would like to use 
functionality that is used in zbalance_ipc example tool to fan-out a packet in 
ZC. Is there any method to force the ZC tools into 1-copy mode?

BR, Antti
_______________________________________________
Ntop-misc mailing list
[email protected]
http://listgateway.unipi.it/mailman/listinfo/ntop-misc
_______________________________________________
Ntop-misc mailing list
[email protected]
http://listgateway.unipi.it/mailman/listinfo/ntop-misc

_______________________________________________
Ntop-misc mailing list
[email protected]
http://listgateway.unipi.it/mailman/listinfo/ntop-misc

Reply via email to