diff --git a/draft-tuexen-opsawg-pcapng.xml b/draft-tuexen-opsawg-pcapng.xml index 7cceaa0..bed806a 100644 --- a/draft-tuexen-opsawg-pcapng.xml +++ b/draft-tuexen-opsawg-pcapng.xml @@ -145,10 +145,11 @@ Section Header Block Interface Description Block - Interface Statistics Block + Interface Statistics Block Enhanced Packet Block Simple Packet Block - Name Resolution Block + Name Resolution Block + Capture Information Block Custom Block @@ -267,6 +268,11 @@ capture has been made. If this appears in a file, an Interface Description Block is also required, before this block. + Capture Information Block: it + defines how to store some capture information (such as location, + orientation, velocity and associated errors, as well as rf frequencies + and channels) + Custom Block: it contains vendor-specific data in a portable fashion. @@ -1269,6 +1275,11 @@ Section Header 4 8 no + + epb_cib + 4 + 4 + no @@ -1306,6 +1317,10 @@ Section Header Example: '0'. + The epb_cib + option indicates the Capture Information Block ID to be associated + with this packet, allowing the addition of capture related metadata. + @@ -1828,6 +1843,168 @@ Section Header +
+ + The Capture Information Block (CIB) is used to support the addition + of metadata associated with capture interfaces or packets, including + location, orientation, velocity and related errors, as well as wireless + channel and medium options. + This block can be associated with a specific interface and applied to all + packets received on this interface, or to (a) specific packet(s). + If applied to an interface, this block effects all capture blocks following + until it is superseded by a new CIB applied to the same interface. + + + + Tools that write / read the capture file associate an incrementing 32-bit + number (starting from '0') to each Capture Information Block, called + the CIB ID for the CIB in question. This number is unique within each Section + and identifies the CIB that is referred to in an epb_cip option; it is only + unique inside the current section, so, two Sections can have different + CIBs identified by the same CIB ID values. This unique identifier + is referenced by other blocks, such as Enhanced Packet Blocks, to indicate the + CIB to which the block refers. + + + The format of the Capture Information Block is shown in . + +
+ + 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +---------------------------------------------------------------+ + 0 | Block Type = 0x00000006 | + +---------------------------------------------------------------+ + 4 | Block Total Length | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + 8 / / + / Options (variable) / + / / + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Block Total Length | + +---------------------------------------------------------------+ + +
+ The fields have the following meaning: + + + Block Type: The block type of the Capture Information Block is + 6. + + Block Total Length: total size of this block, as described in + . + + Options: optionally, a list of options (formatted according to + the rules defined in ) can be present. + + + + + All the statistic fields are defined as options in order to deal + with systems that do not have a complete set of statistics. Therefore, + In addition to the options defined in , + the following options are valid within this block: + + + Name + Code + Length + Multiple allowed? + + interface_id + 1 + 4 + no + + global_location + 2 + 12 + no + + global_location_error + 3 + 12 + no + + orientation + 4 + 12 + no + + orientation_error + 5 + 12 + no + + velocity + 6 + 12 + no + + velocity_error + 7 + 12 + no + + + + + + The + interface_id option specifies the interface these statistics refers + to; the correct interface will be the one whose Interface + Description Block (within the current Section of the file) is + identified by same number (see ) of + this field. + + The + cib_global_location option specifies the location of the packet + capture or interface; location is stored as three 32-bit floats + representing latitude and longitude in degrees, and altitude in + metres. + + Example: TODO + + The + global_location_error option specifies the error in location capture, + this is stored as three 32-bit floats in the same order and + representation as cib_location + + Example: TODO + + The + cib_orientation option specifies the location of the packet + capture or interface; location is stored as three 32-bit floats + representing yaw, pitch, and roll in radians. + + Example: TODO + + The + orientation_error option specifies the error in orientation capture, + this is stored as three 32-bit floats in the same order and + representation as cib_orientation + + Example: TODO + + The + cib_velocity option specifies the location of the packet + capture or interface; location is stored as three 32-bit floats + representing yaw, pitch, and roll in radians. + + Example: TODO + + The + cib_velocity_error option specifies the error in velocity capture, + this is stored as three 32-bit floats in the same order and + representation as cib_velocity + + Example: TODO + + + + +