[ovs-discuss] Is anyone working on OF12+ dissector and upstreaming?

Nicholas Bastin nick.bastin at gmail.com
Sun Jul 15 18:47:44 UTC 2012


On Sat, Jul 14, 2012 at 9:53 PM, Isaku Yamahata <yamahata at valinux.co.jp> wrote:
>   https://bitbucket.org/barnstorm/of-dissector
>   https://bitbucket.org/barnstorm/ng-of-dissector
>
> The first one supports only OF1.0 which is written in C.

That is the original dissector from the Stanford Reference
Implementation, but extracted from that original source and updated
for new wiresharks, build system that works (easier) with windows,
MacOS X, etc.

> The ng(next generation one) supports OF1.[012], but the code seems
> to effectively support only OF1.1. It is written in C++.
> I'm a bit worried that C++ usage of ng-of-dissector because wireshark
> uses C, not C++. So it might be a blocker for upstream merging.
> I'm not sure if wireshark would accept C++ or not, though.

Last I checked, C++ was a blocker for being accepted into the upstream
code base.  (I have no motivation for this to be accepted into the
upstream base - maybe if there were more external dissectors someone
would be motivated to fix the horrible API and build dependency issues
for wireshark dissectors).  The upside of the C++ framework I've built
around the wireshark "API" is the elimination of a lot of duplicated
code that is required if you build dissectors with the common C
pattern.  You could have done this in C as well of course, but it
would have been nastier (not that it's all that pretty now, but at
least it mostly avoids using macros).

The 1.1 dissector is incomplete, but largely functional, and the
1.2/1.0 portions of the -ng dissector only exist such that you can
have OF 1.0/1.1/1.2 messages in the same trace appropriately
identified as such.  I work on it in my spare time, but my spare time
has been in short supply lately.. :-)

--
Nick



More information about the discuss mailing list