Add ETI/EOBI order flow/market data dissectors

The Enhanced Trading Interface (ETI) protocol and the Enhanced
Order Book Interface (EOBI) protocol are used by a few European
exchanges such as Eurex, Xetra and Börse Frankfurt.

Basically, a trader uses ETI to communicate with a matching
engine (over TCP), e.g. to add a new order, modify an existing
one, etc. while the matching engine also publicizes the current
state of the order book via EOBI over multicast UDP feeds.

ETI actually consists of two variants, i.e. ETI for derivatives
markets (such as Eurex) and ETI for cash markets (such as Xetra).
A common convention is to abbreviate them as ETI (for
derivatives) and XTI (for cash).

These protocols share the same encoding, i.e. messages start with
a length and a tag field and most messages and fields are fixed
size. See also
https://github.com/gsauthof/python-eti#protocol-introduction for
some more details.

The protocol specifications are openly available (cf.
https://github.com/gsauthof/python-eti#protocol-descriptions for
direct links) in human and machine-readable (XML) formats.

The Wireshark ETI/XTI/EOBI dissectors are code-generated by
`eti2wireshark.py`
(https://github.com/gsauthof/python-eti/blob/master/eti2wireshark.py)
which is GPL licensed. See also
https://github.com/gsauthof/python-eti#wireshark-protocol-dissectors
for usage examples and related work.
This commit is contained in:
Georg Sauthoff 2021-11-17 10:48:27 +01:00 committed by AndersBroman
parent b1d7775579
commit e273006a1d
5 changed files with 31411 additions and 0 deletions

View File

@ -1051,9 +1051,11 @@ set(DISSECTOR_SRC
${CMAKE_CURRENT_SOURCE_DIR}/packet-eth.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-etherip.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-ethertype.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-eti.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-etsi_card_app_toolkit.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-etv.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-etw.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-eobi.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-evrc.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-evs.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-exablaze.c
@ -2002,6 +2004,7 @@ set(DISSECTOR_SRC
${CMAKE_CURRENT_SOURCE_DIR}/packet-xot.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-xra.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-xtp.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-xti.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-xyplex.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-yami.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-yhoo.c

File diff suppressed because it is too large Load Diff

14287
epan/dissectors/packet-eti.c Normal file

File diff suppressed because it is too large Load Diff

11598
epan/dissectors/packet-xti.c Normal file

File diff suppressed because it is too large Load Diff

1164
tools/eti2wireshark.py Executable file

File diff suppressed because it is too large Load Diff