summaryrefslogtreecommitdiff
path: root/trafgen_l3.h
diff options
context:
space:
mode:
authorVadim Kochan <vadim4j@gmail.com>2016-01-29 00:06:24 +0200
committerTobias Klauser <tklauser@distanz.ch>2016-01-29 08:57:35 +0100
commitbaf47305fabce02017642b0f43472ab5a4eaa533 (patch)
tree627bac0bfb69d207dd44aa952428c56551148819 /trafgen_l3.h
parent6b845387e5bf5f2b7c584900c87ac41daa1acf36 (diff)
trafgen: l3: Add IPv4 header generation backend
Add L3 module for implement L3 layer protocols generation. Implemented setting of IPv4 header with all fields except options. By default IPv4 address of output device is used as src ip address. On finish (after packet is specified) - total len & checksum are calculated. Meanwhile Ethernet protocol is initialized as default lower header. If the lower protocol is IPv4 then IPv4 protocol id is set to IP-in-IP in lower protocol header. Signed-off-by: Vadim Kochan <vadim4j@gmail.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Diffstat (limited to 'trafgen_l3.h')
-rw-r--r--trafgen_l3.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/trafgen_l3.h b/trafgen_l3.h
new file mode 100644
index 0000000..9427378
--- /dev/null
+++ b/trafgen_l3.h
@@ -0,0 +1,25 @@
+#ifndef TRAFGEN_L3_H
+#define TRAFGEN_L3_H
+
+enum ip4_field {
+ IP4_VER,
+ IP4_IHL,
+ IP4_DSCP,
+ IP4_ECN,
+ IP4_TOS,
+ IP4_LEN,
+ IP4_ID,
+ IP4_FLAGS,
+ IP4_FRAG_OFFS,
+ IP4_TTL,
+ IP4_PROTO,
+ IP4_CSUM,
+ IP4_SADDR,
+ IP4_DADDR,
+ IP4_DF,
+ IP4_MF,
+};
+
+extern void protos_l3_init(void);
+
+#endif /* TRAFGEN_L2_H */