On Sun, Jul 15, 2012 at 08:47:44AM -1000, Nicholas Bastin wrote:
> On Sat, Jul 14, 2012 at 9:53 PM, Isaku Yamahata <yamah...@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.. :-)

Thank you for the info. It's very understandable and very helpful.
Regarding to C++ usage, I will talk with wireshark guys anyway.

The first step would be to merge esteve's  OF1.2 support into
ng-of-dissector tree.
Any chance to merge https://github.com/CPqD/ofdissector into
https://bitbucket.org/barnstorm/ng-of-dissector ?
If you're busy, I would just fork/maintain it for a while until C-conversion.
-- 
yamahata
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to