Table of Contents
Change Log
Version 0.2 (work-in-progress)
- Expressions: supported new functions
hasstring()andextractstring()and added the possibility to support other functions - Expressions: added the possibility to specify a ”
0” size when the[startat:size]operator is used for variables, fields, packetbuffer, etc. - Expressions: matching can be done through regular expressions (see
hasstring()andextractstring()functions) - Expressions: new notation for hexadecimal strings (the ”
#” character is no longer a marker) - Switch element supports a case-sensitive / case insensitive match (only for string-based matches)
<protoref>has been renamed in<nextproto><nextproto>and<nextproto-candidate>supports only expressions (the attributenameis no longer used)<text>element (within the Visualization Extension) has a new optional attribute (when)- value
hidevalof attributeshowtype(the<showtemplate>element) is no longer supported - Fields can be nested (i.e. the
<field>element can contain other<field>elements) - Fields can be defined through regular expressions (the
tokenendedandtokenwrappedfield types) <assign>element is no longer supported and it has been replaced by<assign-variable>,<assign-lookuptable>and<update-lookuptable>.- Code has been moved to the new
<execute-code>section. This section allows executing custom code at initialization time, before and after processing the protocol headers. Finally, the<verify>section contains some code that can be used to verify the correctness of that protocol. - Variables must be declared expressly in the
<execute-code>section. - Support for lookup tables has been introduced.
- Variables are typed; four data types have been defined.
- Added support for
floatanddoublefields in visualization extension. - The new
<format>element has been defined for better organization of the NetPDL file - No visualization attributes (apart from ”
showtemplate” and ”showsumtemplate”) are inserted in the definition of NetPDL fields, for better separation between the protocol definition and the visualization extensions - Visualization primitives are mostly defined within the new
<visualization>section of the NetPDL file - Field have been inglobated within the same
<field>element, which supports atypequalifier for defining the field type (fixed length, variable length, etc) - Field
<masked>has been deleted; now bit fields are standard fields;<field type=“bit” …>has been introduced - A new type of field has been introduced: the
tokenwrapped - Some element (such as
<loop>,<if>,<presentif>) now have a new attribute for the required expression - Alement
<if>now must have the new child elements<if-true>and<if-false> - Some of the elements allowed in the
<showdtl>and<showsumtemplate>elements changed their name <block>elements are now supported also within the field list, although they can still be included through the<includeblk>element<loop>element changed its syntax (the<looptype>child element is no longer defined)- element
<protoref>does not longer have any expression; instead, it is used inside<if>and<switch>-<case>elements - Elements
<startproto>and<defaultproto>have been deleted; they have been replaced by standard protocols with a predefined name (startprotoanddefaultproto) - Expressions have been completely rewritten, using an infix notation (instead of the previous XML-based one)
- The
packetglobal variable has been introduced - Expressions are no longer supported in
<case>elements; a new element (<default>) has been defined for the default branch; the number of supported attributes changed and most of the time they have child elements tempfields are no longer available- Some visualization elements/attributes changed their name (e.g.
pdmlfield==>protofield, …) - Some attributes changed in the PDML format (e.g.
show==>showvalue)