|
MoonGen
|
Internet protocol (v6) utility. More...
Go to the source code of this file.
Functions | |
| function ip6Addr | get () |
| Retrieve the IPv6 address. More... | |
| function ip6Addr | set (addr) |
| Set the IPv6 address. More... | |
| function ip6Addr | setString (ip) |
| Set the IPv6 address. More... | |
| function ip6Addr | __eq (lhs, rhs) |
| Test equality of two IPv6 addresses. More... | |
| function ip6Addr | __add (lhs, rhs) |
| Add a number to an IPv6 address. More... | |
| function ip6Addr | add (val) |
| Add a number to an IPv6 address in-place. More... | |
| function ip6Addr | __sub (val) |
| Subtract a number from an IPv6 address. More... | |
| function ip6Addr | getString (doByteSwap) |
| Retrieve the string representation of an IPv6 address. More... | |
| function ip6Header | setVersion (int) |
| Set the version. More... | |
| function ip6Header | getVersion () |
| Retrieve the version. More... | |
| function ip6Header | getVersionString () |
| Retrieve the version. More... | |
| function ip6Header | setTrafficClass (int) |
| Set the traffic class. More... | |
| function ip6Header | getTrafficClass () |
| Retrieve the traffic class. More... | |
| function ip6Header | getTrafficClassString () |
| Retrieve the traffic class. More... | |
| function ip6Header | setFlowLabel (int) |
| Set the flow label. More... | |
| function ip6Header | getFlowLabel () |
| Retrieve the flow label. More... | |
| function ip6Header | getFlowLabelString () |
| Retrieve the flow label. More... | |
| function ip6Header | setLength (int) |
| Set the payload length. More... | |
| function ip6Header | getLength () |
| Retrieve the length. More... | |
| function ip6Header | getLengthString () |
| Retrieve the length. More... | |
| function ip6Header | setNextHeader (int) |
| Set the next header. More... | |
| function ip6Header | getNextHeader () |
| Retrieve the next header. More... | |
| function ip6Header | getNextHeaderString () |
| Retrieve the next header. More... | |
| function ip6Header | setTTL (int) |
| Set the time-to-live (TTL). More... | |
| function ip6Header | getTTL () |
| Retrieve the time-to-live. More... | |
| function ip6Header | getTTLString () |
| Retrieve the time-to-live. More... | |
| function ip6Header | setDst (addr) |
| Set the destination address. More... | |
| function ip6Header | getDst () |
| Retrieve the IP6 destination address. More... | |
| function ip6Header | setSrc (addr) |
| Set the source address. More... | |
| function ip6Header | getSrc () |
| Retrieve the IP6 source address. More... | |
| function ip6Header | setDstString (str) |
| Set the destination address. More... | |
| function ip6Header | getDstString () |
| Retrieve the IP6 destination address. More... | |
| function ip6Header | setSrcString (str) |
| Set the source address. More... | |
| function ip6Header | getSrcString () |
| Retrieve the IP6 source address. More... | |
| function ip6Header | fill (args, pre) |
| Set all members of the ip6 header. More... | |
| function ip6Header | get (pre) |
| Retrieve the values of all members. More... | |
| function ip6Header | getString () |
| Retrieve the values of all members. More... | |
| function ip6Header | resolveNextHeader () |
| Resolve which header comes after this one (in a packet). More... | |
| function ip6Header | setDefaultNamedArgs (pre, namedArgs, nextHeader, accumulatedLength) |
| Change the default values for namedArguments (for fill/get). More... | |
Variables | |
| local | ip6 = {} |
| IP6 protocol constants. | |
| ip6 | PROTO_TCP = 0x06 |
| NextHeader field value for Tcp. | |
| ip6 | PROTO_UDP = 0x11 |
| NextHeader field value for Udp. | |
| ip6 | PROTO_ICMP = 0x3a |
| NextHeader field value for Icmp. | |
| local | ip6Addr = {} |
| Module for ip6_address struct (see headers.lua). | |
| local | ip6Header = {} |
| Module for ip6_header struct (see headers.lua). | |
| pkt | getIP6Packet = packetCreate("eth", "ip6") |
| Cast the packet to an IP6 packet. | |
Internet protocol (v6) utility.
Utility functions for the ip6_address and ip6_header structs defined in headers.lua .
Includes:
Definition in file ip6.lua.
| function ip6Addr __add | ( | lhs | , |
| rhs | |||
| ) |
Add a number to an IPv6 address.
Max. 64bit, commutative.
| lhs | Address in 'union ip6_address' format. |
| rhs | Number to add (64 bit integer). |
| function ip6Addr __eq | ( | lhs | , |
| rhs | |||
| ) |
Test equality of two IPv6 addresses.
| lhs | Address in 'union ip6_address' format. |
| rhs | Address in 'union ip6_address' format. |
| function ip6Addr __sub | ( | val | ) |
Subtract a number from an IPv6 address.
Max. 64 bit.
| val | Number to substract (64 bit integer). |
| function ip6Addr add | ( | val | ) |
Add a number to an IPv6 address in-place.
Max 64 bit.
| val | Number to add (64 bit integer). |
| function ip6Header fill | ( | args | , |
| pre | |||
| ) |
Set all members of the ip6 header.
Per default, all members are set to default values specified in the respective set function. Optional named arguments can be used to set a member to a user-provided value.
| args | Table of named arguments. Available arguments: ip6Version, ip6TrafficClass, ip6FlowLabel, ip6Length, ip6NextHeader, ip6TTL, ip6Src, ip6Dst |
| pre | prefix for namedArgs. Default 'ip6'. |
| function ip6Addr get | ( | ) |
Retrieve the IPv6 address.
| function ip6Header get | ( | pre | ) |
| function ip6Header getDst | ( | ) |
Retrieve the IP6 destination address.
| function ip6Header getDstString | ( | ) |
Retrieve the IP6 destination address.
| function ip6Header getFlowLabel | ( | ) |
Retrieve the flow label.
| function ip6Header getFlowLabelString | ( | ) |
Retrieve the flow label.
| function ip6Header getLength | ( | ) |
Retrieve the length.
| function ip6Header getLengthString | ( | ) |
Retrieve the length.
| function ip6Header getNextHeader | ( | ) |
Retrieve the next header.
| function ip6Header getNextHeaderString | ( | ) |
Retrieve the next header.
| function ip6Header getSrc | ( | ) |
Retrieve the IP6 source address.
| function ip6Header getSrcString | ( | ) |
Retrieve the IP6 source address.
| function ip6Addr getString | ( | doByteSwap | ) |
Retrieve the string representation of an IPv6 address.
Assumes 'union ip6_address' is in network byteorder.
| doByteSwap | Optional change the byteorder of the ip6 address before returning the string representation. |
| function ip6Header getString | ( | ) |
Retrieve the values of all members.
| function ip6Header getTrafficClass | ( | ) |
Retrieve the traffic class.
| function ip6Header getTrafficClassString | ( | ) |
Retrieve the traffic class.
| function ip6Header getTTL | ( | ) |
Retrieve the time-to-live.
| function ip6Header getTTLString | ( | ) |
Retrieve the time-to-live.
| function ip6Header getVersion | ( | ) |
Retrieve the version.
| function ip6Header getVersionString | ( | ) |
Retrieve the version.
| function ip6Header resolveNextHeader | ( | ) |
Resolve which header comes after this one (in a packet).
For instance: in tcp/udp based on the ports. This function must exist and is only used when get/dump is executed on an unknown (mbuf not yet casted to e.g. tcpv6 packet) packet (mbuf)
| function ip6Addr set | ( | addr | ) |
Set the IPv6 address.
| addr | Address in 'union ip6_address' format. |
| function ip6Header setDefaultNamedArgs | ( | pre | , |
| namedArgs | , | ||
| nextHeader | , | ||
| accumulatedLength | |||
| ) |
Change the default values for namedArguments (for fill/get).
This can be used to for instance calculate a length value based on the total packet length. See proto/ip4.setDefaultNamedArgs as an example. This function must exist and is only used by packet.fill.
| pre | The prefix used for the namedArgs, e.g. 'ip6' |
| namedArgs | Table of named arguments (see See Also) |
| nextHeader | The header following after this header in a packet |
| accumulatedLength | The so far accumulated length for previous headers in a packet |
| function ip6Header setDst | ( | addr | ) |
Set the destination address.
| addr | Address in 'union ip6_address' format. |
| function ip6Header setDstString | ( | str | ) |
Set the destination address.
| str | Address in string format. |
| function ip6Header setFlowLabel | ( | int | ) |
Set the flow label.
| int | Flow label of the ip6 header as 20 bit integer. |
| function ip6Header setLength | ( | int | ) |
Set the payload length.
| int | Length of the ip6 header payload (hence, excluding l2 and l3 headers). 16 bit integer. |
| function ip6Header setNextHeader | ( | int | ) |
Set the next header.
| int | Next header of the ip6 header as 8 bit integer. |
| function ip6Header setSrc | ( | addr | ) |
Set the source address.
| addr | Address in 'union ip6_address' format. |
| function ip6Header setSrcString | ( | str | ) |
Set the source address.
| str | Address in string format. |
| function ip6Header setTrafficClass | ( | int | ) |
Set the traffic class.
| int | Traffic class of the ip6 header as 8 bit integer. |
| function ip6Header setTTL | ( | int | ) |
Set the time-to-live (TTL).
| int | TTL of the ip6 header as 8 bit integer. |
| function ip6Header setVersion | ( | int | ) |
Set the version.
| int | IP6 header version as 4 bit integer. Should always be '6'. |