trafgen: proto: Add IPv6 header generation
commitc09e06a6efaa94768660636a9c58ce9666e29d05
authorTobias Klauser <tklauser@distanz.ch>
Fri, 22 Apr 2016 14:55:31 +0000 (22 16:55 +0200)
committerTobias Klauser <tklauser@distanz.ch>
Mon, 25 Apr 2016 15:56:34 +0000 (25 17:56 +0200)
treea41455899d30c7a8de30fdc9eb917702d9769975
parent0cf15c320f9211d59b055157c895537e4b682a07
trafgen: proto: Add IPv6 header generation

Support for generating simple IPv6 headers using the 'ip6()/ipv6()'
trafgen generation function.

Fields supported:

  ver|version      Version (default: 6)
  tc|tclass        Traffic class (default: 0)
  fl|flow          Flow Label (default: 0)
  len|length       Payload length (calculated by default)
  nh|nexthdr       Type of next header (default: 0)
  hl|hoplimit|ttl  Hop Limit, TTL (default: 0)
  sa|saddr         Source IPv6 address (default: device address)
  da|daddr         Destination IPv6 address (default: 0:0:0:0:0:0:0:0)

Examples:

  { eth(), ipv6(daddr=1:2:3:4:5:6:7:8) }
  { ipv6(tc=2, hl=3, daddr=::1) }
  { eth(), ipv6(nh=58, sa=2001:db8::, da=::1), 128, 0, 0x52, 0x03, 0, 0, 0, 0 }

If not explicitely specified, the lower header is initialized as Ethernet.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
trafgen.8
trafgen_l3.c
trafgen_l3.h
trafgen_l4.c
trafgen_lexer.l
trafgen_parser.y
trafgen_proto.c
trafgen_proto.h