Kea: isc::dhcp::TokenPkt6 Class Reference

| Kea 1.5.0

Public Types | Public Member Functions | List of all members
isc::dhcp::TokenPkt6 Class Reference

Token that represents fields of DHCPv6 packet. More...

`#include <token.h>`

Inheritance diagram for isc::dhcp::TokenPkt6:
[legend]

## Public Types
enum | FieldType { MSGTYPE , TRANSID }
| enum value that determines the field. More...

## Public Member Functions
| TokenPkt6 (const FieldType type)
| Constructor (does nothing)
void | evaluate (Pkt &pkt, ValueStack &values)
| Gets a value of the specified packet.
FieldType | getType ()
| Returns field type.
Public Member Functions inherited from isc::dhcp::Token
virtual | ~Token ()
| Virtual destructor.
virtual void | evaluate (Pkt &pkt, ValueStack &values)=0
| This is a generic method for evaluating a packet.

## Additional Inherited Members
Static Public Member Functions inherited from isc::dhcp::Token
static bool | toBool (std::string value)
| Coverts a (string) value to a boolean.

## Detailed Description

Token that represents fields of DHCPv6 packet.

For example in the expression pkt6.msgtype == 1 this token represents the message type of the DHCPv6 packet. The integer values are placed on the value stack as 4 byte strings.

Currently supported fields are:

- msgtype
- transid

Definition at line 489 of file token.h.

## Member Enumeration Documentation

## ◆ FieldType

enum isc::dhcp::TokenPkt6::FieldType

enum value that determines the field.

Enumerator
MSGTYPE | msg type
TRANSID | transaction id (integer but manipulated as a string)

Definition at line 492 of file token.h.

## Constructor & Destructor Documentation

## ◆ TokenPkt6()

isc::dhcp::TokenPkt6::TokenPkt6 | ( | const FieldType | type | ) |
| inline

Constructor (does nothing)

Definition at line 498 of file token.h.

## Member Function Documentation

## ◆ evaluate()

void TokenPkt6::evaluate | ( | Pkt & | pkt,
|  | ValueStack & | values
| ) |  |
| virtual

Gets a value of the specified packet.

The evaluation uses fields that are available in the packet. It does not require any values to be present on the stack.

Exceptions

  EvalTypeError | when called for a DHCPv4 packet

Parameters

  pkt | - packet from which to extract the fields
  values | - stack of values, 1 result will be pushed

Implements isc::dhcp::Token.

Definition at line 351 of file token.cc.

References isc::dhcp::EVAL_DBG_STACK, isc::dhcp::eval_logger, isc::eval::EvalContext::fromUint32(), isc::dhcp::Pkt::getTransid(), isc::dhcp::Pkt6::getType(), isc_throw, LOG_DEBUG, MSGTYPE, and TRANSID.

Here is the call graph for this function:

## ◆ getType()

FieldType isc::dhcp::TokenPkt6::getType | ( |  | ) |
| inline

Returns field type.

This method is used only in tests.

Returns
  type of the field.

Definition at line 516 of file token.h.

The documentation for this class was generated from the following files:

- token.h
- token.cc