Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-dev: [Wireshark-dev] Questions about wireshark plugins for Lustre and Lnet

From: "Laurent GEORGE (Stagiaire S. THIELL)" <george@xxxxxxxxxxx>
Date: Thu, 04 Sep 2008 16:56:08 +0200
Hello,

I am working on two plugins : the first for Lnet and the second for
Lustre 1.6.5.1 (www.lustre.org). Just to be clear, this mail is not a submission
request (for now).

The stack of Lustre and Lnet is :
----------
| LUSTRE |
----------
| LNET   |
----------
| TCP    |
----------

Other native network types are supported by LNET, like Infiniband (OFED),
Quadrics (Elan3, Elan4) or Myricom, etc. However, this plugin is for TCP only.

It is my first wireshark-plugin, and I think that I have done some mistakes, so
could you please read the code and tell me if I'm going wrong.

I have questions(problems) too :

1 ) About flow graph : I use dissector_add(..) to add lustre above Lnet, but I
get some problem when I try to use flow graph :

The flow graph still shows only Lnet information (no Lustre info), and I have a similar problem when I switch to black and white after being in color mode : I lost
Lustre information (however, a refresh works in this case).


2 ) About conversation : I like the key CTRL-1, CTRL-2... To color tcp
conversation, how can I do that with Lnet conversation.

Lnet uses a field to identify a conversation : a 64 bits field : match_bits , so
I wrote a function : get_Lnet_conv() to find a tcp_conversation and add
the different information about this Lnet conversation in a hash table (like
packet-afs.c), but I can't find to get something similar to tcp color
conversation.
I have check the code in packet-jxta.c too, but I didn't find what I want.

3 ) About flags, I didn't find a good way to process the flag field (64 bytes flag
field), so I made a loop to add all flags and use TFS() per flag.
Is there a better way to process flags ?

Thanks in advance.


packet-lnet.c   : http://public.telecom-bretagne.eu/~lgeorge/packet-lnet.c
packet-lustre.c : http://public.telecom-bretagne.eu/~lgeorge/packet-lustre.c

--
Laurent George