Wireshark-bugs: [Wireshark-bugs] [Bug 10070] New: POWERLINK (EPL) dissector; comments on the Syn
Date: Fri, 02 May 2014 18:15:47 +0000
Bug ID | 10070 |
---|---|
Summary | POWERLINK (EPL) dissector; comments on the SyncRequest and SyncResponse display |
Classification | Unclassified |
Product | Wireshark |
Version | Git |
Hardware | x86-64 |
OS | Windows 7 |
Status | UNCONFIRMED |
Severity | Minor |
Priority | Low |
Component | Dissection engine (libwireshark) |
Assignee | bugzilla-admin@wireshark.org |
Reporter | top@hms.se |
Build Information: Version 1.11.4-257-gb5120cd (v1.11.4-rc1-257-gb5120cd from master) Copyright 1998-2014 Gerald Combs <gerald@wireshark.org> and contributors. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiled (64-bit) with GTK+ 2.24.14, with Cairo 1.10.2, with Pango 1.30.1, with GLib 2.34.1, with WinPcap (4_1_3), with libz 1.2.5, with SMI 0.4.8, with c-ares 1.9.1, with Lua 5.2, without Python, with GnuTLS 2.12.18, with Gcrypt 1.4.6, without Kerberos, with GeoIP, with PortAudio V19-devel (built May 1 2014), with AirPcap. Running on 64-bit Windows 7 Service Pack 1, build 7601, with WinPcap version 4.1.3 (packet.dll version 4.1.0.2980), based on libpcap version 1.0 branch 1_0_rel0b (20091008), GnuTLS 2.12.18, Gcrypt 1.4.6, without AirPcap. Intel(R) Core(TM) i7-2640M CPU @ 2.80GHz, with 8073MB of physical memory. Built using Microsoft Visual C++ 10.0 build 40219 Wireshark is Open Source Software released under the GNU General Public License. Check the man page and http://www.wireshark.org for more information. -- Comments about the POWERLINK dissector, specifically the dissection of SoA SyncRequest and ASnd SyncResponse frames. Modification date of epl.c: 2014-04-14 14:47:30. SHA-1: c68769765cae2025e167c811a748e514822e73db Change-Id: I859597ebc957a58f659800ef63318f94e80feabf SyncReq and SyncRes: The sync status field is divided into four byte fields instead of a single 32-bit field, unlike the other 32-bit fields displays in the rest of the EPL dissector (e.g. the "FeatureFlags" field in the IdentResponse dissector). The display is correct and the text specifies that it's a single field divided into four bytes with different bit offsets, but why not display it as a 32-bit bitfield when it's a 32-bit bitfield? SyncReq: The field "SyncControl" is, as noted above, displayed as four single-byte bitfields instead of one 32-bit bitfield. All four bytes are identified as epl.soa.sync however. How will that affect filtering? I don't know if it's intentional or not but the "DestMacAddress" field (identifier epl.soa.adva.end) is displayed without the LG bit and IG bit child nodes used in e.g. the Ethernet header in the "Destination" and "Source" fields (identifiers eth.dst and eth.src) both have the child nodes eth.ig and eth.lg). Suggested change of filter identifier names, both for clarity (these fields are only present in SyncReqest frames, so adding syncreq feels appropriate and matches the SyncResponse identifier naming) and in same cases to avoid name collisions: epl.soa.sync --> epl.soa.syncreq.synccontrol epl.soa.adva --> epl.soa.syncreq.synccontrol.destmacaddressvalid epl.soa.tm --> epl.soa.syncreq.synccontrol.presfallbacktimeoutvalid epl.soa.mnsc --> epl.soa.syncreq.synccontrol.syncmndelaysecondvalid epl.soa.mnft --> epl.soa.syncreq.synccontrol.syncmndelayfirstvalid epl.soa.prsc --> epl.soa.syncreq.synccontrol.prestimesecondvalid --> epl.soa.syncreq.synccontrol.presmodeset epl.soa.prft --> epl.soa.syncreq.synccontrol.prestimefirstvalid --> epl.soa.syncreq.synccontrol.presmodeset epl.soa.prft.end --> epl.soa.syncreq.prestimefirst epl.soa.prsc.end --> epl.soa.syncreq.prestimesecond epl.soa.mnft.end --> epl.soa.syncreq.syncmndelayfirst epl.soa.mnsc.end --> epl.soa.syncreq.syncmndelaysecond epl.soa.tm.end --> epl.soa.syncreq.presfallbacktimeout SyncRes: The field called "SyncStatus" in the specification (EPSG DS 302-C V1.0.0) is called "SyncResponse" here (and, as noted above, it is displayed as four single-byte bitfields instead of one 32-bit bitfield). Additionally all four bytes are identified as epl.asnd.syncresponse.sync. How will that affect filtering? A comment says "/* SyncStatus bit 24 - 31 reserved */". That is not entirely correct - bit 31 is used (and dissected). The field called "SyncNodeNumber" in the specification (EPSG DS 302-C V1.0.0) is called "SyncDelayStation" here. Suggested change of filter identifier names, both for clarity and in same cases to avoid name collisions): epl.asnd.syncresponse.sync --> epl.asnd.syncres.syncstatus epl.asnd.syncresponse.sec.val --> epl.asnd.syncres.syncstatus.prestimesecondvalid epl.asnd.syncresponse.fst.val --> epl.asnd.syncres.syncstatus.prestimefirstvalid epl.asnd.syncresponse.mode --> epl.asnd.syncres.syncstatus.presmodestatus epl.asnd.syncresponse.delay.station --> epl.asnd.syncres.syncnodenumber --> epl.asnd.syncres.syncdelay epl.asnd.syncresponse.pres.fst --> epl.asnd.syncres.prestimefirst epl.asnd.syncresponse.pres.sec --> epl.asnd.syncres.prestimesecond
You are receiving this mail because:
- You are watching all bug changes.
- Follow-Ups:
- Prev by Date: [Wireshark-bugs] [Bug 9123] Improved POWERLINK dissector
- Next by Date: [Wireshark-bugs] [Bug 9123] Improved POWERLINK dissector
- Previous by thread: [Wireshark-bugs] [Bug 9123] Improved POWERLINK dissector
- Next by thread: [Wireshark-bugs] [Bug 10070] POWERLINK (EPL) dissector; comments on the SyncRequest and SyncResponse display
- Index(es):