trafgen: Dump proto headers in *.cfg format
commit439af62bca4794d78d53fb4634f560d6a75f0adb
authorVadim Kochan <vadim4j@gmail.com>
Sat, 29 Jul 2017 09:46:09 +0000 (29 12:46 +0300)
committerTobias Klauser <tklauser@distanz.ch>
Thu, 10 Aug 2017 07:03:46 +0000 (10 09:03 +0200)
tree346cc168c42bbe1d7f0eb6bd493d244016172a01
parent19348cec323373d84674c1d2cf34315cbf47c80d
trafgen: Dump proto headers in *.cfg format

Added trafgen_dump.c module which dumps headers from packet
in .cfg format. Packet is dumped if -o <file>.cfg was specified,
it might be useful to specify *.pcap file as input and convert it
into .cfg file to edit proto fields in human readable format.

To make it possible several main changes were added:

    1) packet id is embedded into struct packet.id, and
       it is updated on each realloc_packet()

    2) Added new struct proto_hdr.get_next_proto callback
       to make possible apply fields of next header.

    3) Added new dev_io ops for writting packets into .cfg file,
       to re-use common dev_io mechsnism for packets dumping.

Before dump the default ETH_PROTO fields are applied as first header and
then next proto_hdr is identified via .get_next_proto(...) callback.

Meanwhile only eth, arp, vlan, ip4, udp, & tcp protos can be dissected
into *.cfg format.

Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
13 files changed:
trafgen.8
trafgen.c
trafgen/Makefile
trafgen_conf.h
trafgen_dev.c
trafgen_dev.h
trafgen_dump.c [new file with mode: 0644]
trafgen_dump.h [new file with mode: 0644]
trafgen_l2.c
trafgen_l3.c
trafgen_parser.y
trafgen_proto.c
trafgen_proto.h