diff options
author | Tobias Klauser <tklauser@distanz.ch> | 2016-08-09 12:09:23 +0200 |
---|---|---|
committer | Tobias Klauser <tklauser@distanz.ch> | 2016-08-09 13:56:10 +0200 |
commit | 48178cd649b48196e16e0481ca44dea206fe04d4 (patch) | |
tree | 314f976af644cffe639c8c8655dbe294cac7481b /trafgen_proto.h | |
parent | 7c14a23050eed1575a696dd77c4d5d845eab22c9 (diff) |
trafgen: proto: Store registered protocols in an array
Protocols are registered early at startup and aren't changed at runtime.
In order to speed up lookup while parsing, store the pointers to the
protocol definitions (struct proto_hdr) in an array, indexed by protocol
id rather than in a linked list.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Diffstat (limited to 'trafgen_proto.h')
-rw-r--r-- | trafgen_proto.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/trafgen_proto.h b/trafgen_proto.h index f25078a..a66f8d3 100644 --- a/trafgen_proto.h +++ b/trafgen_proto.h @@ -6,7 +6,7 @@ #include <stdbool.h> enum proto_id { - PROTO_NONE, + PROTO_NONE = 0, PROTO_ETH, PROTO_VLAN, PROTO_ARP, @@ -17,6 +17,7 @@ enum proto_id { PROTO_ICMP6, PROTO_UDP, PROTO_TCP, + __PROTO_MAX, }; enum proto_layer { |