[lustre] Initial Lustre support

This interperates the main body of Lustre traffic.
This dissects all current Lustre OPCODES (as of Lustre 2.10.2)
This dissects MDS REINT sub-opcodes
This dissects LDLM Intent opcodes
This dissects LLOG EADATA

Conversation matching is just IP based and not IP/port based.
Only one lustre "instance" can be running on a given host at a given time,
and request / reply pairs aren't don't always match by port numbers.

Add exception for lustre_* structure names in PROTOABBREV.
We have several lustre.lustre_* because the internal lustre structre is
named lustre_ (i.e. lustre_handle or lustre_msg_v2)

This is still a work in progress, as there are missing FLAG values
and some LLOG EADATA structures that aren't fully decoded.

Change-Id: If57085e2692565336e49f40fb475ca1035da7a35
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-on: https://code.wireshark.org/review/24800
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
Nathaniel Clark 2017-12-19 13:06:46 -05:00 committed by Anders Broman
parent 7c56f4776b
commit 958374f352
5 changed files with 8082 additions and 0 deletions

View File

@ -85,6 +85,7 @@ ISOBUS
LoRaTap LoRaTap
LoRaWAN LoRaWAN
Lustre Network Lustre Network
Lustre Filesystem
Network Functional Application Platform Interface (NFAPI) Protocol Network Functional Application Platform Interface (NFAPI) Protocol
NXP 802.15.4 Sniffer Protocol NXP 802.15.4 Sniffer Protocol
PFCP (Packet Forwarding Control Protocol) PFCP (Packet Forwarding Control Protocol)

View File

@ -1268,6 +1268,7 @@ set(DISSECTOR_SRC
${CMAKE_CURRENT_SOURCE_DIR}/packet-lsc.c ${CMAKE_CURRENT_SOURCE_DIR}/packet-lsc.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-lsd.c ${CMAKE_CURRENT_SOURCE_DIR}/packet-lsd.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-ltp.c ${CMAKE_CURRENT_SOURCE_DIR}/packet-ltp.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-lustre.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-lwapp.c ${CMAKE_CURRENT_SOURCE_DIR}/packet-lwapp.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-lwm.c ${CMAKE_CURRENT_SOURCE_DIR}/packet-lwm.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-lwm2mtlv.c ${CMAKE_CURRENT_SOURCE_DIR}/packet-lwm2mtlv.c

View File

@ -891,6 +891,7 @@ DISSECTOR_SRC = \
packet-lsc.c \ packet-lsc.c \
packet-lsd.c \ packet-lsd.c \
packet-ltp.c \ packet-ltp.c \
packet-lustre.c \
packet-lwapp.c \ packet-lwapp.c \
packet-lwm.c \ packet-lwm.c \
packet-lwm2mtlv.c \ packet-lwm2mtlv.c \

File diff suppressed because it is too large Load Diff

View File

@ -348,6 +348,7 @@ sub is_proto_dup_whitelist {
if (($_[0] eq "fcs") && (index($_[1], "fcsmask") >= 0)) {return 1;} if (($_[0] eq "fcs") && (index($_[1], "fcsmask") >= 0)) {return 1;}
if (($_[0] eq "fmp") && (index($_[1], "fmp") >= 0)) {return 1;} if (($_[0] eq "fmp") && (index($_[1], "fmp") >= 0)) {return 1;}
if (($_[0] eq "fr") && (index($_[1], "frame_relay") >= 0)) {return 1;} if (($_[0] eq "fr") && (index($_[1], "frame_relay") >= 0)) {return 1;}
if (($_[0] eq "lustre") && (index($_[1], "lustre_") >= 0)) {return 1;}
if (($_[0] eq "mac") && (index($_[1], "macd") >= 0)) {return 1;} if (($_[0] eq "mac") && (index($_[1], "macd") >= 0)) {return 1;}
if (($_[0] eq "mac") && (index($_[1], "macis") >= 0)) {return 1;} if (($_[0] eq "mac") && (index($_[1], "macis") >= 0)) {return 1;}
if (($_[0] eq "mih") && (index($_[1], "mihf") >= 0)) {return 1;} if (($_[0] eq "mih") && (index($_[1], "mihf") >= 0)) {return 1;}