Hello Diana, It seems that your suggestion was spot on. The packet_openflow.c was using the wrong function call not compatible with the latest Wireshark version. Even though they changed some lines from the tar package to the git version, it seems there are still some changes missing.
Thank you, Heming ________________________________________ From: Diana Marosin [marosin.di...@gmail.com] Sent: April 30, 2012 18:22 To: Heming Wen Cc: openflow-discuss@lists.stanford.edu; rwh...@i-a-i.com Subject: Re: [openflow-discuss] Openflow wireshark dissector not recognized I am not sure if this is your problem, but here is how I did it and worked for me (got also the problem with the path, but just moved it manualy to the correct location) and another error that I believe is the one described by Heming. Hope this will help, Diana Wireshark and some dependencies: sudo apt-get install wireshark libgtk2.0-dev sudo apt-get install git-core automake m4 pkg-config libtool Dissector: git clone git://openflow.org/openflow.git<http://openflow.org/openflow.git> cd openflow ./boot.sh ./configure make sudo make install cd utilities/wireshark_dissectors/openflow make sudo make install Not appearing in Wireshark → About → Plugin copy the packet-openflow.so file in the location of the libraries cp file destination_path for me it is /usr/lib/wireshark/libwireshark1/plugins Wireshark will not recognize the plugin: Edit file “packet-openflow.c” , recompile, redo the step above add: #define NO_STRINGS NULL edit: void proto_reg_handoff_openflow() { openflow_handle = create_dissector_handle(dissect_openflow, proto_openflow); //dissector_add(TCP_PORT_FILTER, global_openflow_proto, openflow_handle); dissector_add_uint(TCP_PORT_FILTER, global_openflow_proto, openflow_handle); } On Mon, Apr 30, 2012 at 11:17 PM, Heming Wen <heming....@mail.mcgill.ca<mailto:heming....@mail.mcgill.ca>> wrote: Hi Ryan and Rob, I have the same problem regarding the Wireshark dissector. At first, I have the same problem as Ryan regarding a message "'of' is neither a field nor a protocol name." It turned out I installed under root. However, when I tried re-installing it as regular user, I get the message: "undefined symbol: dissector_add". This time, according to an older thread, it was because I was using the tar file instead of pulling directly from the git repository. From the other post, it seems that a dissector modified for a more recent version of wireshark is in the git version of openflow. However, now I have trouble "uninstalling" the old dissector. I am not sure how to remove the plugin dissector. I deleted the plugin and re-installed wireshark. However, even with the new "packet_openflow.so", I still get the error: "undefined symbol: dissector_add". On top of that, no matter what user I am using, the package is always installed under /var/ instead of /user/.wireshark/plugins. I can't seem to find how to manually install it to the correct path. How do we remove the dissector plugin? I think the old dissector is still interfering with the current installation I have. In addition, how do we manually define the installation path? We don't need to recompile Wireshark? Thank you, Heming _______________________________________________ openflow-discuss mailing list openflow-discuss@lists.stanford.edu<mailto:openflow-discuss@lists.stanford.edu> https://mailman.stanford.edu/mailman/listinfo/openflow-discuss _______________________________________________ openflow-discuss mailing list openflow-discuss@lists.stanford.edu https://mailman.stanford.edu/mailman/listinfo/openflow-discuss