From 826a16efdd760930eb2cb21ae80c49a9d7d096f4 Mon Sep 17 00:00:00 2001 From: Vadim Kochan Date: Mon, 1 Feb 2016 19:01:36 +0200 Subject: trafgen: proto: Add set_next_proto callback to struct proto_hdr Add set_next_proto callback to proto_hdr struct to allow lower protocol set next protocol id by enum proto_id. Extended proto_lower_default_add(...) function to take upper protocol to delegate it's id to lower protocol to set next protocol field. Signed-off-by: Vadim Kochan Signed-off-by: Tobias Klauser --- trafgen_proto.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'trafgen_proto.h') diff --git a/trafgen_proto.h b/trafgen_proto.h index 2d74f4c..491e079 100644 --- a/trafgen_proto.h +++ b/trafgen_proto.h @@ -50,6 +50,7 @@ struct proto_hdr { void (*header_init)(struct proto_hdr *hdr); void (*header_finish)(struct proto_hdr *hdr); void (*packet_finish)(struct proto_hdr *hdr); + void (*set_next_proto)(struct proto_hdr *hdr, enum proto_id pid); }; extern void protos_init(const char *dev); @@ -58,7 +59,8 @@ extern void proto_header_register(struct proto_hdr *hdr); extern struct proto_hdr *proto_header_init(enum proto_id pid); extern void proto_header_finish(struct proto_hdr *hdr); extern void proto_packet_finish(void); -extern struct proto_hdr *proto_lower_default_add(enum proto_id pid); +extern struct proto_hdr *proto_lower_default_add(struct proto_hdr *hdr, + enum proto_id pid); extern struct proto_hdr *proto_current_header(void); extern struct proto_hdr *proto_lower_header(struct proto_hdr *hdr); -- cgit v1.2.3-54-g00ecf