diff options
author | Tobias Klauser <tklauser@distanz.ch> | 2016-04-25 17:56:51 +0200 |
---|---|---|
committer | Tobias Klauser <tklauser@distanz.ch> | 2016-04-25 18:06:08 +0200 |
commit | 77d5cae4d45d1def8f41d4e89b705d2953858643 (patch) | |
tree | fb07be4ac5a8459808887b7447c0572cbceb7272 /trafgen_lexer.l | |
parent | c09e06a6efaa94768660636a9c58ce9666e29d05 (diff) |
trafgen: proto: Add ICMPv6 header generation
Support for generating simple ICMPv6 headers using the 'icmp6()/icmpv6()'
trafgen generation function.
Fields supported:
mtype Message type (default: 0)
Supported keywords: echorequest, echoreply
code Code (default: 0)
csum Message checksum (calculated by default)
Examples:
{ eth(), ipv6(daddr=::1), icmpv6(echorequest), 42, 42, 0, 0 }'
If not explicitely specified, the lower header is initialized as Ethernet.
Suggested-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Diffstat (limited to 'trafgen_lexer.l')
-rw-r--r-- | trafgen_lexer.l | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/trafgen_lexer.l b/trafgen_lexer.l index a093ac1..eb438a8 100644 --- a/trafgen_lexer.l +++ b/trafgen_lexer.l @@ -161,6 +161,12 @@ ip6_addr (({a_hex}?:)?({a_hex}?:)?({a_hex}?:)?({a_hex}?:)?({a_hex}?:)?({a_hex}?: "nh"|"nexthdr" { return K_NEXT_HDR; } "hl"|"hoplimit" { return K_HOP_LIMIT; } + /* ICMPv6 */ +"mtype" { return K_MTYPE; } +"code" { return K_CODE; } +"echorequest" { return K_ECHO_REQUEST; } +"echoreply" { return K_ECHO_REPLY; } + /* UDP */ "sp"|"sport" { return K_SPORT; } "dp"|"dport" { return K_DPORT; } @@ -186,6 +192,7 @@ ip6_addr (({a_hex}?:)?({a_hex}?:)?({a_hex}?:)?({a_hex}?:)?({a_hex}?:)?({a_hex}?: "arp" { return K_ARP; } "ip4"|"ipv4" { return K_IP4; } "ip6"|"ipv6" { return K_IP6; } +"icmp6"|"icmpv6" { return K_ICMP6; } "udp" { return K_UDP; } "tcp" { return K_TCP; } |