This is a static archive of our old Q&A Site. Please post any new questions and answers at

Add existing dissector to decode as list



I want to add the dissector iwarp-mpa to the decode as list of tcp using lua script. iwarp-mpa is not a registered dissector, so I can't just use local dis = Dissector.get("iwarp_mpa") and add it to tcp dissector table.

Is there any other way to add it to the decode as list of tcp using lua script?


asked 18 Apr '16, 04:36

user1095's gravatar image

accept rate: 0%


Sorry, I've missed that iwarp_mpa is an existing dissector. So use

local t = Dissector.list()

for _,name in ipairs(t) do print(name) end

to find its actual name to be used in Dissector.get (and run tshark so that you could see the output).

(18 Apr ‘16, 06:18) sindy

One Answer:


The iwarp_mpa dissector isn't register by name so it's not going to show up in that list (I don't think). It's a heuristic dissector, though, so it should automatically be called--assuming it's over TCP and no other dissector claims the traffic.

Are you trying to do this because you've got iwarp-mpa over something other than TCP? I don't know if there's a way try calling a heuristic dissector from Lua but even if there was I don't think you could call a specific one.

Typically in this situation people open an enhancement request to have the dissector register itself by name.

answered 19 Apr '16, 14:07

JeffMorriss's gravatar image

JeffMorriss ♦
accept rate: 27%

Looks like bug 12361 was opened.

(21 Apr '16, 10:40) JeffMorriss ♦

Oh, and please be sure to accept the answer (by clicking on the checkmark) so this question no longer shows up as being unanswered.

(21 Apr '16, 10:47) JeffMorriss ♦

I need it because the heuristic rule doesn't always work. I solved it be writting a dissector for mpa fpdu using lua. Thanks!

(26 Apr '16, 05:23) user1095