Wireshark-dev: Re: [Wireshark-dev] Building OpenFlow 1.0 dissector for Wireshark 1.10.0 on Ubun
From: Sebastien Tandel <sebastien.tandel@xxxxxxxxx>
Date: Wed, 10 Jul 2013 19:12:22 -0300
Hi!

OpenFlow is yet an "experimental" protocol with frequent changes. Almost one spec release every 6 months. Although this rhythm might change because it is evident vendors are not updating their hw at that pace. Reason why today most vendors are supporting 1.0 and some 1.3

It's been (kind of) decided to maintain a few years ago (not been involved in that decision) that it would be easier to develop the dissector as a plugin. (And also was/is probably not clean for including it in ws distribution)

It might be though a good idea to clean it up and think to a strategy to handle the rather frequent changes in the spec and as such in the dissector code.



Regards,
Sebastien Tandel

Sent from my iPhone

On 10 juil. 2013, at 18:45, Anders Broman <a.broman@xxxxxxxxxxxx> wrote:

Hi,
That plugin has newer been offered to Wireshark and we have no knowledge of it. Any questions should
be directed to whoever wrote it.
BTW I planning to do a OpenFlow dissector in C. If you could share any traces of OpenFlow v 1.3 that would help.
Regards
Anders

Phiho Hoang skrev 2013-07-10 23:18:
Greetings,

Wireshark 1.10.0 was built from source on Ubuntu 13.04, (with gcc 4.7.3)

OpenFlow 1.0 dissector was also built from source using scons with this modification in 'Sconstruct' (copied from Sconstruct under Ubuntu 12.04):

# env = Environment(LINKFLAGS = '-flat_namespace')
env = Environment()

to work around this error:

$ scons install
...
scons: Building targets ...
gcc -o openflow.so -flat_namespace -shared packet-openflow.os plugin.os -L/usr/lib -L/usr/local/lib
gcc: error: unrecognized command line option '-flat_namespace'
scons: *** [openflow.so] Error 1
...

Would this '-flat_namespace' be required for the plugin to work properly on Ubuntu 13.04?

The share library 'openflow.so' was copied to '/usr/local/lib/wireshark/plugins/1.10.0/
The 'openflow.so' plugin does not show up in the About dialog box.

The modification to 'packet-openflow.c' was carried out as instructed here:

1/- Adding:

#define NO_STRINGS NULL

2/- Changing dissector_add() to dissector_add_uint() here:

void proto_reg_handoff_openflow()
{
    openflow_handle = create_dissector_handle(dissect_openflow, proto_openflow);
    dissector_add_uint(TCP_PORT_FILTER, global_openflow_proto, openflow_handle);
}

Did I miss something?

Thanks for your help.

Regards,

PhiHo



___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe

___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
            mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe